// [TypeInfo RVA: 0x0]
public class ElevatorButton : MonoBehaviour
{
	public int floorIndex; // 0x20
	public NetworkedElevator elevator; // 0x28

	// RVA: 0x31FFD80 VA: 0x78188EAD80
	public void SetElevator(NetworkedElevator e);
	/*
	 *   void **ppvVar1;
	 *
	 *   ppvVar1 = &this.elevator;
	 *   *ppvVar1 = e;
	 *   if (iRam00000000077785f0 != 0) {
	 *     func_0x032ed0c0(1L << ((ulong)ppvVar1 >> 0xc & 0x3f),
	 *                     ((ulong)ppvVar1 >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
	 *   }
	 *   return;
	 */
	// RVA: 0x31FFD88 VA: 0x78188EAD88
	private void OnTriggerEnter(UnityEngine.Collider other);
	/*
	 *   int landedFloor;
	 *   int iVar1;
	 *   undefined *puVar2;
	 *   undefined *puVar3;
	 *   undefined *puVar4;
	 *   bool bVar5;
	 *   ulong uVar6;
	 *   NetworkedElevator *this_00;
	 *   long lVar7;
	 *   long lVar8;
	 *   void *pvVar9;
	 *   undefined8 uVar10;
	 *   long *plVar11;
	 *   void *methodInfo_00;
	 *   void *methodInfo_01;
	 *   void *methodInfo_02;
	 *   void *methodInfo_03;
	 *   void *methodInfo_04;
	 *   void *methodInfo_05;
	 *   void *pvVar12;
	 *   double dVar13;
	 *   double dVar14;
	 *   float fVar15;
	 *   float fVar16;
	 *   double dStack_88;
	 *   double dStack_80;
	 *   int iStack_78;
	 *   int iStack_74;
	 *   double dStack_70;
	 *   undefined1 auStack_64 [4];
	 *
	 *   puVar2 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   if ((bRam000000000754a783 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(PTR_DAT_070c07b8);
	 *     bRam000000000754a783 = 1;
	 *   }
	 *   pvVar12 = this.elevator;
	 *   if (*(int *)(*(long *)puVar2 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   uVar6 = UnityEngine.Object.op_Implicit(pvVar12);
	 *   if ((uVar6 & 1) == 0) {
	 *     return;
	 *   }
	 *   if (other != null) {
	 *     bVar5 = UnityEngine.Component.CompareTag(other,*(void **)PTR_DAT_070c07b8);
	 *     if (!bVar5) {
	 *       return;
	 *     }
	 *     this_00 = this.elevator;
	 *     if (this_00 != null) {
	 *       landedFloor = this.floorIndex;
	 *       if ((bRam000000000754a85d & 1) == 0) {
	 *         func_0x031fdc8c(PTR_DAT_070c0a10,landedFloor,0);
	 *         func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *         func_0x031fdc8c(PTR_DAT_070c1e50);
	 *         bRam000000000754a85d = 1;
	 *       }
	 *       if (((this_00->onCooldown != false) || (landedFloor < 0)) || (this_00->isMoving != false)) {
	 *         return;
	 *       }
	 *       if (this_00->floorPoints != null) {
	 *         if (*(int *)((long)this_00->floorPoints + 0x18) <= landedFloor) {
	 *           return;
	 *         }
	 *         if (this_00->currentFloorIndex == landedFloor) {
	 *           return;
	 *         }
	 *         if (*(int *)(*(long *)typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0 + 0xe4) == 0)
	 *         {
	 *           func_0x031fde08();
	 *         }
	 *         bVar5 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *         puVar2 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
	 *         if (bVar5) {
	 *           if ((bRam000000000754a85f & 1) == 0) {
	 *             func_0x031fdc8c(PTR_DAT_070c1260);
	 *             func_0x031fdc8c(typeinfo_ptr_Photon3Unity3D_Hashtable_6FC1268);
	 *             func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *             bRam000000000754a85f = 1;
	 *           }
	 *           if (*(int *)(*(long *)puVar2 + 0xe4) == 0) {
	 *             func_0x031fde08();
	 *           }
	 *           bVar5 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *           if (bVar5) {
	 *             if (*(int *)(*(long *)puVar2 + 0xe4) == 0) {
	 *               func_0x031fde08();
	 *             }
	 *             pvVar12 = Photon.Pun.PhotonNetwork.get_CurrentRoom();
	 *             if (pvVar12 != null) {
	 *               iVar1 = this_00->currentFloorIndex;
	 *               if (*(int *)(*(long *)puVar2 + 0xe4) == 0) {
	 *                 func_0x031fde08();
	 *               }
	 *               dVar13 = Photon.Pun.PhotonNetwork.get_Time();
	 *               fVar15 = this_00->cooldownTime;
	 *               fVar16 = this_00->moveDuration;
	 *               pvVar12 = (void *)func_0x031fdf24(*(undefined8 *)
	 *                                                  typeinfo_ptr_Photon3Unity3D_Hashtable_6FC1268);
	 *               Hashtable..ctor(pvVar12);
	 *               pvVar9 = NetworkedElevator.get_movingKey(this_00);
	 *               puVar3 = PTR_DAT_070c0840;
	 *               auStack_64[0] = 1;
	 *               uVar10 = func_0x031fde10(*(undefined8 *)(PTR_DAT_070c0840 + 0x28),auStack_64);
	 *               puVar4 = PTR_DAT_070c1260;
	 *               if (pvVar12 != null) {
	 *                 func_0x04e2ce54(pvVar12,pvVar9,uVar10,*(undefined8 *)PTR_DAT_070c1260);
	 *                 pvVar9 = NetworkedElevator.get_moveStartKey(this_00);
	 *                 dStack_70 = dVar13;
	 *                 uVar10 = func_0x031fde10(*(undefined8 *)(puVar3 + 0x80),&dStack_70);
	 *                 func_0x04e2ce54(pvVar12,pvVar9,uVar10,*(undefined8 *)puVar4);
	 *                 pvVar9 = NetworkedElevator.get_moveFromKey(this_00);
	 *                 iStack_74 = iVar1;
	 *                 uVar10 = func_0x031fde10(*(undefined8 *)(puVar3 + 0x48),&iStack_74);
	 *                 func_0x04e2ce54(pvVar12,pvVar9,uVar10,*(undefined8 *)puVar4);
	 *                 pvVar9 = NetworkedElevator.get_moveToKey(this_00);
	 *                 iStack_78 = landedFloor;
	 *                 uVar10 = func_0x031fde10(*(undefined8 *)(puVar3 + 0x48),&iStack_78);
	 *                 func_0x04e2ce54(pvVar12,pvVar9,uVar10,*(undefined8 *)puVar4);
	 *                 pvVar9 = NetworkedElevator.get_moveDurKey(this_00);
	 *                 dStack_80 = (double)fVar16;
	 *                 uVar10 = func_0x031fde10(*(undefined8 *)(puVar3 + 0x80),&dStack_80);
	 *                 func_0x04e2ce54(pvVar12,pvVar9,uVar10,*(undefined8 *)puVar4);
	 *                 pvVar9 = NetworkedElevator.get_cooldownEndKey(this_00);
	 *                 dStack_88 = dVar13 + (double)fVar15;
	 *                 uVar10 = func_0x031fde10(*(undefined8 *)(puVar3 + 0x80),&dStack_88);
	 *                 func_0x04e2ce54(pvVar12,pvVar9,uVar10,*(undefined8 *)puVar4);
	 *                 plVar11 = Photon.Pun.PhotonNetwork.get_CurrentRoom()
	 *                 ;
	 *                 if (plVar11 != null) {
	 *                   pvVar9 = null;
	 *                   (**(code **)(*plVar11 + 0x188))
	 *                             (plVar11,pvVar12,0,0,*(undefined8 *)(*plVar11 + 400));
	 *                   pvVar12 = this_00->masterFinishMoveCoroutine;
	 *                   if (pvVar12 != null) {
	 *                     pvVar9 = null;
	 *                     UnityEngine.MonoBehaviour.StopCoroutine(this_00,pvVar12);
	 *                   }
	 *                   if (*(int *)(*(long *)puVar2 + 0xe4) == 0) {
	 *                     func_0x031fde08();
	 *                   }
	 *                   dVar14 = Photon.Pun.PhotonNetwork.get_Time();
	 *                   dVar14 = (double)fVar16 - (dVar14 - dVar13);
	 *                   dVar13 = 0.0;
	 *                   if (0.0 <= dVar14) {
	 *                     dVar13 = dVar14;
	 *                   }
	 *                   pvVar12 = NetworkedElevator.MasterFinishMoveCoroutine(this_00,(float)dVar13,landedFloor);
	 *                   pvVar12 = UnityEngine.MonoBehaviour.StartCoroutine(this_00,pvVar12);
	 *                   this_00->masterFinishMoveCoroutine = pvVar12;
	 *                   func_0x031fdc38(&this_00->masterFinishMoveCoroutine,pvVar12);
	 *                   return;
	 *                 }
	 *               }
	 *               IL2CPP.ThrowNullReferenceException();
	 *             }
	 *           }
	 *           return;
	 *         }
	 *         pvVar12 = MonoBehaviourPun.get_photonView(this_00);
	 *         plVar11 = (long *)func_0x031fdd78(*(undefined8 *)PTR_DAT_070c0a10,1);
	 *         lVar7 = func_0x031fde10(*(undefined8 *)(PTR_DAT_070c0840 + 0x48),&stack0xffffffffffffffdc);
	 *         if (plVar11 != null) {
	 *           if ((lVar7 != 0) &&
	 *              (lVar8 = func_0x031fde0c(lVar7,*(undefined8 *)(*plVar11 + 0x40)), lVar8 == 0)) {
	 *             uVar10 = func_0x031fdf58();
	 *             IL2CPP.ThrowManagedException();
	 *           }
	 *           if ((int)plVar11[3] == 0) {
	 *             IL2CPP.ThrowIndexOutOfRangeException();
	 *           }
	 *           plVar11[4] = lVar7;
	 *           func_0x031fdc38(plVar11 + 4,lVar7);
	 *           if (pvVar12 != null) {
	 *             Photon.Pun.PhotonView.RPC(pvVar12,*(void **)PTR_DAT_070c1e50,2,plVar11);
	 *             return;
	 *           }
	 *         }
	 *       }
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x31FFE48 VA: 0x78188EAE48
	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;
	 */
}
