// [TypeInfo RVA: 0x0]
public class gtagtypesummoning : MonoBehaviourPunCallbacks
{
	public float detectionRadius; // 0x28
	public System.String[] validTags; // 0x30
	public int requiredCount; // 0x38
	public UnityEngine.LayerMask detectionMask; // 0x3C
	public System.Collections.Generic.List<gtagtypesummoning.WeightedTarget> weightedTargets; // 0x40
	public bool avoidImmediateRepeat; // 0x48
	public float globalCooldown; // 0x4C
	public float checkInterval; // 0x50
	private int currentDetectedCount; // 0x54
	private UnityEngine.Coroutine checkRoutine; // 0x58
	private int lastChosenIndex; // 0x60
	private const string CooldownKey; // 0x0

	// RVA: 0x3203020 VA: 0x78188EE020
	private void Start();
	/*
	 *   undefined *puVar1;
	 *   bool bVar2;
	 *   void *pvVar3;
	 *   void *methodInfo_00;
	 *   void **ppvVar4;
	 *   undefined8 unaff_x30;
	 *
	 *   if ((bRam000000000754a7a0 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     bRam000000000754a7a0 = 1;
	 *   }
	 *   puVar1 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
	 *   ppvVar4 = &this.checkRoutine;
	 *   if (*ppvVar4 != null) {
	 *     UnityEngine.MonoBehaviour.StopCoroutine(this,*ppvVar4);
	 *     this.checkRoutine = null;
	 *     unaff_x30 = 0x3303080;
	 *     register0x00000008 = (BADSPACEBASE *)&stack0xffffffffffffffe0;
	 * SUB_031fdc38:
	 *     if (iRam00000000077785f0 != 0) {
	 *       *(undefined8 *)((long)register0x00000008 + -0x10) = unaff_x30;
	 *       func_0x032ed0c0(1L << ((ulong)ppvVar4 >> 0xc & 0x3f),
	 *                       ((ulong)ppvVar4 >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
	 *     }
	 *     return;
	 *   }
	 *   if (*(int *)(*(long *)typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   bVar2 = Photon.Pun.PhotonNetwork.get_InRoom();
	 *   if (bVar2) {
	 *     if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *     }
	 *     bVar2 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *     if (bVar2) {
	 *       pvVar3 = gtagtypesummoning.CheckLoop(this);
	 *       pvVar3 = UnityEngine.MonoBehaviour.StartCoroutine(this,pvVar3);
	 *       this.checkRoutine = pvVar3;
	 *       goto SUB_031fdc38;
	 *     }
	 *   }
	 *   this.currentDetectedCount = 0;
	 *   return;
	 */
	// RVA: 0x32030F8 VA: 0x78188EE0F8
	public override void OnJoinedRoom();
	/*
	 *   undefined *puVar1;
	 *   bool bVar2;
	 *   void *pvVar3;
	 *   void *methodInfo_00;
	 *   void **ppvVar4;
	 *   undefined8 unaff_x30;
	 *
	 *   if ((bRam000000000754a7a0 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     bRam000000000754a7a0 = 1;
	 *   }
	 *   puVar1 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
	 *   ppvVar4 = &this.checkRoutine;
	 *   if (*ppvVar4 != null) {
	 *     UnityEngine.MonoBehaviour.StopCoroutine(this,*ppvVar4);
	 *     this.checkRoutine = null;
	 *     unaff_x30 = 0x3303080;
	 *     register0x00000008 = (BADSPACEBASE *)&stack0xffffffffffffffe0;
	 * SUB_031fdc38:
	 *     if (iRam00000000077785f0 != 0) {
	 *       *(undefined8 *)((long)register0x00000008 + -0x10) = unaff_x30;
	 *       func_0x032ed0c0(1L << ((ulong)ppvVar4 >> 0xc & 0x3f),
	 *                       ((ulong)ppvVar4 >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
	 *     }
	 *     return;
	 *   }
	 *   if (*(int *)(*(long *)typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   bVar2 = Photon.Pun.PhotonNetwork.get_InRoom();
	 *   if (bVar2) {
	 *     if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *     }
	 *     bVar2 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *     if (bVar2) {
	 *       pvVar3 = gtagtypesummoning.CheckLoop(this);
	 *       pvVar3 = UnityEngine.MonoBehaviour.StartCoroutine(this,pvVar3);
	 *       this.checkRoutine = pvVar3;
	 *       goto SUB_031fdc38;
	 *     }
	 *   }
	 *   this.currentDetectedCount = 0;
	 *   return;
	 */
	// RVA: 0x32030FC VA: 0x78188EE0FC
	public override void OnMasterClientSwitched(Photon.Realtime.Player newMasterClient);
	/*
	 *   undefined *puVar1;
	 *   bool bVar2;
	 *   void *pvVar3;
	 *   void *methodInfo_00;
	 *   void **ppvVar4;
	 *   undefined8 unaff_x30;
	 *
	 *   if ((bRam000000000754a7a0 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     bRam000000000754a7a0 = 1;
	 *   }
	 *   puVar1 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
	 *   ppvVar4 = &this.checkRoutine;
	 *   if (*ppvVar4 != null) {
	 *     UnityEngine.MonoBehaviour.StopCoroutine(this,*ppvVar4);
	 *     this.checkRoutine = null;
	 *     unaff_x30 = 0x3303080;
	 *     register0x00000008 = (BADSPACEBASE *)&stack0xffffffffffffffe0;
	 * SUB_031fdc38:
	 *     if (iRam00000000077785f0 != 0) {
	 *       *(undefined8 *)((long)register0x00000008 + -0x10) = unaff_x30;
	 *       func_0x032ed0c0(1L << ((ulong)ppvVar4 >> 0xc & 0x3f),
	 *                       ((ulong)ppvVar4 >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
	 *     }
	 *     return;
	 *   }
	 *   if (*(int *)(*(long *)typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   bVar2 = Photon.Pun.PhotonNetwork.get_InRoom();
	 *   if (bVar2) {
	 *     if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *     }
	 *     bVar2 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *     if (bVar2) {
	 *       pvVar3 = gtagtypesummoning.CheckLoop(this);
	 *       pvVar3 = UnityEngine.MonoBehaviour.StartCoroutine(this,pvVar3);
	 *       this.checkRoutine = pvVar3;
	 *       goto SUB_031fdc38;
	 *     }
	 *   }
	 *   this.currentDetectedCount = 0;
	 *   return;
	 */
	// RVA: 0x3203100 VA: 0x78188EE100
	private void OnDisable();
	/*
	 *   void **ppvVar1;
	 *
	 *   ppvVar1 = &this.checkRoutine;
	 *   if (*ppvVar1 != null) {
	 *     UnityEngine.MonoBehaviour.StopCoroutine(this,*ppvVar1);
	 *     this.checkRoutine = null;
	 *     if (iRam00000000077785f0 != 0) {
	 *       func_0x032ed0c0(1L << ((ulong)ppvVar1 >> 0xc & 0x3f),
	 *                       ((ulong)ppvVar1 >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
	 *     }
	 *     return;
	 *   }
	 *   return;
	 */
	// RVA: 0x3203024 VA: 0x78188EE024
	private void TryStartRoutine();
	/*
	 *   undefined *puVar1;
	 *   bool bVar2;
	 *   void *pvVar3;
	 *   void *methodInfo_00;
	 *   void **ppvVar4;
	 *   undefined8 unaff_x30;
	 *
	 *   if ((bRam000000000754a7a0 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     bRam000000000754a7a0 = 1;
	 *   }
	 *   puVar1 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
	 *   ppvVar4 = &this.checkRoutine;
	 *   if (*ppvVar4 != null) {
	 *     UnityEngine.MonoBehaviour.StopCoroutine(this,*ppvVar4);
	 *     this.checkRoutine = null;
	 *     unaff_x30 = 0x3303080;
	 *     register0x00000008 = (BADSPACEBASE *)&stack0xffffffffffffffe0;
	 * SUB_031fdc38:
	 *     if (iRam00000000077785f0 != 0) {
	 *       *(undefined8 *)((long)register0x00000008 + -0x10) = unaff_x30;
	 *       func_0x032ed0c0(1L << ((ulong)ppvVar4 >> 0xc & 0x3f),
	 *                       ((ulong)ppvVar4 >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
	 *     }
	 *     return;
	 *   }
	 *   if (*(int *)(*(long *)typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   bVar2 = Photon.Pun.PhotonNetwork.get_InRoom();
	 *   if (bVar2) {
	 *     if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *     }
	 *     bVar2 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *     if (bVar2) {
	 *       pvVar3 = gtagtypesummoning.CheckLoop(this);
	 *       pvVar3 = UnityEngine.MonoBehaviour.StartCoroutine(this,pvVar3);
	 *       this.checkRoutine = pvVar3;
	 *       goto SUB_031fdc38;
	 *     }
	 *   }
	 *   this.currentDetectedCount = 0;
	 *   return;
	 */
	// RVA: 0x3203144 VA: 0x78188EE144
	private System.Collections.IEnumerator CheckLoop();
	/*
	 *   undefined *puVar1;
	 *   void *this_00;
	 *   void *extraout_x1;
	 *
	 *   puVar1 = PTR_DAT_070c1228;
	 *   if ((bRam000000000754a7a1 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c1228);
	 *     bRam000000000754a7a1 = 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: 0x32031D8 VA: 0x78188EE1D8
	private int CountMatchingObjects();
	/*
	 *   undefined *puVar1;
	 *   undefined *puVar2;
	 *   undefined *puVar3;
	 *   bool bVar4;
	 *   int iVar5;
	 *   void *pvVar6;
	 *   long lVar7;
	 *   void *methodInfo_00;
	 *   ulong uVar8;
	 *   void *pvVar9;
	 *   ulong uVar10;
	 *   float radius;
	 *   UnityEngine_Vector3 position;
	 *
	 *   if ((bRam000000000754a7a2 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c1230);
	 *     func_0x031fdc8c(PTR_DAT_070c1238);
	 *     func_0x031fdc8c(PTR_DAT_070c1240);
	 *     func_0x031fdc8c(PTR_DAT_070c1248);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_PhysicsModule_Physics_6FC09E8);
	 *     bRam000000000754a7a2 = 1;
	 *   }
	 *   pvVar6 = UnityEngine.Component.get_transform(this);
	 *   puVar3 = PTR_DAT_070c1248;
	 *   puVar2 = PTR_DAT_070c1240;
	 *   puVar1 = typeinfo_ptr_UnityEngine_PhysicsModule_Physics_6FC09E8;
	 *   if (pvVar6 != null) {
	 *     position = UnityEngine.Transform.get_position(pvVar6);
	 *     radius = this.detectionRadius;
	 *     iVar5 = UnityEngine.LayerMask.op_Implicit(this.detectionMask);
	 *     if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *       func_0x031fde08(*(long *)puVar1);
	 *     }
	 *     pvVar6 = Physics.OverlapSphere(position,radius,iVar5,2);
	 *     lVar7 = func_0x031fdf24(*(undefined8 *)puVar3);
	 *     func_0x03b8c9e4(lVar7,*(undefined8 *)puVar2);
	 *     puVar3 = PTR_DAT_070c1238;
	 *     puVar2 = PTR_DAT_070c1230;
	 *     puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *     if (pvVar6 != null) {
	 *       if ((int)*(ulong *)((long)pvVar6 + 0x18) < 1) {
	 *         iVar5 = 0;
	 *       }
	 *       else {
	 *         iVar5 = 0;
	 *         uVar10 = 0;
	 *         uVar8 = *(ulong *)((long)pvVar6 + 0x18) & 0xffffffff;
	 *         do {
	 *           if (uVar8 <= uVar10) {
	 *             IL2CPP.ThrowIndexOutOfRangeException();
	 *           }
	 *           pvVar9 = *(void **)((long)pvVar6 + uVar10 * 8 + 0x20);
	 *           if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *             func_0x031fde08();
	 *           }
	 *           uVar8 = UnityEngine.Object.op_Equality(pvVar9,null);
	 *           if ((uVar8 & 1) == 0) {
	 *             if ((((pvVar9 == null) ||
	 *                  (pvVar9 = UnityEngine.Component.get_transform(pvVar9), pvVar9 == null)) ||
	 *                 (pvVar9 = UnityEngine.Transform.get_root(pvVar9),
	 *                 pvVar9 == null)) ||
	 *                (pvVar9 = UnityEngine.Component.get_gameObject(pvVar9), lVar7 == 0)) goto LAB_03303408;
	 *             methodInfo_00 = *(void **)puVar3;
	 *             uVar8 = func_0x03b8d0e8(lVar7,pvVar9);
	 *             if (((uVar8 & 1) == 0) &&
	 *                (bVar4 = gtagtypesummoning.MatchesAnyTag(this,pvVar9), bVar4)) {
	 *               func_0x03b8dbd8(lVar7,pvVar9,*(undefined8 *)puVar2);
	 *               iVar5 = iVar5 + 1;
	 *             }
	 *           }
	 *           uVar8 = (ulong)*(uint *)((long)pvVar6 + 0x18);
	 *           uVar10 = uVar10 + 1;
	 *         } while ((long)uVar10 < (long)(int)*(uint *)((long)pvVar6 + 0x18));
	 *       }
	 *       return iVar5;
	 *     }
	 *   }
	 * LAB_03303408:
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x3203410 VA: 0x78188EE410
	private bool MatchesAnyTag(UnityEngine.GameObject obj);
	/*
	 *   long lVar1;
	 *   uint uVar2;
	 *   undefined *puVar3;
	 *   bool bVar4;
	 *   ulong uVar5;
	 *   void *pvVar6;
	 *   long lVar7;
	 *
	 *   puVar3 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   if ((bRam000000000754a7a3 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     bRam000000000754a7a3 = 1;
	 *   }
	 *   if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   uVar5 = UnityEngine.Object.op_Equality(obj,null);
	 *   if ((((uVar5 & 1) != 0) || (pvVar6 = this.validTags, pvVar6 == null)) ||
	 *      (*(long *)((long)pvVar6 + 0x18) == 0)) {
	 *     return false;
	 *   }
	 *   lVar7 = 4;
	 *   do {
	 *     uVar2 = *(uint *)((long)pvVar6 + 0x18);
	 *     uVar5 = lVar7 - 4;
	 *     lVar1 = (long)(int)uVar2;
	 *     if (lVar1 <= (long)uVar5) {
	 *       return (long)uVar5 < lVar1;
	 *     }
	 *     if (uVar2 <= uVar5) {
	 * LAB_03303504:
	 *       IL2CPP.ThrowIndexOutOfRangeException();
	 *     }
	 *     bVar4 = System.String.IsNullOrEmpty(*(void **)((long)pvVar6 + lVar7 * 8));
	 *     if (!bVar4) {
	 *       pvVar6 = this.validTags;
	 *       if (pvVar6 == null) break;
	 *       if (*(uint *)((long)pvVar6 + 0x18) <= uVar5) goto LAB_03303504;
	 *       if (obj == null) break;
	 *       bVar4 = UnityEngine.GameObject.CompareTag(obj,*(void **)((long)pvVar6 + lVar7 * 8));
	 *       if (bVar4) {
	 *         return (long)uVar5 < lVar1;
	 *       }
	 *     }
	 *     pvVar6 = this.validTags;
	 *     lVar7 = lVar7 + 1;
	 *   } while (pvVar6 != null);
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x3203508 VA: 0x78188EE508
	private bool IsOnCooldown();
	/*
	 *   undefined *puVar1;
	 *   void *pvVar2;
	 *   ulong uVar3;
	 *   double *pdVar4;
	 *   void *extraout_x1;
	 *   double dVar5;
	 *   double dVar6;
	 *   long *plStack_28;
	 *
	 *   puVar1 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
	 *   if ((bRam000000000754a7a4 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c1250);
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     func_0x031fdc8c(PTR_DAT_070c1258);
	 *     bRam000000000754a7a4 = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   plStack_28 = null;
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08(*(long *)puVar1,methodInfo);
	 *   }
	 *   pvVar2 = Photon.Pun.PhotonNetwork.get_CurrentRoom();
	 *   if (pvVar2 == null) {
	 *     return false;
	 *   }
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   pvVar2 = Photon.Pun.PhotonNetwork.get_CurrentRoom();
	 *   if ((pvVar2 == null) || (*(long *)((long)pvVar2 + 0x18) == 0)) {
	 *     IL2CPP.ThrowNullReferenceException();
	 *   }
	 *   uVar3 = func_0x04e2e9bc(*(long *)((long)pvVar2 + 0x18),*(undefined8 *)PTR_DAT_070c1258,&plStack_28
	 *                           ,*(undefined8 *)PTR_DAT_070c1250);
	 *   if ((uVar3 & 1) != 0) {
	 *     if (plStack_28 == null) {
	 *       return false;
	 *     }
	 *     if (*plStack_28 == *(long *)(PTR_DAT_070c0840 + 0x80)) {
	 *       pdVar4 = (double *)func_0x031fde14();
	 *       dVar6 = *pdVar4;
	 *       if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       dVar5 = Photon.Pun.PhotonNetwork.get_Time();
	 *       return dVar5 < dVar6;
	 *     }
	 *   }
	 *   return false;
	 */
	// RVA: 0x320362C VA: 0x78188EE62C
	private void SetCooldown();
	/*
	 *   undefined *puVar1;
	 *   undefined *puVar2;
	 *   long lVar3;
	 *   void *pvVar4;
	 *   undefined8 uVar5;
	 *   long *plVar6;
	 *   void *extraout_x1;
	 *   double dVar7;
	 *   float fVar8;
	 *   double dStack_28;
	 *
	 *   puVar1 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
	 *   if ((bRam000000000754a7a5 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c1260);
	 *     func_0x031fdc8c(typeinfo_ptr_Photon3Unity3D_Hashtable_6FC1268);
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     func_0x031fdc8c(PTR_DAT_070c1258);
	 *     bRam000000000754a7a5 = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   lVar3 = *(long *)puVar1;
	 *   if (*(int *)(lVar3 + 0xe4) == 0) {
	 *     func_0x031fde08(lVar3,methodInfo);
	 *   }
	 *   pvVar4 = Photon.Pun.PhotonNetwork.get_CurrentRoom();
	 *   puVar2 = typeinfo_ptr_Photon3Unity3D_Hashtable_6FC1268;
	 *   if (pvVar4 == null) {
	 *     return;
	 *   }
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   dVar7 = Photon.Pun.PhotonNetwork.get_Time();
	 *   fVar8 = this.globalCooldown;
	 *   pvVar4 = (void *)func_0x031fdf24(*(undefined8 *)puVar2);
	 *   Hashtable..ctor(pvVar4);
	 *   dStack_28 = dVar7 + (double)fVar8;
	 *   uVar5 = func_0x031fde10(*(undefined8 *)(PTR_DAT_070c0840 + 0x80),&dStack_28);
	 *   if (pvVar4 != null) {
	 *     func_0x04e2ce54(pvVar4,*(undefined8 *)PTR_DAT_070c1258,uVar5,*(undefined8 *)PTR_DAT_070c1260);
	 *     plVar6 = Photon.Pun.PhotonNetwork.get_CurrentRoom();
	 *     if (plVar6 != null) {
	 *       (**(code **)(*plVar6 + 0x188))(plVar6,pvVar4,0,0,*(undefined8 *)(*plVar6 + 400));
	 *       return;
	 *     }
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x320375C VA: 0x78188EE75C
	private void TryEnableWeightedTarget();
	/*
	 *   int iVar1;
	 *   void *this_00;
	 *   long *parameters;
	 *   long lVar2;
	 *   long lVar3;
	 *   undefined8 uVar4;
	 *   void *extraout_x1;
	 *   int iStack_24;
	 *
	 *   if ((bRam000000000754a7a6 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c1270);
	 *     func_0x031fdc8c(PTR_DAT_070c0a10);
	 *     func_0x031fdc8c(PTR_DAT_070c1278);
	 *     bRam000000000754a7a6 = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   iVar1 = gtagtypesummoning.PickWeightedIndex(this);
	 *   if (iVar1 < 0) {
	 *     return;
	 *   }
	 *   if (this.weightedTargets != null) {
	 *     if (*(int *)((long)this.weightedTargets + 0x18) <= iVar1) {
	 *       return;
	 *     }
	 *     this.lastChosenIndex = iVar1;
	 *     this_00 = MonoBehaviourPun.get_photonView(this);
	 *     parameters = (long *)func_0x031fdd78(*(undefined8 *)PTR_DAT_070c0a10,1);
	 *     iStack_24 = iVar1;
	 *     lVar2 = func_0x031fde10(*(undefined8 *)(PTR_DAT_070c0840 + 0x48),&iStack_24);
	 *     if (parameters != null) {
	 *       if ((lVar2 != 0) &&
	 *          (lVar3 = func_0x031fde0c(lVar2,*(undefined8 *)(*parameters + 0x40)), lVar3 == 0)) {
	 *         uVar4 = func_0x031fdf58();
	 *         IL2CPP.ThrowManagedException();
	 *       }
	 *       if ((int)parameters[3] == 0) {
	 *         IL2CPP.ThrowIndexOutOfRangeException();
	 *       }
	 *       parameters[4] = lVar2;
	 *       func_0x031fdc38(parameters + 4,lVar2);
	 *       if (this_00 != null) {
	 *         Photon.Pun.PhotonView.RPC(this_00,*(void **)PTR_DAT_070c1278,0,parameters);
	 *         return;
	 *       }
	 *     }
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x3203890 VA: 0x78188EE890
	private int PickWeightedIndex();
	/*
	 *   undefined *puVar1;
	 *   undefined *puVar2;
	 *   void *pvVar3;
	 *   long lVar4;
	 *   ulong uVar5;
	 *   int iVar6;
	 *   undefined8 uVar7;
	 *   float fVar8;
	 *   float fVar9;
	 *
	 *   if ((bRam000000000754a7a7 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c1270);
	 *     func_0x031fdc8c(PTR_DAT_070c1280);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     bRam000000000754a7a7 = 1;
	 *   }
	 *   puVar2 = PTR_DAT_070c1280;
	 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   pvVar3 = this.weightedTargets;
	 *   if ((pvVar3 == null) || (*(int *)((long)pvVar3 + 0x18) == 0)) {
	 *     return -1;
	 *   }
	 *   fVar8 = 0.0;
	 *   iVar6 = 0;
	 *   do {
	 *     if (*(int *)((long)pvVar3 + 0x18) <= iVar6) {
	 *       if (fVar8 <= 0.0) {
	 *         return -1;
	 *       }
	 *       fVar9 = 0.0;
	 *       fVar8 = Random.Range(0.0,fVar8);
	 *       pvVar3 = this.weightedTargets;
	 *       if (pvVar3 != null) {
	 *         iVar6 = 0;
	 *         do {
	 *           if (*(int *)((long)pvVar3 + 0x18) <= iVar6) {
	 *             return -1;
	 *           }
	 *           if ((((this.avoidImmediateRepeat == false) || (*(int *)((long)pvVar3 + 0x18) < 2)) ||
	 *               (iVar6 != this.lastChosenIndex)) &&
	 *              (lVar4 = func_0x03f2d434(pvVar3,iVar6,*(undefined8 *)puVar2), lVar4 != 0)) {
	 *             uVar7 = *(undefined8 *)(lVar4 + 0x10);
	 *             if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *               func_0x031fde08();
	 *             }
	 *             uVar5 = UnityEngine.Object.op_Equality(uVar7,null);
	 *             if ((((uVar5 & 1) == 0) && (0.0 < *(float *)(lVar4 + 0x18))) &&
	 *                (fVar9 = fVar9 + *(float *)(lVar4 + 0x18), fVar8 <= fVar9)) {
	 *               return iVar6;
	 *             }
	 *           }
	 *           pvVar3 = this.weightedTargets;
	 *           iVar6 = iVar6 + 1;
	 *         } while (pvVar3 != null);
	 *       }
	 *       break;
	 *     }
	 *     if ((((this.avoidImmediateRepeat == false) || (*(int *)((long)pvVar3 + 0x18) < 2)) ||
	 *         (iVar6 != this.lastChosenIndex)) &&
	 *        (lVar4 = func_0x03f2d434(pvVar3,iVar6,*(undefined8 *)puVar2), lVar4 != 0)) {
	 *       uVar7 = *(undefined8 *)(lVar4 + 0x10);
	 *       if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       uVar5 = UnityEngine.Object.op_Inequality(uVar7,null);
	 *       if (((uVar5 & 1) != 0) && (0.0 < *(float *)(lVar4 + 0x18))) {
	 *         fVar8 = fVar8 + *(float *)(lVar4 + 0x18);
	 *       }
	 *     }
	 *     pvVar3 = this.weightedTargets;
	 *     iVar6 = iVar6 + 1;
	 *   } while (pvVar3 != null);
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x3203A64 VA: 0x78188EEA64
	private void RPC_EnableObject(int index);
	/*
	 *   void *pvVar1;
	 *   long lVar2;
	 *   ulong uVar3;
	 *   undefined8 uVar4;
	 *
	 *   if ((bRam000000000754a7a8 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c1270);
	 *     func_0x031fdc8c(PTR_DAT_070c1280);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     bRam000000000754a7a8 = 1;
	 *   }
	 *   if (-1 < index) {
	 *     pvVar1 = this.weightedTargets;
	 *     if (pvVar1 == null) {
	 * LAB_03303b38:
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *     if ((index < *(int *)((long)pvVar1 + 0x18)) &&
	 *        (lVar2 = func_0x03f2d434(pvVar1,index,*(undefined8 *)PTR_DAT_070c1280), lVar2 != 0)) {
	 *       uVar4 = *(undefined8 *)(lVar2 + 0x10);
	 *       if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       uVar3 = UnityEngine.Object.op_Inequality(uVar4,null);
	 *       if ((uVar3 & 1) != 0) {
	 *         pvVar1 = *(void **)(lVar2 + 0x10);
	 *         if (pvVar1 != null) {
	 *           if ((bRam000000000755f7e0 & 1) == 0) {
	 *             func_0x031fdc8c(PTR_DAT_0714f3e0,1,0);
	 *             bRam000000000755f7e0 = 1;
	 *           }
	 *           if (pvVar1 != null) {
	 *             lVar2 = *(long *)((long)pvVar1 + 0x10);
	 *             if (lVar2 == 0) {
	 *               UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(pvVar1);
	 *             }
	 *             if (pcRam000000000755f860 == null) {
	 *               pcRam000000000755f860 = (code *)func_0x031fdc50(&UNK_0138da18);
	 *             }
	 *             (*pcRam000000000755f860)(lVar2,1);
	 *             return;
	 *           }
	 *           IL2CPP.ThrowNullReferenceException();
	 *         }
	 *         goto LAB_03303b38;
	 *       }
	 *     }
	 *   }
	 *   return;
	 */
	// RVA: 0x3203B3C VA: 0x78188EEB3C
	private void OnDrawGizmosSelected();
	/*
	 *   void *this_00;
	 *   float fVar1;
	 *   UnityEngine_Vector3 UVar2;
	 *   UnityEngine_Color value;
	 *   float fStack_2c;
	 *   float fStack_28;
	 *   float fStack_24;
	 *
	 *   value.g = (float)_UNK_0134e944;
	 *   value.r = 1.0;
	 *   value.a = 1.0;
	 *   value.b = (float)_UNK_0134ed8c;
	 *   UnityEngine.Gizmos.set_color(value);
	 *   this_00 = UnityEngine.Component.get_transform(this);
	 *   if (this_00 != null) {
	 *     UVar2 = UnityEngine.Transform.get_position(this_00);
	 *     fStack_24 = UVar2.z;
	 *     fStack_28 = UVar2.y;
	 *     fStack_2c = UVar2.x;
	 *     fVar1 = this.detectionRadius;
	 *     if (pcRam000000000755e198 == null) {
	 *       pcRam000000000755e198 = (code *)func_0x031fdc50(&UNK_01388e54);
	 *     }
	 *     (*pcRam000000000755e198)(fVar1,&fStack_2c);
	 *     return;
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x3203B90 VA: 0x78188EEB90
	public void .ctor();
	/*
	 *   undefined4 uVar1;
	 *   undefined *puVar2;
	 *   undefined *puVar3;
	 *   undefined8 uVar4;
	 *   int iVar5;
	 *   void *pvVar6;
	 *   undefined8 uVar7;
	 *
	 *   puVar3 = PTR_DAT_070c1290;
	 *   puVar2 = PTR_DAT_070c1288;
	 *   if ((bRam000000000754a7a9 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c1290);
	 *     func_0x031fdc8c(PTR_DAT_070c1288);
	 *     bRam000000000754a7a9 = 1;
	 *   }
	 *   this.detectionRadius = 10.0;
	 *   this.requiredCount = 10;
	 *   iVar5 = UnityEngine.LayerMask.op_Implicit(-1);
	 *   uVar7 = *(undefined8 *)puVar2;
	 *   this.detectionMask = iVar5;
	 *   pvVar6 = (void *)func_0x031fdf24(uVar7);
	 *   func_0x03f2ce9c(pvVar6,*(undefined8 *)puVar3);
	 *   this.weightedTargets = pvVar6;
	 *   func_0x031fdc38(&this.weightedTargets,pvVar6);
	 *   uVar7 = _UNK_0134d990;
	 *   this.avoidImmediateRepeat = true;
	 *   this.lastChosenIndex = -1;
	 *   uVar4 = _UNK_0134d990;
	 *   _UNK_0134d990 = (undefined4)uVar7;
	 *   _UNK_0134d994 = SUB84(uVar7,4);
	 *   uVar1 = _UNK_0134d994;
	 *   this.globalCooldown = (float)_UNK_0134d990;
	 *   _UNK_0134d990 = uVar4;
	 *   puVar2 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   this.checkInterval = (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;
	 */
}
