// [TypeInfo RVA: 0x0]
public class DistanceBasedLightCulling : MonoBehaviour
{
	public float activationDistance; // 0x20
	public float fadeSpeed; // 0x24
	private UnityEngine.Light myLight; // 0x28
	private UnityEngine.Transform playerCamera; // 0x30
	private float targetIntensity; // 0x38
	private float originalIntensity; // 0x3C

	// RVA: 0x32137D8 VA: 0x78188FE7D8
	private void Start();
	/*
	 *   undefined *puVar1;
	 *   undefined *puVar2;
	 *   void *pvVar3;
	 *   ulong uVar4;
	 *   void *pvVar5;
	 *   void **ppvVar6;
	 *   long lVar7;
	 *   float fVar8;
	 *
	 *   puVar2 = PTR_DAT_070c1cd0;
	 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   if ((bRam000000000754a835 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c1cd0);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(PTR_DAT_070c1cd8);
	 *     func_0x031fdc8c(PTR_DAT_070c1ce0);
	 *     bRam000000000754a835 = 1;
	 *   }
	 *   pvVar3 = (void *)func_0x0373df50(this,*(undefined8 *)puVar2);
	 *   ppvVar6 = &this.myLight;
	 *   *ppvVar6 = pvVar3;
	 *   func_0x031fdc38(ppvVar6,pvVar3);
	 *   pvVar3 = *ppvVar6;
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   uVar4 = UnityEngine.Object.op_Equality(pvVar3,null);
	 *   if ((uVar4 & 1) == 0) {
	 *     if (*ppvVar6 != null) {
	 *       fVar8 = UnityEngine.Light.get_intensity(*ppvVar6);
	 *       this.originalIntensity = fVar8;
	 *       if (this.myLight != null) {
	 *         UnityEngine.Light.set_intensity(this.myLight,0.0);
	 *         pvVar3 = UnityEngine.Camera.get_main();
	 *         pvVar5 = null;
	 *         if (pvVar3 != null) {
	 *           pvVar5 = UnityEngine.Component.get_transform(pvVar3);
	 *         }
	 *         ppvVar6 = &this.playerCamera;
	 *         *ppvVar6 = pvVar5;
	 *         func_0x031fdc38(ppvVar6);
	 *         pvVar3 = *ppvVar6;
	 *         if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         uVar4 = UnityEngine.Object.op_Equality(pvVar3,null);
	 *         if ((uVar4 & 1) == 0) {
	 *           return;
	 *         }
	 *         if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         pvVar3 = *(void **)PTR_DAT_070c1ce0;
	 *         goto LAB_03313984;
	 *       }
	 *     }
	 *   }
	 *   else {
	 *     pvVar3 = UnityEngine.Component.get_gameObject(this);
	 *     if (pvVar3 != null) {
	 *       pvVar3 = UnityEngine.Object.get_name(pvVar3);
	 *       pvVar3 = System.String.Concat(*(void **)PTR_DAT_070c1cd8,pvVar3);
	 *       if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8 + 0xe4) == 0) {
	 *         func_0x031fde08(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Debug_6FC07A8);
	 *       }
	 * LAB_03313984:
	 *       UnityEngine.Debug.LogError(pvVar3);
	 *       if ((bRam000000000755f745 & 1) == 0) {
	 *         func_0x031fdc8c(PTR_DAT_0714f3a0,0,0);
	 *         bRam000000000755f745 = 1;
	 *       }
	 *       if (this != null) {
	 *         lVar7 = *(long *)&this.field_0x10;
	 *         if (lVar7 == 0) {
	 *           UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(this)
	 *           ;
	 *         }
	 *         if (pcRam000000000755f750 == null) {
	 *           pcRam000000000755f750 = (code *)func_0x031fdc50(&UNK_0137c3e0);
	 *         }
	 *         (*pcRam000000000755f750)(lVar7,0);
	 *         return;
	 *       }
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x32139C0 VA: 0x78188FE9C0
	private void Update();
	/*
	 *   undefined *puVar1;
	 *   ulong uVar2;
	 *   void *extraout_x1;
	 *   long lVar3;
	 *   void *pvVar4;
	 *   float fVar5;
	 *   float fVar6;
	 *   float fVar7;
	 *   float fVar8;
	 *   float fVar9;
	 *   UnityEngine_Vector3 UVar10;
	 *   UnityEngine_Vector3 UVar11;
	 *
	 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   if ((bRam000000000754a836 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     bRam000000000754a836 = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   pvVar4 = this.playerCamera;
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08(*(long *)puVar1,methodInfo);
	 *   }
	 *   uVar2 = UnityEngine.Object.op_Equality(pvVar4,null);
	 *   if ((uVar2 & 1) == 0) {
	 *     pvVar4 = UnityEngine.Component.get_transform(this);
	 *     if (pvVar4 != null) {
	 *       UVar10 = UnityEngine.Transform.get_position(pvVar4);
	 *       if (this.playerCamera != null) {
	 *         UVar11 = UnityEngine.Transform.get_position(this.playerCamera);
	 *         if (cRam000000000754a7c9 == '\0') {
	 *           func_0x031fdc8c(typeinfo_ptr_mscorlib_Math_6FC0738);
	 *           cRam000000000754a7c9 = '\x01';
	 *         }
	 *         if (*(int *)(*(long *)typeinfo_ptr_mscorlib_Math_6FC0738 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         fVar5 = UVar10.y - UVar11.y;
	 *         fVar7 = UVar10.x - UVar11.x;
	 *         fVar8 = UVar10.z - UVar11.z;
	 *         fVar6 = 0.0;
	 *         if (SQRT(fVar8 * fVar8 + fVar7 * fVar7 + fVar5 * fVar5) <= this.activationDistance) {
	 *           fVar6 = this.originalIntensity;
	 *         }
	 *         pvVar4 = this.myLight;
	 *         this.targetIntensity = fVar6;
	 *         if (pvVar4 != null) {
	 *           fVar6 = UnityEngine.Light.get_intensity(pvVar4);
	 *           fVar8 = this.targetIntensity;
	 *           fVar9 = this.fadeSpeed;
	 *           fVar5 = UnityEngine.Time.get_deltaTime();
	 *           fVar7 = fVar9 * fVar5;
	 *           fVar5 = -(fVar9 * fVar5);
	 *           if (0.0 <= fVar8 - fVar6) {
	 *             fVar5 = fVar7;
	 *           }
	 *           fVar5 = fVar6 + fVar5;
	 *           if (ABS(fVar8 - fVar6) <= fVar7) {
	 *             fVar5 = fVar8;
	 *           }
	 *           if ((bRam000000000755ea80 & 1) == 0) {
	 *             func_0x031fdc8c(PTR_DAT_0714eab0,0);
	 *             bRam000000000755ea80 = 1;
	 *           }
	 *           if (pvVar4 != null) {
	 *             lVar3 = *(long *)((long)pvVar4 + 0x10);
	 *             if (lVar3 == 0) {
	 *               UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(pvVar4);
	 *             }
	 *             if (pcRam000000000755ead8 == null) {
	 *               pcRam000000000755ead8 = (code *)func_0x031fdc50(&UNK_0137c156);
	 *             }
	 *             (*pcRam000000000755ead8)(fVar5,lVar3);
	 *             return;
	 *           }
	 *           IL2CPP.ThrowNullReferenceException();
	 *         }
	 *       }
	 *     }
	 *     IL2CPP.ThrowNullReferenceException();
	 *   }
	 *   return;
	 */
	// RVA: 0x3213B64 VA: 0x78188FEB64
	public void .ctor();
	/*
	 *   undefined4 uVar1;
	 *   undefined *puVar2;
	 *
	 *   uVar1 = _UNK_0134d0a4;
	 *   this.activationDistance = (float)_UNK_0134d0a0;
	 *   puVar2 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   this.fadeSpeed = (float)uVar1;
	 *   if ((bRam000000000755f76f & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8,0);
	 *     bRam000000000755f76f = 1;
	 *   }
	 *   if (*(int *)(*(long *)puVar2 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   return;
	 */
}
