// [TypeInfo RVA: 0x0]
public class DisableShadowsOnCamera : MonoBehaviour
{
	public UnityEngine.Camera targetCamera; // 0x20
	public float delay; // 0x28

	// RVA: 0x31FF8B4 VA: 0x78188EA8B4
	public void DisableNow();
	/*
	 *   void *pvVar1;
	 *   ulong uVar2;
	 *   void *this_00;
	 *   undefined8 uVar3;
	 *   long lVar4;
	 *
	 *   pvVar1 = DisableShadowsOnCamera.DisableRoutine(this);
	 *   if (pvVar1 == null) {
	 *     func_0x031fdca0(PTR_DAT_070c9118,0,0);
	 *     this_00 = (void *)func_0x031fdf24();
	 *     pvVar1 = (void *)func_0x031fdca0(PTR_DAT_0714f5c8);
	 *     NullReferenceException..ctor(this_00,pvVar1);
	 *   }
	 *   else {
	 *     uVar2 = UnityEngine.MonoBehaviour.IsObjectMonoBehaviour();
	 *     if ((uVar2 & 1) != 0) {
	 *       if ((bRam000000000755f8f7 & 1) == 0) {
	 *         func_0x031fdc8c(PTR_DAT_0714f590);
	 *         bRam000000000755f8f7 = 1;
	 *       }
	 *       if (this != null) {
	 *         lVar4 = *(long *)&this.field_0x10;
	 *         if (lVar4 == 0) {
	 *           UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(this)
	 *           ;
	 *         }
	 *         if (pcRam000000000755f968 == null) {
	 *           pcRam000000000755f968 = (code *)func_0x031fdc50(&UNK_013604ff);
	 *         }
	 *         (*pcRam000000000755f968)(lVar4,pvVar1);
	 *         return;
	 *       }
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *     func_0x031fdca0(PTR_DAT_070c6fb0);
	 *     this_00 = (void *)func_0x031fdf24();
	 *     pvVar1 = (void *)func_0x031fdca0(PTR_DAT_0714f5b0);
	 *     System.ArgumentException..ctor(this_00,pvVar1);
	 *   }
	 *   uVar3 = func_0x031fdca0(PTR_DAT_0714f5d0);
	 *   IL2CPP.ThrowManagedException();
	 */
	// RVA: 0x31FF940 VA: 0x78188EA940
	private void OnTriggerExit(UnityEngine.Collider other);
	/*
	 *   void *pvVar1;
	 *   ulong uVar2;
	 *   void *this_00;
	 *   undefined8 uVar3;
	 *   long lVar4;
	 *
	 *   pvVar1 = DisableShadowsOnCamera.DisableRoutine(this);
	 *   if (pvVar1 == null) {
	 *     func_0x031fdca0(PTR_DAT_070c9118,0,0);
	 *     this_00 = (void *)func_0x031fdf24();
	 *     pvVar1 = (void *)func_0x031fdca0(PTR_DAT_0714f5c8);
	 *     NullReferenceException..ctor(this_00,pvVar1);
	 *   }
	 *   else {
	 *     uVar2 = UnityEngine.MonoBehaviour.IsObjectMonoBehaviour();
	 *     if ((uVar2 & 1) != 0) {
	 *       if ((bRam000000000755f8f7 & 1) == 0) {
	 *         func_0x031fdc8c(PTR_DAT_0714f590);
	 *         bRam000000000755f8f7 = 1;
	 *       }
	 *       if (this != null) {
	 *         lVar4 = *(long *)&this.field_0x10;
	 *         if (lVar4 == 0) {
	 *           UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(this)
	 *           ;
	 *         }
	 *         if (pcRam000000000755f968 == null) {
	 *           pcRam000000000755f968 = (code *)func_0x031fdc50(&UNK_013604ff);
	 *         }
	 *         (*pcRam000000000755f968)(lVar4,pvVar1);
	 *         return;
	 *       }
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *     func_0x031fdca0(PTR_DAT_070c6fb0);
	 *     this_00 = (void *)func_0x031fdf24();
	 *     pvVar1 = (void *)func_0x031fdca0(PTR_DAT_0714f5b0);
	 *     System.ArgumentException..ctor(this_00,pvVar1);
	 *   }
	 *   uVar3 = func_0x031fdca0(PTR_DAT_0714f5d0);
	 *   IL2CPP.ThrowManagedException();
	 */
	// RVA: 0x31FF8D4 VA: 0x78188EA8D4
	private System.Collections.IEnumerator DisableRoutine();
	/*
	 *   undefined *puVar1;
	 *   void *this_00;
	 *   void *extraout_x1;
	 *
	 *   puVar1 = PTR_DAT_070c0eb0;
	 *   if ((bRam000000000754a780 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c0eb0);
	 *     bRam000000000754a780 = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   this_00 = (void *)func_0x031fdf24(*(undefined8 *)puVar1,methodInfo);
	 *   System.Object..ctor(this_00);
	 *   *(undefined4 *)((long)this_00 + 0x10) = 0;
	 *   *(undefined8 *)((long)this_00 + 0x20) = this;
	 *   func_0x031fdc38((undefined8 *)((long)this_00 + 0x20),this);
	 *   return this_00;
	 */
	// RVA: 0x31FF988 VA: 0x78188EA988
	private bool TrySetUniversalCameraRenderShadows(UnityEngine.Camera cam, bool value);
	/*
	 *   undefined *puVar1;
	 *   bool bVar2;
	 *   long lVar3;
	 *   void *pvVar4;
	 *   long *left;
	 *   void *arg1;
	 *   undefined1 auStack_38 [4];
	 *   undefined1 auStack_34 [4];
	 *
	 *   if ((bRam000000000754a781 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(PTR_DAT_070c0eb8);
	 *     func_0x031fdc8c(PTR_DAT_070c0ec0);
	 *     this = (DisableShadowsOnCamera *)func_0x031fdc8c(PTR_DAT_070c0ec8);
	 *     bRam000000000754a781 = 1;
	 *   }
	 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   if (cam != null) {
	 *     lVar3 = UnityEngine.Component.GetComponent(cam,*(undefined8 *)PTR_DAT_070c0eb8);
	 *     if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *       func_0x031fde08(*(long *)puVar1);
	 *     }
	 *     this = (DisableShadowsOnCamera *)UnityEngine.Object.op_Equality(lVar3,null);
	 *     if (((ulong)this & 1) != 0) {
	 *       return false;
	 *     }
	 *     if (lVar3 != 0) {
	 *       pvVar4 = (void *)System.Object.GetType(lVar3);
	 *       this = null;
	 *       if (pvVar4 != null) {
	 *         left = System.Type.GetProperty(pvVar4,*(void **)PTR_DAT_070c0ec0,0x14);
	 *         bVar2 = System.Reflection.PropertyInfo.op_Equality(left,null);
	 *         puVar1 = PTR_DAT_070c0840;
	 *         if (bVar2) {
	 *           return false;
	 *         }
	 *         auStack_34[0] = value;
	 *         this = (DisableShadowsOnCamera *)
	 *                func_0x031fde10(*(undefined8 *)(PTR_DAT_070c0840 + 0x28),auStack_34);
	 *         if (left != null) {
	 *           (**(code **)(*left + 0x318))(left,lVar3,this,0,*(undefined8 *)(*left + 800));
	 *           auStack_38[0] = value;
	 *           pvVar4 = (void *)func_0x031fde10(*(undefined8 *)(puVar1 + 0x28),auStack_38);
	 *           arg1 = UnityEngine.Object.get_name(cam);
	 *           pvVar4 = System.String.Format(*(void **)PTR_DAT_070c0ec8,pvVar4,arg1);
	 *           if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 + 0xe4) == 0) {
	 *             func_0x031fde08(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
	 *           }
	 *           UnityEngine.Debug.Log(pvVar4);
	 *           return true;
	 *         }
	 *       }
	 *     }
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x31FFB50 VA: 0x78188EAB50
	public void .ctor();
	/*
	 *   undefined *puVar1;
	 *
	 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   if ((bRam000000000755f76f & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8,0);
	 *     bRam000000000755f76f = 1;
	 *   }
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   return;
	 */
}
