// [TypeInfo RVA: 0x0]
public class NetworkedElevator : MonoBehaviourPunCallbacks
{
	public UnityEngine.Transform[] floorPoints; // 0x28
	public float moveDuration; // 0x30
	public UnityEngine.AnimationCurve moveCurve; // 0x38
	public UnityEngine.GameObject[] buttonObjects; // 0x40
	public UnityEngine.Material availableMaterial; // 0x48
	public UnityEngine.Material cooldownMaterial; // 0x50
	public float cooldownTime; // 0x58
	public UnityEngine.AudioSource elevatorAudio; // 0x60
	public UnityEngine.AudioClip moveSound; // 0x68
	public bool loopSound; // 0x70
	private bool isMoving; // 0x71
	private bool onCooldown; // 0x72
	private int currentFloorIndex; // 0x74
	private UnityEngine.MeshRenderer[] buttonRenderers; // 0x78
	private UnityEngine.Vector3 startPos; // 0x80
	private UnityEngine.Vector3 endPos; // 0x8C
	private float moveTimer; // 0x98
	private float authoritativeMoveDuration; // 0x9C
	private UnityEngine.Coroutine localCooldownVisualCoroutine; // 0xA0
	private UnityEngine.Coroutine masterFinishMoveCoroutine; // 0xA8

	// RVA: 0x3215F48 VA: 0x7818900F48
	private string get_keyPrefix();
	/*
	 *   undefined *puVar1;
	 *   void *pvVar2;
	 *   undefined4 uStack_14;
	 *
	 *   if ((bRam000000000754a853 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c1dd8);
	 *     bRam000000000754a853 = 1;
	 *   }
	 *   pvVar2 = MonoBehaviourPun.get_photonView(this);
	 *   puVar1 = PTR_DAT_070c1dd8;
	 *   if (pvVar2 != null) {
	 *     uStack_14 = *(undefined4 *)((long)pvVar2 + 0x94);
	 *     pvVar2 = (void *)func_0x031fde10(*(undefined8 *)(PTR_DAT_070c0840 + 0x48),&uStack_14);
	 *     pvVar2 = System.String.Format(*(void **)puVar1,pvVar2);
	 *     return pvVar2;
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x3215FCC VA: 0x7818900FCC
	private string get_floorKey();
	/*
	 *   int destPos;
	 *   undefined *puVar1;
	 *   void *src;
	 *   void *dest;
	 *   void *extraout_x1;
	 *   void *src_00;
	 *   void *in_x3;
	 *
	 *   puVar1 = PTR_DAT_070c1de0;
	 *   if ((bRam000000000754a854 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c1de0);
	 *     bRam000000000754a854 = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   src = NetworkedElevator.get_keyPrefix(this);
	 *   src_00 = *(void **)puVar1;
	 *   if ((src == null) || (destPos = *(int *)((long)src + 0x10), destPos == 0)) {
	 *     if ((src_00 == null) || (src = src_00, *(int *)((long)src_00 + 0x10) == 0)) {
	 *       src = (void *)**(undefined8 **)(*(long *)(PTR_DAT_070c0840 + 0x90) + 0xb8);
	 *     }
	 *   }
	 *   else if ((src_00 != null) && (*(int *)((long)src_00 + 0x10) != 0)) {
	 *     dest = (void *)func_0x03214b40(*(int *)((long)src_00 + 0x10) + destPos,src_00,0);
	 *     System.String.FillStringChecked(dest,0,src);
	 *     System.String.FillStringChecked(dest,destPos,src_00);
	 *     src = dest;
	 *   }
	 *   return src;
	 */
	// RVA: 0x321601C VA: 0x781890101C
	private string get_movingKey();
	/*
	 *   int destPos;
	 *   undefined *puVar1;
	 *   void *src;
	 *   void *dest;
	 *   void *extraout_x1;
	 *   void *src_00;
	 *   void *in_x3;
	 *
	 *   puVar1 = PTR_DAT_070c1de8;
	 *   if ((bRam000000000754a855 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c1de8);
	 *     bRam000000000754a855 = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   src = NetworkedElevator.get_keyPrefix(this);
	 *   src_00 = *(void **)puVar1;
	 *   if ((src == null) || (destPos = *(int *)((long)src + 0x10), destPos == 0)) {
	 *     if ((src_00 == null) || (src = src_00, *(int *)((long)src_00 + 0x10) == 0)) {
	 *       src = (void *)**(undefined8 **)(*(long *)(PTR_DAT_070c0840 + 0x90) + 0xb8);
	 *     }
	 *   }
	 *   else if ((src_00 != null) && (*(int *)((long)src_00 + 0x10) != 0)) {
	 *     dest = (void *)func_0x03214b40(*(int *)((long)src_00 + 0x10) + destPos,src_00,0);
	 *     System.String.FillStringChecked(dest,0,src);
	 *     System.String.FillStringChecked(dest,destPos,src_00);
	 *     src = dest;
	 *   }
	 *   return src;
	 */
	// RVA: 0x321606C VA: 0x781890106C
	private string get_moveStartKey();
	/*
	 *   int destPos;
	 *   undefined *puVar1;
	 *   void *src;
	 *   void *dest;
	 *   void *extraout_x1;
	 *   void *src_00;
	 *   void *in_x3;
	 *
	 *   puVar1 = PTR_DAT_070c1df0;
	 *   if ((bRam000000000754a856 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c1df0);
	 *     bRam000000000754a856 = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   src = NetworkedElevator.get_keyPrefix(this);
	 *   src_00 = *(void **)puVar1;
	 *   if ((src == null) || (destPos = *(int *)((long)src + 0x10), destPos == 0)) {
	 *     if ((src_00 == null) || (src = src_00, *(int *)((long)src_00 + 0x10) == 0)) {
	 *       src = (void *)**(undefined8 **)(*(long *)(PTR_DAT_070c0840 + 0x90) + 0xb8);
	 *     }
	 *   }
	 *   else if ((src_00 != null) && (*(int *)((long)src_00 + 0x10) != 0)) {
	 *     dest = (void *)func_0x03214b40(*(int *)((long)src_00 + 0x10) + destPos,src_00,0);
	 *     System.String.FillStringChecked(dest,0,src);
	 *     System.String.FillStringChecked(dest,destPos,src_00);
	 *     src = dest;
	 *   }
	 *   return src;
	 */
	// RVA: 0x32160BC VA: 0x78189010BC
	private string get_moveFromKey();
	/*
	 *   int destPos;
	 *   undefined *puVar1;
	 *   void *src;
	 *   void *dest;
	 *   void *extraout_x1;
	 *   void *src_00;
	 *   void *in_x3;
	 *
	 *   puVar1 = PTR_DAT_070c1df8;
	 *   if ((bRam000000000754a857 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c1df8);
	 *     bRam000000000754a857 = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   src = NetworkedElevator.get_keyPrefix(this);
	 *   src_00 = *(void **)puVar1;
	 *   if ((src == null) || (destPos = *(int *)((long)src + 0x10), destPos == 0)) {
	 *     if ((src_00 == null) || (src = src_00, *(int *)((long)src_00 + 0x10) == 0)) {
	 *       src = (void *)**(undefined8 **)(*(long *)(PTR_DAT_070c0840 + 0x90) + 0xb8);
	 *     }
	 *   }
	 *   else if ((src_00 != null) && (*(int *)((long)src_00 + 0x10) != 0)) {
	 *     dest = (void *)func_0x03214b40(*(int *)((long)src_00 + 0x10) + destPos,src_00,0);
	 *     System.String.FillStringChecked(dest,0,src);
	 *     System.String.FillStringChecked(dest,destPos,src_00);
	 *     src = dest;
	 *   }
	 *   return src;
	 */
	// RVA: 0x321610C VA: 0x781890110C
	private string get_moveToKey();
	/*
	 *   int destPos;
	 *   undefined *puVar1;
	 *   void *src;
	 *   void *dest;
	 *   void *extraout_x1;
	 *   void *src_00;
	 *   void *in_x3;
	 *
	 *   puVar1 = PTR_DAT_070c1e00;
	 *   if ((bRam000000000754a858 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c1e00);
	 *     bRam000000000754a858 = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   src = NetworkedElevator.get_keyPrefix(this);
	 *   src_00 = *(void **)puVar1;
	 *   if ((src == null) || (destPos = *(int *)((long)src + 0x10), destPos == 0)) {
	 *     if ((src_00 == null) || (src = src_00, *(int *)((long)src_00 + 0x10) == 0)) {
	 *       src = (void *)**(undefined8 **)(*(long *)(PTR_DAT_070c0840 + 0x90) + 0xb8);
	 *     }
	 *   }
	 *   else if ((src_00 != null) && (*(int *)((long)src_00 + 0x10) != 0)) {
	 *     dest = (void *)func_0x03214b40(*(int *)((long)src_00 + 0x10) + destPos,src_00,0);
	 *     System.String.FillStringChecked(dest,0,src);
	 *     System.String.FillStringChecked(dest,destPos,src_00);
	 *     src = dest;
	 *   }
	 *   return src;
	 */
	// RVA: 0x321615C VA: 0x781890115C
	private string get_moveDurKey();
	/*
	 *   int destPos;
	 *   undefined *puVar1;
	 *   void *src;
	 *   void *dest;
	 *   void *extraout_x1;
	 *   void *src_00;
	 *   void *in_x3;
	 *
	 *   puVar1 = PTR_DAT_070c1e08;
	 *   if ((bRam000000000754a859 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c1e08);
	 *     bRam000000000754a859 = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   src = NetworkedElevator.get_keyPrefix(this);
	 *   src_00 = *(void **)puVar1;
	 *   if ((src == null) || (destPos = *(int *)((long)src + 0x10), destPos == 0)) {
	 *     if ((src_00 == null) || (src = src_00, *(int *)((long)src_00 + 0x10) == 0)) {
	 *       src = (void *)**(undefined8 **)(*(long *)(PTR_DAT_070c0840 + 0x90) + 0xb8);
	 *     }
	 *   }
	 *   else if ((src_00 != null) && (*(int *)((long)src_00 + 0x10) != 0)) {
	 *     dest = (void *)func_0x03214b40(*(int *)((long)src_00 + 0x10) + destPos,src_00,0);
	 *     System.String.FillStringChecked(dest,0,src);
	 *     System.String.FillStringChecked(dest,destPos,src_00);
	 *     src = dest;
	 *   }
	 *   return src;
	 */
	// RVA: 0x32161AC VA: 0x78189011AC
	private string get_cooldownEndKey();
	/*
	 *   int destPos;
	 *   undefined *puVar1;
	 *   void *src;
	 *   void *dest;
	 *   void *extraout_x1;
	 *   void *src_00;
	 *   void *in_x3;
	 *
	 *   puVar1 = PTR_DAT_070c1e10;
	 *   if ((bRam000000000754a85a & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c1e10);
	 *     bRam000000000754a85a = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   src = NetworkedElevator.get_keyPrefix(this);
	 *   src_00 = *(void **)puVar1;
	 *   if ((src == null) || (destPos = *(int *)((long)src + 0x10), destPos == 0)) {
	 *     if ((src_00 == null) || (src = src_00, *(int *)((long)src_00 + 0x10) == 0)) {
	 *       src = (void *)**(undefined8 **)(*(long *)(PTR_DAT_070c0840 + 0x90) + 0xb8);
	 *     }
	 *   }
	 *   else if ((src_00 != null) && (*(int *)((long)src_00 + 0x10) != 0)) {
	 *     dest = (void *)func_0x03214b40(*(int *)((long)src_00 + 0x10) + destPos,src_00,0);
	 *     System.String.FillStringChecked(dest,0,src);
	 *     System.String.FillStringChecked(dest,destPos,src_00);
	 *     src = dest;
	 *   }
	 *   return src;
	 */
	// RVA: 0x32161FC VA: 0x78189011FC
	private void Start();

	// RVA: 0x3216D6C VA: 0x7818901D6C
	private void Update();
	/*
	 *   undefined *puVar1;
	 *   int iVar2;
	 *   void *pvVar3;
	 *   ulong uVar4;
	 *   void *methodInfo_00;
	 *   long lVar5;
	 *   float fVar6;
	 *   float fVar7;
	 *   undefined4 uVar8;
	 *   undefined4 uVar9;
	 *   undefined4 uVar10;
	 *   undefined4 uVar11;
	 *   float fVar12;
	 *   UnityEngine_Vector3 value;
	 *
	 *   if ((bRam000000000754a85c & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     bRam000000000754a85c = 1;
	 *   }
	 *   if (this.isMoving == false) {
	 *     return;
	 *   }
	 *   fVar12 = this.moveTimer;
	 *   lVar5 = 0x9c;
	 *   if (this.authoritativeMoveDuration <= 0.0) {
	 *     lVar5 = 0x30;
	 *   }
	 *   fVar7 = *(float *)(&this.field_0x0 + lVar5);
	 *   if (*(float *)(&this.field_0x0 + lVar5) <= 0.0) {
	 *     fVar7 = _UNK_0134ee00;
	 *   }
	 *   fVar6 = UnityEngine.Time.get_deltaTime();
	 *   fVar12 = fVar12 + fVar6 / fVar7;
	 *   this.moveTimer = fVar12;
	 *   if (this.moveCurve != null) {
	 *     fVar12 = UnityEngine.AnimationCurve.Evaluate(this.moveCurve,fVar12);
	 *     pvVar3 = UnityEngine.Component.get_transform(this);
	 *     if (pvVar3 != null) {
	 *       uVar8 = (this.startPos).x;
	 *       uVar9 = (this.startPos).y;
	 *       uVar10 = (this.endPos).x;
	 *       uVar11 = (this.endPos).y;
	 *       fVar7 = 1.0;
	 *       if (fVar12 <= 1.0) {
	 *         fVar7 = fVar12;
	 *       }
	 *       fVar6 = 0.0;
	 *       if (0.0 <= fVar12) {
	 *         fVar6 = fVar7;
	 *       }
	 *       fVar12 = (this.startPos).z;
	 *       value.x = (float)uVar8 + ((float)uVar10 - (float)uVar8) * fVar6;
	 *       value.z = fVar12 + fVar6 * ((this.endPos).z - fVar12);
	 *       value.y = (float)uVar9 + ((float)uVar11 - (float)uVar9) * fVar6;
	 *       UnityEngine.Transform.set_position(pvVar3,value);
	 *       if (this.moveTimer < 1.0) {
	 *         return;
	 *       }
	 *       this.isMoving = false;
	 *       pvVar3 = UnityEngine.Component.get_transform(this);
	 *       if (pvVar3 != null) {
	 *         UnityEngine.Transform.set_position(pvVar3,this.endPos);
	 *         iVar2 = NetworkedElevator.GetNearestFloorIndex(this,this.endPos);
	 *         puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *         pvVar3 = this.elevatorAudio;
	 *         this.currentFloorIndex = iVar2;
	 *         if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         uVar4 = UnityEngine.Object.op_Inequality(pvVar3,null);
	 *         if ((uVar4 & 1) == 0) {
	 *           return;
	 *         }
	 *         pvVar3 = this.elevatorAudio;
	 *         if (pvVar3 != null) {
	 *           if ((bRam000000000755d744 & 1) == 0) {
	 *             func_0x031fdc8c(PTR_DAT_0714e1b0);
	 *             bRam000000000755d744 = 1;
	 *           }
	 *           if (pvVar3 == null) {
	 *             IL2CPP.ThrowNullReferenceException();
	 *           }
	 *           lVar5 = *(long *)((long)pvVar3 + 0x10);
	 *           if (lVar5 == 0) {
	 *             UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(pvVar3);
	 *           }
	 *           if (pcRam000000000755d780 == null) {
	 *             pcRam000000000755d780 = (code *)func_0x031fdc50(&UNK_0138d05d);
	 *           }
	 *           (*pcRam000000000755d780)(lVar5,1);
	 *           return;
	 *         }
	 *       }
	 *     }
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x3216EF8 VA: 0x7818901EF8
	private int GetNearestFloorIndex(UnityEngine.Vector3 pos);
	/*
	 *   void *pvVar1;
	 *   uint uVar2;
	 *   long lVar3;
	 *   uint uVar4;
	 *   float fVar5;
	 *   float fVar6;
	 *   float fVar7;
	 *   float fVar8;
	 *   UnityEngine_Vector3 UVar9;
	 *
	 *   pvVar1 = this.floorPoints;
	 *   if (pvVar1 != null) {
	 *     if (*(int *)((long)pvVar1 + 0x18) == 0) {
	 * LAB_03316fec:
	 *       IL2CPP.ThrowIndexOutOfRangeException();
	 *     }
	 *     if (*(void **)((long)pvVar1 + 0x20) != null) {
	 *       UVar9 = UnityEngine.Transform.get_position(*(void **)((long)pvVar1 + 0x20));
	 *       pvVar1 = this.floorPoints;
	 *       if (pvVar1 != null) {
	 *         fVar5 = pos.x - UVar9.x;
	 *         fVar6 = pos.y - UVar9.y;
	 *         fVar7 = pos.z - UVar9.z;
	 *         lVar3 = 5;
	 *         fVar5 = fVar7 * fVar7 + fVar5 * fVar5 + fVar6 * fVar6;
	 *         uVar2 = 0;
	 *         do {
	 *           uVar4 = (int)lVar3 - 4;
	 *           if ((int)*(uint *)((long)pvVar1 + 0x18) <= (int)uVar4) {
	 *             return uVar2;
	 *           }
	 *           if (*(uint *)((long)pvVar1 + 0x18) <= uVar4) goto LAB_03316fec;
	 *           pvVar1 = *(void **)((long)pvVar1 + lVar3 * 8);
	 *           if (pvVar1 == null) break;
	 *           UVar9 = UnityEngine.Transform.get_position(pvVar1);
	 *           fVar6 = pos.x - UVar9.x;
	 *           fVar7 = pos.y - UVar9.y;
	 *           pvVar1 = this.floorPoints;
	 *           fVar8 = pos.z - UVar9.z;
	 *           lVar3 = lVar3 + 1;
	 *           fVar6 = fVar8 * fVar8 + fVar6 * fVar6 + fVar7 * fVar7;
	 *           if (fVar5 <= fVar6) {
	 *             uVar4 = uVar2;
	 *             fVar6 = fVar5;
	 *           }
	 *           fVar5 = fVar6;
	 *           uVar2 = uVar4;
	 *         } while (pvVar1 != null);
	 *       }
	 *     }
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x3216FF0 VA: 0x7818901FF0
	public void TryPressFloor(int floorIndex);
	/*
	 *   int iVar1;
	 *   undefined *puVar2;
	 *   undefined *puVar3;
	 *   undefined *puVar4;
	 *   bool bVar5;
	 *   long lVar6;
	 *   long lVar7;
	 *   void *pvVar8;
	 *   void *pvVar9;
	 *   undefined8 uVar10;
	 *   long *plVar11;
	 *   void *methodInfo_00;
	 *   void *methodInfo_01;
	 *   void *methodInfo_02;
	 *   void *methodInfo_03;
	 *   void *methodInfo_04;
	 *   void *methodInfo_05;
	 *   double dVar12;
	 *   double dVar13;
	 *   float fVar14;
	 *   float fVar15;
	 *   double dStack_88;
	 *   double dStack_80;
	 *   int iStack_78;
	 *   int iStack_74;
	 *   double dStack_70;
	 *   undefined1 auStack_64 [4];
	 *
	 *   if ((bRam000000000754a85d & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c0a10);
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     func_0x031fdc8c(PTR_DAT_070c1e50);
	 *     bRam000000000754a85d = 1;
	 *   }
	 *   if (((this.onCooldown != false) || (floorIndex < 0)) || (this.isMoving != false)) {
	 *     return;
	 *   }
	 *   if (this.floorPoints != null) {
	 *     if (*(int *)((long)this.floorPoints + 0x18) <= floorIndex) {
	 *       return;
	 *     }
	 *     if (this.currentFloorIndex == floorIndex) {
	 *       return;
	 *     }
	 *     if (*(int *)(*(long *)typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *     }
	 *     bVar5 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *     puVar3 = 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 *)puVar3 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       bVar5 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *       if (bVar5) {
	 *         if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         pvVar8 = Photon.Pun.PhotonNetwork.get_CurrentRoom();
	 *         if (pvVar8 != null) {
	 *           iVar1 = this.currentFloorIndex;
	 *           if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
	 *             func_0x031fde08();
	 *           }
	 *           dVar12 = Photon.Pun.PhotonNetwork.get_Time();
	 *           fVar14 = this.cooldownTime;
	 *           fVar15 = this.moveDuration;
	 *           pvVar8 = (void *)func_0x031fdf24(*(undefined8 *)
	 *                                             typeinfo_ptr_Photon3Unity3D_Hashtable_6FC1268);
	 *           Hashtable..ctor(pvVar8);
	 *           pvVar9 = NetworkedElevator.get_movingKey(this);
	 *           puVar2 = PTR_DAT_070c0840;
	 *           auStack_64[0] = 1;
	 *           uVar10 = func_0x031fde10(*(undefined8 *)(PTR_DAT_070c0840 + 0x28),auStack_64);
	 *           puVar4 = PTR_DAT_070c1260;
	 *           if (pvVar8 != null) {
	 *             func_0x04e2ce54(pvVar8,pvVar9,uVar10,*(undefined8 *)PTR_DAT_070c1260);
	 *             pvVar9 = NetworkedElevator.get_moveStartKey(this);
	 *             dStack_70 = dVar12;
	 *             uVar10 = func_0x031fde10(*(undefined8 *)(puVar2 + 0x80),&dStack_70);
	 *             func_0x04e2ce54(pvVar8,pvVar9,uVar10,*(undefined8 *)puVar4);
	 *             pvVar9 = NetworkedElevator.get_moveFromKey(this)
	 *             ;
	 *             iStack_74 = iVar1;
	 *             uVar10 = func_0x031fde10(*(undefined8 *)(puVar2 + 0x48),&iStack_74);
	 *             func_0x04e2ce54(pvVar8,pvVar9,uVar10,*(undefined8 *)puVar4);
	 *             pvVar9 = NetworkedElevator.get_moveToKey(this);
	 *             iStack_78 = floorIndex;
	 *             uVar10 = func_0x031fde10(*(undefined8 *)(puVar2 + 0x48),&iStack_78);
	 *             func_0x04e2ce54(pvVar8,pvVar9,uVar10,*(undefined8 *)puVar4);
	 *             pvVar9 = NetworkedElevator.get_moveDurKey(this);
	 *             dStack_80 = (double)fVar15;
	 *             uVar10 = func_0x031fde10(*(undefined8 *)(puVar2 + 0x80),&dStack_80);
	 *             func_0x04e2ce54(pvVar8,pvVar9,uVar10,*(undefined8 *)puVar4);
	 *             pvVar9 = NetworkedElevator.get_cooldownEndKey(this);
	 *             dStack_88 = dVar12 + (double)fVar14;
	 *             uVar10 = func_0x031fde10(*(undefined8 *)(puVar2 + 0x80),&dStack_88);
	 *             func_0x04e2ce54(pvVar8,pvVar9,uVar10,*(undefined8 *)puVar4);
	 *             plVar11 = Photon.Pun.PhotonNetwork.get_CurrentRoom();
	 *             if (plVar11 != null) {
	 *               pvVar9 = null;
	 *               (**(code **)(*plVar11 + 0x188))(plVar11,pvVar8,0,0,*(undefined8 *)(*plVar11 + 400));
	 *               pvVar8 = this.masterFinishMoveCoroutine;
	 *               if (pvVar8 != null) {
	 *                 pvVar9 = null;
	 *                 UnityEngine.MonoBehaviour.StopCoroutine(this,pvVar8);
	 *               }
	 *               if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
	 *                 func_0x031fde08();
	 *               }
	 *               dVar13 = Photon.Pun.PhotonNetwork.get_Time();
	 *               dVar13 = (double)fVar15 - (dVar13 - dVar12);
	 *               dVar12 = 0.0;
	 *               if (0.0 <= dVar13) {
	 *                 dVar12 = dVar13;
	 *               }
	 *               pvVar8 = NetworkedElevator.MasterFinishMoveCoroutine(this,(float)dVar12,floorIndex);
	 *               pvVar8 = UnityEngine.MonoBehaviour.StartCoroutine(this,pvVar8);
	 *               this.masterFinishMoveCoroutine = pvVar8;
	 *               func_0x031fdc38(&this.masterFinishMoveCoroutine,pvVar8);
	 *               return;
	 *             }
	 *           }
	 *           IL2CPP.ThrowNullReferenceException();
	 *         }
	 *       }
	 *       return;
	 *     }
	 *     pvVar8 = MonoBehaviourPun.get_photonView(this);
	 *     plVar11 = (long *)func_0x031fdd78(*(undefined8 *)PTR_DAT_070c0a10,1);
	 *     lVar6 = func_0x031fde10(*(undefined8 *)(PTR_DAT_070c0840 + 0x48),&stack0xffffffffffffffdc);
	 *     if (plVar11 != null) {
	 *       if ((lVar6 != 0) &&
	 *          (lVar7 = func_0x031fde0c(lVar6,*(undefined8 *)(*plVar11 + 0x40)), lVar7 == 0)) {
	 *         uVar10 = func_0x031fdf58();
	 *         IL2CPP.ThrowManagedException();
	 *       }
	 *       if ((int)plVar11[3] == 0) {
	 *         IL2CPP.ThrowIndexOutOfRangeException();
	 *       }
	 *       plVar11[4] = lVar6;
	 *       func_0x031fdc38(plVar11 + 4,lVar6);
	 *       if (pvVar8 != null) {
	 *         Photon.Pun.PhotonView.RPC(pvVar8,*(void **)PTR_DAT_070c1e50,2,plVar11);
	 *         return;
	 *       }
	 *     }
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x321745C VA: 0x781890245C
	private void RPC_RequestMoveToFloor(int floorIndex, Photon.Pun.PhotonMessageInfo info);
	/*
	 *   int iVar1;
	 *   undefined *puVar2;
	 *   undefined *puVar3;
	 *   undefined *puVar4;
	 *   bool bVar5;
	 *   undefined8 uVar6;
	 *   long *plVar7;
	 *   void *pvVar8;
	 *   void *methodInfo;
	 *   void *methodInfo_00;
	 *   void *methodInfo_01;
	 *   void *methodInfo_02;
	 *   void *methodInfo_03;
	 *   void *methodInfo_04;
	 *   void *methodInfo_05;
	 *   void *extraout_x1;
	 *   void *pvVar9;
	 *   double dVar10;
	 *   double dVar11;
	 *   float fVar12;
	 *   float fVar13;
	 *   undefined1 auVar14 [16];
	 *   double dStack_88;
	 *   double dStack_80;
	 *   int iStack_78;
	 *   int iStack_74;
	 *   double dStack_70;
	 *   undefined1 auStack_64 [4];
	 *
	 *   puVar3 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
	 *   if ((bRam000000000754a85e & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_mscorlib_Convert_6FC0CA8);
	 *     func_0x031fdc8c(PTR_DAT_070c1528);
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     bRam000000000754a85e = 1;
	 *   }
	 *   if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   bVar5 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *   if (bVar5) {
	 *     if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *     }
	 *     pvVar8 = Photon.Pun.PhotonNetwork.get_CurrentRoom();
	 *     if (pvVar8 != null) {
	 *       if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       pvVar8 = Photon.Pun.PhotonNetwork.get_CurrentRoom();
	 *       if (pvVar8 != null) {
	 *         pvVar9 = *(void **)((long)pvVar8 + 0x18);
	 *         pvVar8 = NetworkedElevator.get_movingKey(param_1);
	 *         puVar2 = PTR_DAT_070c1528;
	 *         if (pvVar9 != null) {
	 *           auVar14 = func_0x04e2d048(pvVar9,pvVar8,*(undefined8 *)PTR_DAT_070c1528);
	 *           pvVar8 = auVar14._8_8_;
	 *           if ((auVar14._0_8_ & 1) != 0) {
	 *             pvVar8 = NetworkedElevator.get_movingKey(param_1);
	 *             pvVar8 = Hashtable.get_Item(pvVar9,pvVar8);
	 *             if (*(int *)(*(long *)typeinfo_ptr_mscorlib_Convert_6FC0CA8 + 0xe4) == 0) {
	 *               func_0x031fde08(*(long *)typeinfo_ptr_mscorlib_Convert_6FC0CA8);
	 *             }
	 *             bVar5 = Convert.ToBoolean(pvVar8);
	 *             pvVar8 = extraout_x1;
	 *             if (bVar5) {
	 *               return;
	 *             }
	 *           }
	 *           pvVar8 = NetworkedElevator.get_cooldownEndKey(param_1);
	 *           auVar14 = func_0x04e2d048(pvVar9,pvVar8,*(undefined8 *)puVar2);
	 *           dVar11 = 0.0;
	 *           if ((auVar14._0_8_ & 1) != 0) {
	 *             pvVar8 = NetworkedElevator.get_cooldownEndKey(param_1);
	 *             pvVar8 = Hashtable.get_Item(pvVar9,pvVar8);
	 *             if (*(int *)(*(long *)typeinfo_ptr_mscorlib_Convert_6FC0CA8 + 0xe4) == 0) {
	 *               func_0x031fde08(*(long *)typeinfo_ptr_mscorlib_Convert_6FC0CA8);
	 *             }
	 *             dVar11 = Convert.ToDouble(pvVar8);
	 *           }
	 *           if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
	 *             func_0x031fde08();
	 *           }
	 *           dVar10 = Photon.Pun.PhotonNetwork.get_Time();
	 *           puVar3 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
	 *           if (dVar11 <= dVar10) {
	 *             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 *)puVar3 + 0xe4) == 0) {
	 *               func_0x031fde08();
	 *             }
	 *             bVar5 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *             if (bVar5) {
	 *               if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
	 *                 func_0x031fde08();
	 *               }
	 *               pvVar8 = Photon.Pun.PhotonNetwork.get_CurrentRoom();
	 *               if (pvVar8 != null) {
	 *                 iVar1 = param_1->currentFloorIndex;
	 *                 if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
	 *                   func_0x031fde08();
	 *                 }
	 *                 dVar11 = Photon.Pun.PhotonNetwork.get_Time();
	 *                 fVar12 = param_1->cooldownTime;
	 *                 fVar13 = param_1->moveDuration;
	 *                 pvVar8 = (void *)func_0x031fdf24(*(undefined8 *)
	 *                                                   typeinfo_ptr_Photon3Unity3D_Hashtable_6FC1268);
	 *                 Hashtable..ctor(pvVar8);
	 *                 pvVar9 = NetworkedElevator.get_movingKey(param_1);
	 *                 puVar2 = PTR_DAT_070c0840;
	 *                 auStack_64[0] = 1;
	 *                 uVar6 = func_0x031fde10(*(undefined8 *)(PTR_DAT_070c0840 + 0x28),auStack_64);
	 *                 puVar4 = PTR_DAT_070c1260;
	 *                 if (pvVar8 != null) {
	 *                   func_0x04e2ce54(pvVar8,pvVar9,uVar6,*(undefined8 *)PTR_DAT_070c1260);
	 *                   pvVar9 = NetworkedElevator.get_moveStartKey(param_1);
	 *                   dStack_70 = dVar11;
	 *                   uVar6 = func_0x031fde10(*(undefined8 *)(puVar2 + 0x80),&dStack_70);
	 *                   func_0x04e2ce54(pvVar8,pvVar9,uVar6,*(undefined8 *)puVar4);
	 *                   pvVar9 = NetworkedElevator.get_moveFromKey(param_1);
	 *                   iStack_74 = iVar1;
	 *                   uVar6 = func_0x031fde10(*(undefined8 *)(puVar2 + 0x48),&iStack_74);
	 *                   func_0x04e2ce54(pvVar8,pvVar9,uVar6,*(undefined8 *)puVar4);
	 *                   pvVar9 = NetworkedElevator.get_moveToKey(param_1);
	 *                   iStack_78 = param_2;
	 *                   uVar6 = func_0x031fde10(*(undefined8 *)(puVar2 + 0x48),&iStack_78);
	 *                   func_0x04e2ce54(pvVar8,pvVar9,uVar6,*(undefined8 *)puVar4);
	 *                   pvVar9 = NetworkedElevator.get_moveDurKey(param_1);
	 *                   dStack_80 = (double)fVar13;
	 *                   uVar6 = func_0x031fde10(*(undefined8 *)(puVar2 + 0x80),&dStack_80);
	 *                   func_0x04e2ce54(pvVar8,pvVar9,uVar6,*(undefined8 *)puVar4);
	 *                   pvVar9 = NetworkedElevator.get_cooldownEndKey(param_1);
	 *                   dStack_88 = dVar11 + (double)fVar12;
	 *                   uVar6 = func_0x031fde10(*(undefined8 *)(puVar2 + 0x80),&dStack_88);
	 *                   func_0x04e2ce54(pvVar8,pvVar9,uVar6,*(undefined8 *)puVar4);
	 *                   plVar7 = Photon.Pun.PhotonNetwork.get_CurrentRoom();
	 *                   if (plVar7 != null) {
	 *                     pvVar9 = null;
	 *                     (**(code **)(*plVar7 + 0x188))(plVar7,pvVar8,0,0,*(undefined8 *)(*plVar7 + 400))
	 *                     ;
	 *                     pvVar8 = param_1->masterFinishMoveCoroutine;
	 *                     if (pvVar8 != null) {
	 *                       pvVar9 = null;
	 *                       UnityEngine.MonoBehaviour.StopCoroutine(param_1,pvVar8);
	 *                     }
	 *                     if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
	 *                       func_0x031fde08();
	 *                     }
	 *                     dVar10 = Photon.Pun.PhotonNetwork.get_Time();
	 *                     dVar10 = (double)fVar13 - (dVar10 - dVar11);
	 *                     dVar11 = 0.0;
	 *                     if (0.0 <= dVar10) {
	 *                       dVar11 = dVar10;
	 *                     }
	 *                     pvVar8 = NetworkedElevator.MasterFinishMoveCoroutine(param_1,(float)dVar11,param_2);
	 *                     pvVar8 = UnityEngine.MonoBehaviour.StartCoroutine(param_1,pvVar8);
	 *                     param_1->masterFinishMoveCoroutine = pvVar8;
	 *                     func_0x031fdc38(&param_1->masterFinishMoveCoroutine,pvVar8);
	 *                     return;
	 *                   }
	 *                 }
	 *                 IL2CPP.ThrowNullReferenceException();
	 *               }
	 *             }
	 *             return;
	 *           }
	 *           return;
	 *         }
	 *       }
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *   }
	 *   return;
	 */
	// RVA: 0x3217174 VA: 0x7818902174
	private void MasterStartMove(int floorIndex);
	/*
	 *   int iVar1;
	 *   undefined *puVar2;
	 *   undefined *puVar3;
	 *   undefined *puVar4;
	 *   bool bVar5;
	 *   void *pvVar6;
	 *   void *pvVar7;
	 *   undefined8 uVar8;
	 *   long *plVar9;
	 *   void *methodInfo_00;
	 *   void *methodInfo_01;
	 *   void *methodInfo_02;
	 *   void *methodInfo_03;
	 *   void *methodInfo_04;
	 *   void *methodInfo_05;
	 *   double dVar10;
	 *   double dVar11;
	 *   float fVar12;
	 *   float fVar13;
	 *   double dStack_88;
	 *   double dStack_80;
	 *   int iStack_78;
	 *   int iStack_74;
	 *   double dStack_70;
	 *   undefined1 auStack_64 [4];
	 *
	 *   puVar3 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
	 *   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 *)puVar3 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   bVar5 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *   if (bVar5) {
	 *     if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *     }
	 *     pvVar6 = Photon.Pun.PhotonNetwork.get_CurrentRoom();
	 *     if (pvVar6 != null) {
	 *       iVar1 = this.currentFloorIndex;
	 *       if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       dVar10 = Photon.Pun.PhotonNetwork.get_Time();
	 *       fVar12 = this.cooldownTime;
	 *       fVar13 = this.moveDuration;
	 *       pvVar6 = (void *)func_0x031fdf24(*(undefined8 *)typeinfo_ptr_Photon3Unity3D_Hashtable_6FC1268)
	 *       ;
	 *       Hashtable..ctor(pvVar6);
	 *       pvVar7 = NetworkedElevator.get_movingKey(this);
	 *       puVar2 = PTR_DAT_070c0840;
	 *       auStack_64[0] = 1;
	 *       uVar8 = func_0x031fde10(*(undefined8 *)(PTR_DAT_070c0840 + 0x28),auStack_64);
	 *       puVar4 = PTR_DAT_070c1260;
	 *       if (pvVar6 != null) {
	 *         func_0x04e2ce54(pvVar6,pvVar7,uVar8,*(undefined8 *)PTR_DAT_070c1260);
	 *         pvVar7 = NetworkedElevator.get_moveStartKey(this);
	 *         dStack_70 = dVar10;
	 *         uVar8 = func_0x031fde10(*(undefined8 *)(puVar2 + 0x80),&dStack_70);
	 *         func_0x04e2ce54(pvVar6,pvVar7,uVar8,*(undefined8 *)puVar4);
	 *         pvVar7 = NetworkedElevator.get_moveFromKey(this);
	 *         iStack_74 = iVar1;
	 *         uVar8 = func_0x031fde10(*(undefined8 *)(puVar2 + 0x48),&iStack_74);
	 *         func_0x04e2ce54(pvVar6,pvVar7,uVar8,*(undefined8 *)puVar4);
	 *         pvVar7 = NetworkedElevator.get_moveToKey(this);
	 *         iStack_78 = floorIndex;
	 *         uVar8 = func_0x031fde10(*(undefined8 *)(puVar2 + 0x48),&iStack_78);
	 *         func_0x04e2ce54(pvVar6,pvVar7,uVar8,*(undefined8 *)puVar4);
	 *         pvVar7 = NetworkedElevator.get_moveDurKey(this);
	 *         dStack_80 = (double)fVar13;
	 *         uVar8 = func_0x031fde10(*(undefined8 *)(puVar2 + 0x80),&dStack_80);
	 *         func_0x04e2ce54(pvVar6,pvVar7,uVar8,*(undefined8 *)puVar4);
	 *         pvVar7 = NetworkedElevator.get_cooldownEndKey(this);
	 *         dStack_88 = dVar10 + (double)fVar12;
	 *         uVar8 = func_0x031fde10(*(undefined8 *)(puVar2 + 0x80),&dStack_88);
	 *         func_0x04e2ce54(pvVar6,pvVar7,uVar8,*(undefined8 *)puVar4);
	 *         plVar9 = Photon.Pun.PhotonNetwork.get_CurrentRoom();
	 *         if (plVar9 != null) {
	 *           pvVar7 = null;
	 *           (**(code **)(*plVar9 + 0x188))(plVar9,pvVar6,0,0,*(undefined8 *)(*plVar9 + 400));
	 *           pvVar6 = this.masterFinishMoveCoroutine;
	 *           if (pvVar6 != null) {
	 *             pvVar7 = null;
	 *             UnityEngine.MonoBehaviour.StopCoroutine(this,pvVar6);
	 *           }
	 *           if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
	 *             func_0x031fde08();
	 *           }
	 *           dVar11 = Photon.Pun.PhotonNetwork.get_Time();
	 *           dVar11 = (double)fVar13 - (dVar11 - dVar10);
	 *           dVar10 = 0.0;
	 *           if (0.0 <= dVar11) {
	 *             dVar10 = dVar11;
	 *           }
	 *           pvVar6 = NetworkedElevator.MasterFinishMoveCoroutine(this,(float)dVar10,floorIndex);
	 *           pvVar6 = UnityEngine.MonoBehaviour.StartCoroutine(this,pvVar6);
	 *           this.masterFinishMoveCoroutine = pvVar6;
	 *           func_0x031fdc38(&this.masterFinishMoveCoroutine,pvVar6);
	 *           return;
	 *         }
	 *       }
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *   }
	 *   return;
	 */
	// RVA: 0x3217644 VA: 0x7818902644
	private System.Collections.IEnumerator MasterFinishMoveCoroutine(float waitSeconds, int landedFloor);
	/*
	 *   undefined *puVar1;
	 *   void *this_00;
	 *
	 *   puVar1 = PTR_DAT_070c1e58;
	 *   if ((bRam000000000754a860 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c1e58);
	 *     bRam000000000754a860 = 1;
	 *   }
	 *   this_00 = (void *)func_0x031fdf24(*(undefined8 *)puVar1);
	 *   System.Object..ctor(this_00);
	 *   *(undefined4 *)((long)this_00 + 0x10) = 0;
	 *   *(undefined8 *)((long)this_00 + 0x28) = this;
	 *   func_0x031fdc38((undefined8 *)((long)this_00 + 0x28),this);
	 *   *(float *)((long)this_00 + 0x20) = waitSeconds;
	 *   *(int *)((long)this_00 + 0x30) = landedFloor;
	 *   return this_00;
	 */
	// RVA: 0x32176F8 VA: 0x78189026F8
	public override void OnRoomPropertiesUpdate(ExitGames.Client.Photon.Hashtable propertiesThatChanged);
	/*
	 *   uint uVar1;
	 *   uint uVar2;
	 *   undefined *puVar3;
	 *   undefined *puVar4;
	 *   bool bVar5;
	 *   uint uVar6;
	 *   uint uVar7;
	 *   ulong uVar8;
	 *   void *pvVar9;
	 *   void *extraout_x1;
	 *   void *methodInfo;
	 *   void *extraout_x1_00;
	 *   void *extraout_x1_01;
	 *   void *methodInfo_00;
	 *   void *methodInfo_01;
	 *   void *methodInfo_02;
	 *   void *methodInfo_03;
	 *   void *pvVar10;
	 *   long lVar11;
	 *   void *pvVar12;
	 *   void **ppvVar13;
	 *   float fVar14;
	 *   float fVar15;
	 *   float fVar16;
	 *   double dVar17;
	 *   double dVar18;
	 *   double dVar19;
	 *   double dVar20;
	 *   double dVar21;
	 *   undefined4 uVar22;
	 *   undefined4 uVar23;
	 *   undefined4 uVar24;
	 *   undefined4 uVar25;
	 *   UnityEngine_Vector3 UVar26;
	 *   undefined1 auVar27 [16];
	 *
	 *   puVar4 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
	 *   if ((bRam000000000754a861 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     bRam000000000754a861 = 1;
	 *   }
	 *   if (*(int *)(*(long *)puVar4 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   pvVar9 = Photon.Pun.PhotonNetwork.get_CurrentRoom();
	 *   if (pvVar9 == null) {
	 *     IL2CPP.ThrowNullReferenceException();
	 *   }
	 *   pvVar10 = *(void **)((long)pvVar9 + 0x18);
	 *   pvVar9 = pvVar10;
	 *   if ((bRam000000000754a862 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_mscorlib_Convert_6FC0CA8);
	 *     func_0x031fdc8c(PTR_DAT_070c1528);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     bRam000000000754a862 = 1;
	 *     pvVar9 = extraout_x1;
	 *   }
	 *   puVar4 = PTR_DAT_070c1528;
	 *   if (pvVar10 == null) {
	 *     return;
	 *   }
	 *   pvVar9 = NetworkedElevator.get_cooldownEndKey(param_1);
	 *   auVar27 = func_0x04e2d048(pvVar10,pvVar9,*(undefined8 *)puVar4);
	 *   pvVar9 = auVar27._8_8_;
	 *   if ((auVar27._0_8_ & 1) == 0) {
	 * LAB_03316788:
	 *     NetworkedElevator.StopLocalCooldownVisual(param_1);
	 *     pvVar9 = extraout_x1_01;
	 *   }
	 *   else {
	 *     pvVar9 = NetworkedElevator.get_cooldownEndKey(param_1);
	 *     pvVar9 = Hashtable.get_Item(pvVar10,pvVar9);
	 *     if (*(int *)(*(long *)typeinfo_ptr_mscorlib_Convert_6FC0CA8 + 0xe4) == 0) {
	 *       func_0x031fde08(*(long *)typeinfo_ptr_mscorlib_Convert_6FC0CA8);
	 *     }
	 *     dVar17 = Convert.ToDouble(pvVar9);
	 *     if (*(int *)(*(long *)typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *     }
	 *     dVar18 = Photon.Pun.PhotonNetwork.get_Time();
	 *     pvVar9 = methodInfo;
	 *     if (dVar17 - dVar18 <= 0.0) goto LAB_03316788;
	 *     NetworkedElevator.StartLocalCooldownVisual(param_1,(float)(dVar17 - dVar18));
	 *     pvVar9 = extraout_x1_00;
	 *   }
	 *   pvVar9 = NetworkedElevator.get_movingKey(param_1);
	 *   auVar27 = func_0x04e2d048(pvVar10,pvVar9,*(undefined8 *)puVar4);
	 *   pvVar9 = auVar27._8_8_;
	 *   if ((auVar27._0_8_ & 1) != 0) {
	 *     pvVar9 = NetworkedElevator.get_movingKey(param_1);
	 *     pvVar9 = Hashtable.get_Item(pvVar10,pvVar9);
	 *     puVar3 = typeinfo_ptr_mscorlib_Convert_6FC0CA8;
	 *     if (*(int *)(*(long *)typeinfo_ptr_mscorlib_Convert_6FC0CA8 + 0xe4) == 0) {
	 *       func_0x031fde08(*(long *)typeinfo_ptr_mscorlib_Convert_6FC0CA8);
	 *     }
	 *     bVar5 = Convert.ToBoolean(pvVar9);
	 *     pvVar9 = methodInfo_00;
	 *     if (bVar5) {
	 *       pvVar9 = NetworkedElevator.get_moveStartKey(param_1);
	 *       auVar27 = func_0x04e2d048(pvVar10,pvVar9,*(undefined8 *)puVar4);
	 *       if ((auVar27._0_8_ & 1) == 0) {
	 *         return;
	 *       }
	 *       pvVar9 = NetworkedElevator.get_moveFromKey(param_1);
	 *       auVar27 = func_0x04e2d048(pvVar10,pvVar9,*(undefined8 *)puVar4);
	 *       if ((auVar27._0_8_ & 1) == 0) {
	 *         return;
	 *       }
	 *       pvVar9 = NetworkedElevator.get_moveToKey(param_1);
	 *       auVar27 = func_0x04e2d048(pvVar10,pvVar9,*(undefined8 *)puVar4);
	 *       if ((auVar27._0_8_ & 1) == 0) {
	 *         return;
	 *       }
	 *       pvVar9 = NetworkedElevator.get_moveDurKey(param_1);
	 *       auVar27 = func_0x04e2d048(pvVar10,pvVar9,*(undefined8 *)puVar4);
	 *       if ((auVar27._0_8_ & 1) == 0) {
	 *         return;
	 *       }
	 *       pvVar9 = NetworkedElevator.get_moveStartKey(param_1);
	 *       pvVar9 = Hashtable.get_Item(pvVar10,pvVar9);
	 *       if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
	 *         func_0x031fde08(*(long *)puVar3);
	 *       }
	 *       dVar17 = Convert.ToDouble(pvVar9);
	 *       pvVar9 = NetworkedElevator.get_moveFromKey(param_1);
	 *       pvVar9 = Hashtable.get_Item(pvVar10,pvVar9);
	 *       uVar6 = Convert.ToInt32(pvVar9);
	 *       pvVar9 = NetworkedElevator.get_moveToKey(param_1);
	 *       pvVar9 = Hashtable.get_Item(pvVar10,pvVar9);
	 *       uVar7 = Convert.ToInt32(pvVar9);
	 *       pvVar9 = NetworkedElevator.get_moveDurKey(param_1);
	 *       pvVar9 = Hashtable.get_Item(pvVar10,pvVar9);
	 *       dVar18 = Convert.ToDouble(pvVar9);
	 *       puVar4 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
	 *       if (*(int *)(*(long *)typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       dVar19 = Photon.Pun.PhotonNetwork.get_Time();
	 *       pvVar9 = param_1->floorPoints;
	 *       dVar20 = (dVar19 - dVar17) / dVar18;
	 *       dVar21 = 0.0;
	 *       if (0.0 <= dVar20) {
	 *         dVar21 = dVar20;
	 *       }
	 *       dVar20 = 1.0;
	 *       if (dVar21 <= 1.0) {
	 *         dVar20 = dVar21;
	 *       }
	 *       if (pvVar9 == null) goto LAB_03316d64;
	 *       uVar2 = *(uint *)((long)pvVar9 + 0x18) - 1;
	 *       uVar1 = uVar6;
	 *       if ((int)uVar2 <= (int)uVar6) {
	 *         uVar1 = uVar2;
	 *       }
	 *       uVar2 = 0;
	 *       if (-1 < (int)uVar6) {
	 *         uVar2 = uVar1;
	 *       }
	 *       if (*(uint *)((long)pvVar9 + 0x18) <= uVar2) goto LAB_03316d68;
	 *       pvVar9 = *(void **)((long)pvVar9 + (long)(int)uVar2 * 8 + 0x20);
	 *       if (pvVar9 == null) goto LAB_03316d64;
	 *       UVar26 = UnityEngine.Transform.get_position(pvVar9);
	 *       pvVar9 = param_1->floorPoints;
	 *       (param_1->startPos).x = UVar26.x;
	 *       (param_1->startPos).y = UVar26.y;
	 *       (param_1->startPos).z = UVar26.z;
	 *       if (pvVar9 == null) goto LAB_03316d64;
	 *       uVar2 = *(uint *)((long)pvVar9 + 0x18) - 1;
	 *       uVar1 = uVar7;
	 *       if ((int)uVar2 <= (int)uVar7) {
	 *         uVar1 = uVar2;
	 *       }
	 *       uVar2 = 0;
	 *       if (-1 < (int)uVar7) {
	 *         uVar2 = uVar1;
	 *       }
	 *       if (*(uint *)((long)pvVar9 + 0x18) <= uVar2) goto LAB_03316d68;
	 *       pvVar9 = *(void **)((long)pvVar9 + (long)(int)uVar2 * 8 + 0x20);
	 *       if (pvVar9 == null) goto LAB_03316d64;
	 *       UVar26 = UnityEngine.Transform.get_position(pvVar9);
	 *       pvVar9 = param_1->moveCurve;
	 *       (param_1->endPos).z = UVar26.z;
	 *       (param_1->endPos).x = UVar26.x;
	 *       (param_1->endPos).y = UVar26.y;
	 *       param_1->moveTimer = (float)dVar20;
	 *       param_1->authoritativeMoveDuration = (float)dVar18;
	 *       param_1->isMoving = dVar20 < 1.0;
	 *       if (pvVar9 == null) goto LAB_03316d64;
	 *       fVar14 = UnityEngine.AnimationCurve.Evaluate(pvVar9,(float)dVar20);
	 *       pvVar9 = UnityEngine.Component.get_transform(param_1);
	 *       if (pvVar9 == null) goto LAB_03316d64;
	 *       uVar22 = (param_1->startPos).x;
	 *       uVar23 = (param_1->startPos).y;
	 *       uVar24 = (param_1->endPos).x;
	 *       uVar25 = (param_1->endPos).y;
	 *       fVar15 = 1.0;
	 *       if (fVar14 <= 1.0) {
	 *         fVar15 = fVar14;
	 *       }
	 *       fVar16 = 0.0;
	 *       if (0.0 <= fVar14) {
	 *         fVar16 = fVar15;
	 *       }
	 *       fVar14 = (param_1->startPos).z;
	 *       UVar26.x = (float)uVar22 + ((float)uVar24 - (float)uVar22) * fVar16;
	 *       UVar26.z = fVar14 + fVar16 * ((param_1->endPos).z - fVar14);
	 *       UVar26.y = (float)uVar23 + ((float)uVar25 - (float)uVar23) * fVar16;
	 *       UnityEngine.Transform.set_position(pvVar9,UVar26);
	 *       param_1->currentFloorIndex = uVar6;
	 *       puVar3 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *       if (param_1->isMoving != false) {
	 *         pvVar9 = param_1->elevatorAudio;
	 *         if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         uVar8 = UnityEngine.Object.op_Inequality(pvVar9,null);
	 *         if ((uVar8 & 1) != 0) {
	 *           pvVar9 = param_1->moveSound;
	 *           if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
	 *             func_0x031fde08();
	 *           }
	 *           uVar8 = UnityEngine.Object.op_Inequality(pvVar9,null);
	 *           if ((uVar8 & 1) != 0) {
	 *             if (param_1->elevatorAudio == null) goto LAB_03316d64;
	 *             pvVar9 = UnityEngine.AudioSource.get_clip(param_1->elevatorAudio);
	 *             lVar11 = *(long *)puVar3;
	 *             pvVar12 = param_1->moveSound;
	 *             if (*(int *)(lVar11 + 0xe4) == 0) {
	 *               func_0x031fde08(lVar11);
	 *             }
	 *             pvVar10 = null;
	 *             uVar8 = UnityEngine.Object.op_Inequality(pvVar9,pvVar12);
	 *             if ((uVar8 & 1) == 0) {
	 *               if (param_1->elevatorAudio == null) goto LAB_03316d64;
	 *               bVar5 = UnityEngine.AudioSource.get_isPlaying(param_1->elevatorAudio);
	 *               if (bVar5) goto LAB_03316cc4;
	 *             }
	 *             if (param_1->elevatorAudio != null) {
	 *               UnityEngine.AudioSource.set_clip(param_1->elevatorAudio,param_1->moveSound);
	 *               if (param_1->elevatorAudio == null) goto LAB_03316d64;
	 *               pvVar10 = null;
	 *               UnityEngine.AudioSource.set_loop(param_1->elevatorAudio,param_1->loopSound);
	 *               if (param_1->elevatorAudio == null) goto LAB_03316d64;
	 *               UnityEngine.AudioSource.Play(param_1->elevatorAudio)
	 *               ;
	 *               goto LAB_03316cc4;
	 *             }
	 *             goto LAB_03316d64;
	 *           }
	 *         }
	 *       }
	 *       pvVar9 = param_1->elevatorAudio;
	 *       if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       pvVar10 = null;
	 *       uVar8 = UnityEngine.Object.op_Inequality(pvVar9,null);
	 *       if ((uVar8 & 1) == 0) {
	 * LAB_03316cc4:
	 *         if (*(int *)(*(long *)puVar4 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         bVar5 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *         if (!bVar5) {
	 *           return;
	 *         }
	 *         ppvVar13 = &param_1->masterFinishMoveCoroutine;
	 *         if (*ppvVar13 != null) {
	 *           pvVar10 = null;
	 *           UnityEngine.MonoBehaviour.StopCoroutine(param_1,*ppvVar13);
	 *         }
	 *         dVar18 = dVar18 - (dVar19 - dVar17);
	 *         dVar17 = 0.0;
	 *         if (0.0 <= dVar18) {
	 *           dVar17 = dVar18;
	 *         }
	 *         pvVar9 = NetworkedElevator.MasterFinishMoveCoroutine(param_1,(float)dVar17,uVar7);
	 *         pvVar9 = UnityEngine.MonoBehaviour.StartCoroutine(param_1,pvVar9);
	 *         param_1->masterFinishMoveCoroutine = pvVar9;
	 *         if (iRam00000000077785f0 != 0) {
	 *           func_0x032ed0c0(1L << ((ulong)ppvVar13 >> 0xc & 0x3f),
	 *                           ((ulong)ppvVar13 >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
	 *         }
	 *         return;
	 *       }
	 *       if (param_1->elevatorAudio != null) {
	 *         UnityEngine.AudioSource.Stop(param_1->elevatorAudio);
	 *         goto LAB_03316cc4;
	 *       }
	 *       goto LAB_03316d64;
	 *     }
	 *   }
	 *   pvVar9 = NetworkedElevator.get_floorKey(param_1);
	 *   auVar27 = func_0x04e2d048(pvVar10,pvVar9,*(undefined8 *)puVar4);
	 *   if ((auVar27._0_8_ & 1) == 0) {
	 *     return;
	 *   }
	 *   pvVar9 = NetworkedElevator.get_floorKey(param_1);
	 *   pvVar9 = Hashtable.get_Item(pvVar10,pvVar9);
	 *   if (*(int *)(*(long *)typeinfo_ptr_mscorlib_Convert_6FC0CA8 + 0xe4) == 0) {
	 *     func_0x031fde08(*(long *)typeinfo_ptr_mscorlib_Convert_6FC0CA8);
	 *   }
	 *   uVar6 = Convert.ToInt32(pvVar9);
	 *   pvVar9 = param_1->floorPoints;
	 *   if (pvVar9 != null) {
	 *     uVar1 = *(uint *)((long)pvVar9 + 0x18);
	 *     param_1->isMoving = false;
	 *     param_1->moveTimer = 0.0;
	 *     param_1->authoritativeMoveDuration = 0.0;
	 *     uVar2 = uVar1 - 1;
	 *     uVar7 = uVar6;
	 *     if ((int)uVar2 <= (int)uVar6) {
	 *       uVar7 = uVar2;
	 *     }
	 *     uVar2 = 0;
	 *     if (-1 < (int)uVar6) {
	 *       uVar2 = uVar7;
	 *     }
	 *     param_1->currentFloorIndex = uVar2;
	 *     if (uVar1 <= uVar2) {
	 * LAB_03316d68:
	 *       IL2CPP.ThrowIndexOutOfRangeException();
	 *     }
	 *     pvVar9 = *(void **)((long)pvVar9 + (long)(int)uVar2 * 8 + 0x20);
	 *     if (pvVar9 != null) {
	 *       UVar26 = UnityEngine.Transform.get_position(pvVar9);
	 *       (param_1->endPos).y = UVar26.y;
	 *       (param_1->endPos).z = UVar26.z;
	 *       (param_1->startPos).x = UVar26.x;
	 *       (param_1->startPos).y = UVar26.y;
	 *       (param_1->startPos).z = UVar26.z;
	 *       (param_1->endPos).x = UVar26.x;
	 *       pvVar9 = UnityEngine.Component.get_transform(param_1);
	 *       if (pvVar9 != null) {
	 *         UnityEngine.Transform.set_position(pvVar9,param_1->endPos);
	 *         pvVar9 = param_1->elevatorAudio;
	 *         if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         uVar8 = UnityEngine.Object.op_Inequality(pvVar9,null);
	 *         if ((uVar8 & 1) == 0) {
	 *           return;
	 *         }
	 *         pvVar9 = param_1->elevatorAudio;
	 *         if (pvVar9 != null) {
	 *           if ((bRam000000000755d744 & 1) == 0) {
	 *             func_0x031fdc8c(PTR_DAT_0714e1b0);
	 *             bRam000000000755d744 = 1;
	 *           }
	 *           if (pvVar9 == null) {
	 *             IL2CPP.ThrowNullReferenceException();
	 *           }
	 *           lVar11 = *(long *)((long)pvVar9 + 0x10);
	 *           if (lVar11 == 0) {
	 *             UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(pvVar9);
	 *           }
	 *           if (pcRam000000000755d780 == null) {
	 *             pcRam000000000755d780 = (code *)func_0x031fdc50(&UNK_0138d05d);
	 *           }
	 *           (*pcRam000000000755d780)(lVar11,1);
	 *           return;
	 *         }
	 *       }
	 *     }
	 *   }
	 * LAB_03316d64:
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x321667C VA: 0x781890167C
	private void ApplyRoomProperties(ExitGames.Client.Photon.Hashtable roomProps);
	/*
	 *   uint uVar1;
	 *   uint uVar2;
	 *   undefined *puVar3;
	 *   undefined *puVar4;
	 *   bool bVar5;
	 *   uint uVar6;
	 *   uint uVar7;
	 *   void *pvVar8;
	 *   ulong uVar9;
	 *   void *extraout_x1;
	 *   void *methodInfo;
	 *   void *extraout_x1_00;
	 *   void *extraout_x1_01;
	 *   void *methodInfo_00;
	 *   void *methodInfo_01;
	 *   void *methodInfo_02;
	 *   void *methodInfo_03;
	 *   void *methodInfo_04;
	 *   long lVar10;
	 *   void *pvVar11;
	 *   void **ppvVar12;
	 *   float fVar13;
	 *   float fVar14;
	 *   float fVar15;
	 *   double dVar16;
	 *   double dVar17;
	 *   double dVar18;
	 *   double dVar19;
	 *   double dVar20;
	 *   undefined4 uVar21;
	 *   undefined4 uVar22;
	 *   undefined4 uVar23;
	 *   undefined4 uVar24;
	 *   UnityEngine_Vector3 UVar25;
	 *   undefined1 auVar26 [16];
	 *
	 *   pvVar8 = param_2;
	 *   if ((bRam000000000754a862 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_mscorlib_Convert_6FC0CA8);
	 *     func_0x031fdc8c(PTR_DAT_070c1528);
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     bRam000000000754a862 = 1;
	 *     pvVar8 = extraout_x1;
	 *   }
	 *   puVar4 = PTR_DAT_070c1528;
	 *   if (param_2 == null) {
	 *     return;
	 *   }
	 *   pvVar8 = NetworkedElevator.get_cooldownEndKey(param_1);
	 *   auVar26 = func_0x04e2d048(param_2,pvVar8,*(undefined8 *)puVar4);
	 *   pvVar8 = auVar26._8_8_;
	 *   if ((auVar26._0_8_ & 1) == 0) {
	 * LAB_03316788:
	 *     NetworkedElevator.StopLocalCooldownVisual(param_1);
	 *     pvVar8 = extraout_x1_01;
	 *   }
	 *   else {
	 *     pvVar8 = NetworkedElevator.get_cooldownEndKey(param_1);
	 *     pvVar8 = Hashtable.get_Item(param_2,pvVar8);
	 *     if (*(int *)(*(long *)typeinfo_ptr_mscorlib_Convert_6FC0CA8 + 0xe4) == 0) {
	 *       func_0x031fde08(*(long *)typeinfo_ptr_mscorlib_Convert_6FC0CA8);
	 *     }
	 *     dVar16 = Convert.ToDouble(pvVar8);
	 *     if (*(int *)(*(long *)typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *     }
	 *     dVar17 = Photon.Pun.PhotonNetwork.get_Time();
	 *     pvVar8 = methodInfo;
	 *     if (dVar16 - dVar17 <= 0.0) goto LAB_03316788;
	 *     NetworkedElevator.StartLocalCooldownVisual(param_1,(float)(dVar16 - dVar17));
	 *     pvVar8 = extraout_x1_00;
	 *   }
	 *   pvVar8 = NetworkedElevator.get_movingKey(param_1);
	 *   auVar26 = func_0x04e2d048(param_2,pvVar8,*(undefined8 *)puVar4);
	 *   pvVar8 = auVar26._8_8_;
	 *   if ((auVar26._0_8_ & 1) != 0) {
	 *     pvVar8 = NetworkedElevator.get_movingKey(param_1);
	 *     pvVar8 = Hashtable.get_Item(param_2,pvVar8);
	 *     puVar3 = typeinfo_ptr_mscorlib_Convert_6FC0CA8;
	 *     if (*(int *)(*(long *)typeinfo_ptr_mscorlib_Convert_6FC0CA8 + 0xe4) == 0) {
	 *       func_0x031fde08(*(long *)typeinfo_ptr_mscorlib_Convert_6FC0CA8);
	 *     }
	 *     bVar5 = Convert.ToBoolean(pvVar8);
	 *     pvVar8 = methodInfo_00;
	 *     if (bVar5) {
	 *       pvVar8 = NetworkedElevator.get_moveStartKey(param_1);
	 *       auVar26 = func_0x04e2d048(param_2,pvVar8,*(undefined8 *)puVar4);
	 *       if ((auVar26._0_8_ & 1) == 0) {
	 *         return;
	 *       }
	 *       pvVar8 = NetworkedElevator.get_moveFromKey(param_1);
	 *       auVar26 = func_0x04e2d048(param_2,pvVar8,*(undefined8 *)puVar4);
	 *       if ((auVar26._0_8_ & 1) == 0) {
	 *         return;
	 *       }
	 *       pvVar8 = NetworkedElevator.get_moveToKey(param_1);
	 *       auVar26 = func_0x04e2d048(param_2,pvVar8,*(undefined8 *)puVar4);
	 *       if ((auVar26._0_8_ & 1) == 0) {
	 *         return;
	 *       }
	 *       pvVar8 = NetworkedElevator.get_moveDurKey(param_1);
	 *       auVar26 = func_0x04e2d048(param_2,pvVar8,*(undefined8 *)puVar4);
	 *       if ((auVar26._0_8_ & 1) == 0) {
	 *         return;
	 *       }
	 *       pvVar8 = NetworkedElevator.get_moveStartKey(param_1);
	 *       pvVar8 = Hashtable.get_Item(param_2,pvVar8);
	 *       if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
	 *         func_0x031fde08(*(long *)puVar3);
	 *       }
	 *       dVar16 = Convert.ToDouble(pvVar8);
	 *       pvVar8 = NetworkedElevator.get_moveFromKey(param_1);
	 *       pvVar8 = Hashtable.get_Item(param_2,pvVar8);
	 *       uVar6 = Convert.ToInt32(pvVar8);
	 *       pvVar8 = NetworkedElevator.get_moveToKey(param_1);
	 *       pvVar8 = Hashtable.get_Item(param_2,pvVar8);
	 *       uVar7 = Convert.ToInt32(pvVar8);
	 *       pvVar8 = NetworkedElevator.get_moveDurKey(param_1);
	 *       pvVar8 = Hashtable.get_Item(param_2,pvVar8);
	 *       dVar17 = Convert.ToDouble(pvVar8);
	 *       puVar4 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
	 *       if (*(int *)(*(long *)typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       dVar18 = Photon.Pun.PhotonNetwork.get_Time();
	 *       pvVar8 = param_1->floorPoints;
	 *       dVar19 = (dVar18 - dVar16) / dVar17;
	 *       dVar20 = 0.0;
	 *       if (0.0 <= dVar19) {
	 *         dVar20 = dVar19;
	 *       }
	 *       dVar19 = 1.0;
	 *       if (dVar20 <= 1.0) {
	 *         dVar19 = dVar20;
	 *       }
	 *       if (pvVar8 == null) goto LAB_03316d64;
	 *       uVar2 = *(uint *)((long)pvVar8 + 0x18) - 1;
	 *       uVar1 = uVar6;
	 *       if ((int)uVar2 <= (int)uVar6) {
	 *         uVar1 = uVar2;
	 *       }
	 *       uVar2 = 0;
	 *       if (-1 < (int)uVar6) {
	 *         uVar2 = uVar1;
	 *       }
	 *       if (*(uint *)((long)pvVar8 + 0x18) <= uVar2) goto LAB_03316d68;
	 *       pvVar8 = *(void **)((long)pvVar8 + (long)(int)uVar2 * 8 + 0x20);
	 *       if (pvVar8 == null) goto LAB_03316d64;
	 *       UVar25 = UnityEngine.Transform.get_position(pvVar8);
	 *       pvVar8 = param_1->floorPoints;
	 *       (param_1->startPos).x = UVar25.x;
	 *       (param_1->startPos).y = UVar25.y;
	 *       (param_1->startPos).z = UVar25.z;
	 *       if (pvVar8 == null) goto LAB_03316d64;
	 *       uVar2 = *(uint *)((long)pvVar8 + 0x18) - 1;
	 *       uVar1 = uVar7;
	 *       if ((int)uVar2 <= (int)uVar7) {
	 *         uVar1 = uVar2;
	 *       }
	 *       uVar2 = 0;
	 *       if (-1 < (int)uVar7) {
	 *         uVar2 = uVar1;
	 *       }
	 *       if (*(uint *)((long)pvVar8 + 0x18) <= uVar2) goto LAB_03316d68;
	 *       pvVar8 = *(void **)((long)pvVar8 + (long)(int)uVar2 * 8 + 0x20);
	 *       if (pvVar8 == null) goto LAB_03316d64;
	 *       UVar25 = UnityEngine.Transform.get_position(pvVar8);
	 *       pvVar8 = param_1->moveCurve;
	 *       (param_1->endPos).z = UVar25.z;
	 *       (param_1->endPos).x = UVar25.x;
	 *       (param_1->endPos).y = UVar25.y;
	 *       param_1->moveTimer = (float)dVar19;
	 *       param_1->authoritativeMoveDuration = (float)dVar17;
	 *       param_1->isMoving = dVar19 < 1.0;
	 *       if (pvVar8 == null) goto LAB_03316d64;
	 *       fVar13 = UnityEngine.AnimationCurve.Evaluate(pvVar8,(float)dVar19);
	 *       pvVar8 = UnityEngine.Component.get_transform(param_1);
	 *       if (pvVar8 == null) goto LAB_03316d64;
	 *       uVar21 = (param_1->startPos).x;
	 *       uVar22 = (param_1->startPos).y;
	 *       uVar23 = (param_1->endPos).x;
	 *       uVar24 = (param_1->endPos).y;
	 *       fVar14 = 1.0;
	 *       if (fVar13 <= 1.0) {
	 *         fVar14 = fVar13;
	 *       }
	 *       fVar15 = 0.0;
	 *       if (0.0 <= fVar13) {
	 *         fVar15 = fVar14;
	 *       }
	 *       fVar13 = (param_1->startPos).z;
	 *       UVar25.x = (float)uVar21 + ((float)uVar23 - (float)uVar21) * fVar15;
	 *       UVar25.z = fVar13 + fVar15 * ((param_1->endPos).z - fVar13);
	 *       UVar25.y = (float)uVar22 + ((float)uVar24 - (float)uVar22) * fVar15;
	 *       UnityEngine.Transform.set_position(pvVar8,UVar25);
	 *       param_1->currentFloorIndex = uVar6;
	 *       puVar3 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *       if (param_1->isMoving != false) {
	 *         pvVar8 = param_1->elevatorAudio;
	 *         if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         uVar9 = UnityEngine.Object.op_Inequality(pvVar8,null);
	 *         if ((uVar9 & 1) != 0) {
	 *           pvVar8 = param_1->moveSound;
	 *           if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
	 *             func_0x031fde08();
	 *           }
	 *           uVar9 = UnityEngine.Object.op_Inequality(pvVar8,null);
	 *           if ((uVar9 & 1) != 0) {
	 *             if (param_1->elevatorAudio == null) goto LAB_03316d64;
	 *             pvVar8 = UnityEngine.AudioSource.get_clip(param_1->elevatorAudio);
	 *             lVar10 = *(long *)puVar3;
	 *             pvVar11 = param_1->moveSound;
	 *             if (*(int *)(lVar10 + 0xe4) == 0) {
	 *               func_0x031fde08(lVar10);
	 *             }
	 *             methodInfo_04 = null;
	 *             uVar9 = UnityEngine.Object.op_Inequality(pvVar8,pvVar11);
	 *             if ((uVar9 & 1) == 0) {
	 *               if (param_1->elevatorAudio == null) goto LAB_03316d64;
	 *               bVar5 = UnityEngine.AudioSource.get_isPlaying(param_1->elevatorAudio);
	 *               if (bVar5) goto LAB_03316cc4;
	 *             }
	 *             if (param_1->elevatorAudio != null) {
	 *               UnityEngine.AudioSource.set_clip(param_1->elevatorAudio,param_1->moveSound);
	 *               if (param_1->elevatorAudio == null) goto LAB_03316d64;
	 *               methodInfo_04 = null;
	 *               UnityEngine.AudioSource.set_loop(param_1->elevatorAudio,param_1->loopSound);
	 *               if (param_1->elevatorAudio == null) goto LAB_03316d64;
	 *               UnityEngine.AudioSource.Play(param_1->elevatorAudio)
	 *               ;
	 *               goto LAB_03316cc4;
	 *             }
	 *             goto LAB_03316d64;
	 *           }
	 *         }
	 *       }
	 *       pvVar8 = param_1->elevatorAudio;
	 *       if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       methodInfo_04 = null;
	 *       uVar9 = UnityEngine.Object.op_Inequality(pvVar8,null);
	 *       if ((uVar9 & 1) == 0) {
	 * LAB_03316cc4:
	 *         if (*(int *)(*(long *)puVar4 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         bVar5 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *         if (!bVar5) {
	 *           return;
	 *         }
	 *         ppvVar12 = &param_1->masterFinishMoveCoroutine;
	 *         if (*ppvVar12 != null) {
	 *           methodInfo_04 = null;
	 *           UnityEngine.MonoBehaviour.StopCoroutine(param_1,*ppvVar12);
	 *         }
	 *         dVar17 = dVar17 - (dVar18 - dVar16);
	 *         dVar16 = 0.0;
	 *         if (0.0 <= dVar17) {
	 *           dVar16 = dVar17;
	 *         }
	 *         pvVar8 = NetworkedElevator.MasterFinishMoveCoroutine(param_1,(float)dVar16,uVar7);
	 *         pvVar8 = UnityEngine.MonoBehaviour.StartCoroutine(param_1,pvVar8);
	 *         param_1->masterFinishMoveCoroutine = pvVar8;
	 *         if (iRam00000000077785f0 != 0) {
	 *           func_0x032ed0c0(1L << ((ulong)ppvVar12 >> 0xc & 0x3f),
	 *                           ((ulong)ppvVar12 >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
	 *         }
	 *         return;
	 *       }
	 *       if (param_1->elevatorAudio != null) {
	 *         UnityEngine.AudioSource.Stop(param_1->elevatorAudio);
	 *         goto LAB_03316cc4;
	 *       }
	 *       goto LAB_03316d64;
	 *     }
	 *   }
	 *   pvVar8 = NetworkedElevator.get_floorKey(param_1);
	 *   auVar26 = func_0x04e2d048(param_2,pvVar8,*(undefined8 *)puVar4);
	 *   if ((auVar26._0_8_ & 1) == 0) {
	 *     return;
	 *   }
	 *   pvVar8 = NetworkedElevator.get_floorKey(param_1);
	 *   pvVar8 = Hashtable.get_Item(param_2,pvVar8);
	 *   if (*(int *)(*(long *)typeinfo_ptr_mscorlib_Convert_6FC0CA8 + 0xe4) == 0) {
	 *     func_0x031fde08(*(long *)typeinfo_ptr_mscorlib_Convert_6FC0CA8);
	 *   }
	 *   uVar6 = Convert.ToInt32(pvVar8);
	 *   pvVar8 = param_1->floorPoints;
	 *   if (pvVar8 != null) {
	 *     uVar1 = *(uint *)((long)pvVar8 + 0x18);
	 *     param_1->isMoving = false;
	 *     param_1->moveTimer = 0.0;
	 *     param_1->authoritativeMoveDuration = 0.0;
	 *     uVar2 = uVar1 - 1;
	 *     uVar7 = uVar6;
	 *     if ((int)uVar2 <= (int)uVar6) {
	 *       uVar7 = uVar2;
	 *     }
	 *     uVar2 = 0;
	 *     if (-1 < (int)uVar6) {
	 *       uVar2 = uVar7;
	 *     }
	 *     param_1->currentFloorIndex = uVar2;
	 *     if (uVar1 <= uVar2) {
	 * LAB_03316d68:
	 *       IL2CPP.ThrowIndexOutOfRangeException();
	 *     }
	 *     pvVar8 = *(void **)((long)pvVar8 + (long)(int)uVar2 * 8 + 0x20);
	 *     if (pvVar8 != null) {
	 *       UVar25 = UnityEngine.Transform.get_position(pvVar8);
	 *       (param_1->endPos).y = UVar25.y;
	 *       (param_1->endPos).z = UVar25.z;
	 *       (param_1->startPos).x = UVar25.x;
	 *       (param_1->startPos).y = UVar25.y;
	 *       (param_1->startPos).z = UVar25.z;
	 *       (param_1->endPos).x = UVar25.x;
	 *       pvVar8 = UnityEngine.Component.get_transform(param_1);
	 *       if (pvVar8 != null) {
	 *         UnityEngine.Transform.set_position(pvVar8,param_1->endPos);
	 *         pvVar8 = param_1->elevatorAudio;
	 *         if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         uVar9 = UnityEngine.Object.op_Inequality(pvVar8,null);
	 *         if ((uVar9 & 1) == 0) {
	 *           return;
	 *         }
	 *         pvVar8 = param_1->elevatorAudio;
	 *         if (pvVar8 != null) {
	 *           if ((bRam000000000755d744 & 1) == 0) {
	 *             func_0x031fdc8c(PTR_DAT_0714e1b0);
	 *             bRam000000000755d744 = 1;
	 *           }
	 *           if (pvVar8 == null) {
	 *             IL2CPP.ThrowNullReferenceException();
	 *           }
	 *           lVar10 = *(long *)((long)pvVar8 + 0x10);
	 *           if (lVar10 == 0) {
	 *             UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(pvVar8);
	 *           }
	 *           if (pcRam000000000755d780 == null) {
	 *             pcRam000000000755d780 = (code *)func_0x031fdc50(&UNK_0138d05d);
	 *           }
	 *           (*pcRam000000000755d780)(lVar10,1);
	 *           return;
	 *         }
	 *       }
	 *     }
	 *   }
	 * LAB_03316d64:
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x3217760 VA: 0x7818902760
	private void StartLocalCooldownVisual(float seconds);
	/*
	 *   void *pvVar1;
	 *   void *extraout_x1;
	 *   void **ppvVar2;
	 *
	 *   ppvVar2 = &this.localCooldownVisualCoroutine;
	 *   this.onCooldown = true;
	 *   pvVar1 = null;
	 *   if (*ppvVar2 != null) {
	 *     UnityEngine.MonoBehaviour.StopCoroutine(this,*ppvVar2);
	 *     pvVar1 = extraout_x1;
	 *   }
	 *   pvVar1 = NetworkedElevator.LocalCooldownVisual(this,seconds);
	 *   pvVar1 = UnityEngine.MonoBehaviour.StartCoroutine(this,pvVar1);
	 *   this.localCooldownVisualCoroutine = pvVar1;
	 *   if (iRam00000000077785f0 != 0) {
	 *     func_0x032ed0c0(1L << ((ulong)ppvVar2 >> 0xc & 0x3f),
	 *                     ((ulong)ppvVar2 >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
	 *   }
	 *   return;
	 */
	// RVA: 0x32177CC VA: 0x78189027CC
	private void StopLocalCooldownVisual();
	/*
	 *   undefined *puVar1;
	 *   ulong uVar2;
	 *   void *pvVar3;
	 *   undefined8 uVar4;
	 *   long lVar5;
	 *   ulong uVar6;
	 *
	 *   if ((bRam000000000754a863 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     bRam000000000754a863 = 1;
	 *   }
	 *   pvVar3 = this.localCooldownVisualCoroutine;
	 *   this.onCooldown = false;
	 *   if (pvVar3 != null) {
	 *     UnityEngine.MonoBehaviour.StopCoroutine(this,pvVar3);
	 *     this.localCooldownVisualCoroutine = null;
	 *     func_0x031fdc38(&this.localCooldownVisualCoroutine,0);
	 *   }
	 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   pvVar3 = this.buttonRenderers;
	 *   if (pvVar3 != null) {
	 *     lVar5 = 4;
	 *     do {
	 *       uVar6 = lVar5 - 4;
	 *       if ((long)(int)*(uint *)((long)pvVar3 + 0x18) <= (long)uVar6) {
	 *         return;
	 *       }
	 *       if (*(uint *)((long)pvVar3 + 0x18) <= uVar6) {
	 * LAB_033178c0:
	 *         IL2CPP.ThrowIndexOutOfRangeException();
	 *       }
	 *       uVar4 = *(undefined8 *)((long)pvVar3 + lVar5 * 8);
	 *       if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       uVar2 = UnityEngine.Object.op_Implicit(uVar4);
	 *       if ((uVar2 & 1) != 0) {
	 *         pvVar3 = this.buttonRenderers;
	 *         if (pvVar3 == null) break;
	 *         if (*(uint *)((long)pvVar3 + 0x18) <= uVar6) goto LAB_033178c0;
	 *         pvVar3 = *(void **)((long)pvVar3 + lVar5 * 8);
	 *         if (pvVar3 == null) break;
	 *         UnityEngine.Renderer.set_material(pvVar3,this.availableMaterial);
	 *       }
	 *       pvVar3 = this.buttonRenderers;
	 *       lVar5 = lVar5 + 1;
	 *     } while (pvVar3 != null);
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x32178C4 VA: 0x78189028C4
	private System.Collections.IEnumerator LocalCooldownVisual(float seconds);
	/*
	 *   undefined *puVar1;
	 *   void *this_00;
	 *   void *extraout_x1;
	 *
	 *   puVar1 = PTR_DAT_070c1e60;
	 *   if ((bRam000000000754a864 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c1e60);
	 *     bRam000000000754a864 = 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);
	 *   *(float *)((long)this_00 + 0x28) = seconds;
	 *   return this_00;
	 */
	// RVA: 0x3217968 VA: 0x7818902968
	public override void OnMasterClientSwitched(Photon.Realtime.Player newMasterClient);
	/*
	 *   undefined *puVar1;
	 *   undefined *puVar2;
	 *   undefined *puVar3;
	 *   bool bVar4;
	 *   int landedFloor;
	 *   void *pvVar5;
	 *   void *methodInfo;
	 *   void *methodInfo_00;
	 *   void *methodInfo_01;
	 *   void *methodInfo_02;
	 *   void *methodInfo_03;
	 *   void *this;
	 *   void **ppvVar6;
	 *   double dVar7;
	 *   double dVar8;
	 *   double dVar9;
	 *   undefined1 auVar10 [16];
	 *
	 *   puVar1 = typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0;
	 *   if ((bRam000000000754a865 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_mscorlib_Convert_6FC0CA8);
	 *     func_0x031fdc8c(PTR_DAT_070c1528);
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     bRam000000000754a865 = 1;
	 *   }
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   bVar4 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *   if (bVar4) {
	 *     if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *     }
	 *     pvVar5 = Photon.Pun.PhotonNetwork.get_CurrentRoom();
	 *     if (pvVar5 != null) {
	 *       if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       pvVar5 = Photon.Pun.PhotonNetwork.get_CurrentRoom();
	 *       if (pvVar5 != null) {
	 *         this = *(void **)((long)pvVar5 + 0x18);
	 *         pvVar5 = NetworkedElevator.get_movingKey(param_1);
	 *         puVar3 = PTR_DAT_070c1528;
	 *         if (this != null) {
	 *           auVar10 = func_0x04e2d048(this,pvVar5,*(undefined8 *)PTR_DAT_070c1528);
	 *           if ((auVar10._0_8_ & 1) == 0) {
	 *             return;
	 *           }
	 *           pvVar5 = NetworkedElevator.get_movingKey(param_1);
	 *           pvVar5 = Hashtable.get_Item(this,pvVar5);
	 *           puVar2 = typeinfo_ptr_mscorlib_Convert_6FC0CA8;
	 *           if (*(int *)(*(long *)typeinfo_ptr_mscorlib_Convert_6FC0CA8 + 0xe4) == 0) {
	 *             func_0x031fde08(*(long *)typeinfo_ptr_mscorlib_Convert_6FC0CA8);
	 *           }
	 *           bVar4 = Convert.ToBoolean(pvVar5);
	 *           if (!bVar4) {
	 *             return;
	 *           }
	 *           pvVar5 = NetworkedElevator.get_moveStartKey(param_1);
	 *           auVar10 = func_0x04e2d048(this,pvVar5,*(undefined8 *)puVar3);
	 *           if ((auVar10._0_8_ & 1) == 0) {
	 *             return;
	 *           }
	 *           pvVar5 = NetworkedElevator.get_moveDurKey(param_1)
	 *           ;
	 *           auVar10 = func_0x04e2d048(this,pvVar5,*(undefined8 *)puVar3);
	 *           if ((auVar10._0_8_ & 1) == 0) {
	 *             return;
	 *           }
	 *           pvVar5 = NetworkedElevator.get_moveToKey(param_1);
	 *           auVar10 = func_0x04e2d048(this,pvVar5,*(undefined8 *)puVar3);
	 *           if ((auVar10._0_8_ & 1) == 0) {
	 *             return;
	 *           }
	 *           pvVar5 = NetworkedElevator.get_moveStartKey(param_1);
	 *           pvVar5 = Hashtable.get_Item(this,pvVar5);
	 *           if (*(int *)(*(long *)puVar2 + 0xe4) == 0) {
	 *             func_0x031fde08(*(long *)puVar2);
	 *           }
	 *           dVar7 = Convert.ToDouble(pvVar5);
	 *           pvVar5 = NetworkedElevator.get_moveDurKey(param_1)
	 *           ;
	 *           pvVar5 = Hashtable.get_Item(this,pvVar5);
	 *           dVar8 = Convert.ToDouble(pvVar5);
	 *           pvVar5 = NetworkedElevator.get_moveToKey(param_1);
	 *           methodInfo_03 = null;
	 *           pvVar5 = Hashtable.get_Item(this,pvVar5);
	 *           landedFloor = Convert.ToInt32(pvVar5);
	 *           if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *             func_0x031fde08(*(long *)puVar1);
	 *           }
	 *           dVar9 = Photon.Pun.PhotonNetwork.get_Time();
	 *           ppvVar6 = &param_1->masterFinishMoveCoroutine;
	 *           dVar8 = dVar8 - (dVar9 - dVar7);
	 *           dVar7 = 0.0;
	 *           if (0.0 <= dVar8) {
	 *             dVar7 = dVar8;
	 *           }
	 *           if (*ppvVar6 != null) {
	 *             methodInfo_03 = null;
	 *             UnityEngine.MonoBehaviour.StopCoroutine(param_1,*ppvVar6);
	 *           }
	 *           pvVar5 = NetworkedElevator.MasterFinishMoveCoroutine(param_1,(float)dVar7,landedFloor);
	 *           pvVar5 = UnityEngine.MonoBehaviour.StartCoroutine(param_1,pvVar5);
	 *           param_1->masterFinishMoveCoroutine = pvVar5;
	 *           if (iRam00000000077785f0 != 0) {
	 *             func_0x032ed0c0(1L << ((ulong)ppvVar6 >> 0xc & 0x3f),
	 *                             ((ulong)ppvVar6 >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
	 *           }
	 *           return;
	 *         }
	 *       }
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *   }
	 *   return;
	 */
	// RVA: 0x3217C0C VA: 0x7818902C0C
	private void OnDestroy();
	/*
	 *   ulong uVar1;
	 *   void *this_00;
	 *   void *pvVar2;
	 *   long lVar3;
	 *   undefined8 uVar4;
	 *
	 *   if (this.localCooldownVisualCoroutine != null) {
	 *     UnityEngine.MonoBehaviour.StopCoroutine(this,this.localCooldownVisualCoroutine);
	 *   }
	 *   pvVar2 = this.masterFinishMoveCoroutine;
	 *   if (pvVar2 == null) {
	 *     return;
	 *   }
	 *   if (pvVar2 == null) {
	 *     func_0x031fdca0(PTR_DAT_070c9118,0,0);
	 *     this_00 = (void *)func_0x031fdf24();
	 *     pvVar2 = (void *)func_0x031fdca0(PTR_DAT_0714f5c8);
	 *     NullReferenceException..ctor(this_00,pvVar2);
	 *   }
	 *   else {
	 *     uVar1 = UnityEngine.MonoBehaviour.IsObjectMonoBehaviour();
	 *     if ((uVar1 & 1) != 0) {
	 *       if ((bRam000000000755f8f8 & 1) == 0) {
	 *         func_0x031fdc8c(PTR_DAT_0714f590);
	 *         bRam000000000755f8f8 = 1;
	 *       }
	 *       if (this != null) {
	 *         lVar3 = *(long *)&this.field_0x10;
	 *         if (lVar3 == 0) {
	 *           UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(this)
	 *           ;
	 *         }
	 *         uVar4 = 0;
	 *         if (pvVar2 != null) {
	 *           uVar4 = *(undefined8 *)((long)pvVar2 + 0x10);
	 *         }
	 *         if (pcRam000000000755f970 == null) {
	 *           pcRam000000000755f970 = (code *)func_0x031fdc50(&UNK_01377932);
	 *         }
	 *         (*pcRam000000000755f970)(lVar3,uVar4);
	 *         return;
	 *       }
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *     func_0x031fdca0(PTR_DAT_070c6fb0);
	 *     this_00 = (void *)func_0x031fdf24();
	 *     pvVar2 = (void *)func_0x031fdca0(PTR_DAT_0714f5b0);
	 *     System.ArgumentException..ctor(this_00,pvVar2);
	 *   }
	 *   uVar4 = func_0x031fdca0(PTR_DAT_0714f5e0);
	 *   IL2CPP.ThrowManagedException();
	 */
	// RVA: 0x3217C48 VA: 0x7818902C48
	private void DebugRequestOne();
	/*
	 *   int iVar1;
	 *   undefined *puVar2;
	 *   undefined *puVar3;
	 *   undefined *puVar4;
	 *   bool bVar5;
	 *   long lVar6;
	 *   long lVar7;
	 *   void *pvVar8;
	 *   void *pvVar9;
	 *   undefined8 uVar10;
	 *   long *plVar11;
	 *   void *methodInfo_00;
	 *   void *methodInfo_01;
	 *   void *methodInfo_02;
	 *   void *methodInfo_03;
	 *   void *methodInfo_04;
	 *   void *methodInfo_05;
	 *   double dVar12;
	 *   double dVar13;
	 *   float fVar14;
	 *   float fVar15;
	 *   double dStack_88;
	 *   double dStack_80;
	 *   undefined4 uStack_78;
	 *   int iStack_74;
	 *   double dStack_70;
	 *   undefined1 auStack_64 [4];
	 *
	 *   if ((bRam000000000754a85d & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c0a10);
	 *     func_0x031fdc8c(typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0);
	 *     func_0x031fdc8c(PTR_DAT_070c1e50);
	 *     bRam000000000754a85d = 1;
	 *   }
	 *   if ((this.onCooldown != false) || (this.isMoving != false)) {
	 *     return;
	 *   }
	 *   if (this.floorPoints != null) {
	 *     if (*(int *)((long)this.floorPoints + 0x18) < 2) {
	 *       return;
	 *     }
	 *     if (this.currentFloorIndex == 1) {
	 *       return;
	 *     }
	 *     if (*(int *)(*(long *)typeinfo_ptr_PhotonUnityNetworking_PhotonNetwork_6FC08F0 + 0xe4) == 0) {
	 *       func_0x031fde08();
	 *     }
	 *     bVar5 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *     puVar3 = 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 *)puVar3 + 0xe4) == 0) {
	 *         func_0x031fde08();
	 *       }
	 *       bVar5 = Photon.Pun.PhotonNetwork.get_IsMasterClient();
	 *       if (bVar5) {
	 *         if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
	 *           func_0x031fde08();
	 *         }
	 *         pvVar8 = Photon.Pun.PhotonNetwork.get_CurrentRoom();
	 *         if (pvVar8 != null) {
	 *           iVar1 = this.currentFloorIndex;
	 *           if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
	 *             func_0x031fde08();
	 *           }
	 *           dVar12 = Photon.Pun.PhotonNetwork.get_Time();
	 *           fVar14 = this.cooldownTime;
	 *           fVar15 = this.moveDuration;
	 *           pvVar8 = (void *)func_0x031fdf24(*(undefined8 *)
	 *                                             typeinfo_ptr_Photon3Unity3D_Hashtable_6FC1268);
	 *           Hashtable..ctor(pvVar8);
	 *           pvVar9 = NetworkedElevator.get_movingKey(this);
	 *           puVar2 = PTR_DAT_070c0840;
	 *           auStack_64[0] = 1;
	 *           uVar10 = func_0x031fde10(*(undefined8 *)(PTR_DAT_070c0840 + 0x28),auStack_64);
	 *           puVar4 = PTR_DAT_070c1260;
	 *           if (pvVar8 != null) {
	 *             func_0x04e2ce54(pvVar8,pvVar9,uVar10,*(undefined8 *)PTR_DAT_070c1260);
	 *             pvVar9 = NetworkedElevator.get_moveStartKey(this);
	 *             dStack_70 = dVar12;
	 *             uVar10 = func_0x031fde10(*(undefined8 *)(puVar2 + 0x80),&dStack_70);
	 *             func_0x04e2ce54(pvVar8,pvVar9,uVar10,*(undefined8 *)puVar4);
	 *             pvVar9 = NetworkedElevator.get_moveFromKey(this)
	 *             ;
	 *             iStack_74 = iVar1;
	 *             uVar10 = func_0x031fde10(*(undefined8 *)(puVar2 + 0x48),&iStack_74);
	 *             func_0x04e2ce54(pvVar8,pvVar9,uVar10,*(undefined8 *)puVar4);
	 *             pvVar9 = NetworkedElevator.get_moveToKey(this);
	 *             uStack_78 = 1;
	 *             uVar10 = func_0x031fde10(*(undefined8 *)(puVar2 + 0x48),&uStack_78);
	 *             func_0x04e2ce54(pvVar8,pvVar9,uVar10,*(undefined8 *)puVar4);
	 *             pvVar9 = NetworkedElevator.get_moveDurKey(this);
	 *             dStack_80 = (double)fVar15;
	 *             uVar10 = func_0x031fde10(*(undefined8 *)(puVar2 + 0x80),&dStack_80);
	 *             func_0x04e2ce54(pvVar8,pvVar9,uVar10,*(undefined8 *)puVar4);
	 *             pvVar9 = NetworkedElevator.get_cooldownEndKey(this);
	 *             dStack_88 = dVar12 + (double)fVar14;
	 *             uVar10 = func_0x031fde10(*(undefined8 *)(puVar2 + 0x80),&dStack_88);
	 *             func_0x04e2ce54(pvVar8,pvVar9,uVar10,*(undefined8 *)puVar4);
	 *             plVar11 = Photon.Pun.PhotonNetwork.get_CurrentRoom();
	 *             if (plVar11 != null) {
	 *               pvVar9 = null;
	 *               (**(code **)(*plVar11 + 0x188))(plVar11,pvVar8,0,0,*(undefined8 *)(*plVar11 + 400));
	 *               pvVar8 = this.masterFinishMoveCoroutine;
	 *               if (pvVar8 != null) {
	 *                 pvVar9 = null;
	 *                 UnityEngine.MonoBehaviour.StopCoroutine(this,pvVar8);
	 *               }
	 *               if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
	 *                 func_0x031fde08();
	 *               }
	 *               dVar13 = Photon.Pun.PhotonNetwork.get_Time();
	 *               dVar13 = (double)fVar15 - (dVar13 - dVar12);
	 *               dVar12 = 0.0;
	 *               if (0.0 <= dVar13) {
	 *                 dVar12 = dVar13;
	 *               }
	 *               pvVar8 = NetworkedElevator.MasterFinishMoveCoroutine(this,(float)dVar12,1);
	 *               pvVar8 = UnityEngine.MonoBehaviour.StartCoroutine(this,pvVar8);
	 *               this.masterFinishMoveCoroutine = pvVar8;
	 *               func_0x031fdc38(&this.masterFinishMoveCoroutine,pvVar8);
	 *               return;
	 *             }
	 *           }
	 *           IL2CPP.ThrowNullReferenceException();
	 *         }
	 *       }
	 *       return;
	 *     }
	 *     pvVar8 = MonoBehaviourPun.get_photonView(this);
	 *     plVar11 = (long *)func_0x031fdd78(*(undefined8 *)PTR_DAT_070c0a10,1);
	 *     lVar6 = func_0x031fde10(*(undefined8 *)(PTR_DAT_070c0840 + 0x48),&stack0xffffffffffffffdc);
	 *     if (plVar11 != null) {
	 *       if ((lVar6 != 0) &&
	 *          (lVar7 = func_0x031fde0c(lVar6,*(undefined8 *)(*plVar11 + 0x40)), lVar7 == 0)) {
	 *         uVar10 = func_0x031fdf58();
	 *         IL2CPP.ThrowManagedException();
	 *       }
	 *       if ((int)plVar11[3] == 0) {
	 *         IL2CPP.ThrowIndexOutOfRangeException();
	 *       }
	 *       plVar11[4] = lVar6;
	 *       func_0x031fdc38(plVar11 + 4,lVar6);
	 *       if (pvVar8 != null) {
	 *         Photon.Pun.PhotonView.RPC(pvVar8,*(void **)PTR_DAT_070c1e50,2,plVar11);
	 *         return;
	 *       }
	 *     }
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x3217C50 VA: 0x7818902C50
	public void .ctor();
	/*
	 *   undefined *puVar1;
	 *   void *pvVar2;
	 *
	 *   this.moveDuration = 3.0;
	 *   pvVar2 = UnityEngine.AnimationCurve.EaseInOut(0.0,0.0,1.0,1.0);
	 *   this.moveCurve = pvVar2;
	 *   func_0x031fdc38();
	 *   this.cooldownTime = 5.0;
	 *   this.loopSound = true;
	 *   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;
	 */
}
