using System; using System.Collections.Generic; using System.Runtime.InteropServices; using System.Text; using Cpp2IlInjected; using Photon.Pun; using Photon.Realtime; using RecRoom; using RecRoom.Networking.SynchronizedFields; using RecRoom.Persistence; using UnityEngine; // Token: 0x02000085 RID: 133 [Token(Token = "0x2000085")] [StructLayout(3)] public class ToolHolder : MonoBehaviourPun, EOCLMMENCKH, CHJEFIDMANE { // Token: 0x17000091 RID: 145 // (get) Token: 0x060003A9 RID: 937 RVA: 0x00012578 File Offset: 0x00010778 // (set) Token: 0x060003AA RID: 938 RVA: 0x000125B0 File Offset: 0x000107B0 [Token(Token = "0x17000091")] public Tool OIDGJKOGAIJ { [Token(Token = "0x60003A9")] [Address(RVA = "0x188D4E0", Offset = "0x188BEE0", VA = "0x18188D4E0")] get { PhotonView photonView = PhotonNetwork.GetPhotonView(this.PJACOKMDMKK.Get()); int num = 0; if (photonView != num) { return photonView.GetComponent(); } throw new NullReferenceException(); } [Token(Token = "0x60003AA")] [Address(RVA = "0x188D5A0", Offset = "0x188BFA0", VA = "0x18188D5A0")] set { SynchronizedField pjacokmdmkk = this.PJACOKMDMKK; int num = 0; if (value != num) { PhotonView photonView = value.photonView; } } } // Token: 0x060003AB RID: 939 RVA: 0x000125E0 File Offset: 0x000107E0 [Token(Token = "0x60003AB")] [Address(RVA = "0x188B6F0", Offset = "0x188A0F0", VA = "0x18188B6F0", Slot = "13")] protected override void Awake() { base..ctor(); Action action = new Action(this.PACLDOILAOG); SynchronizedField synchronizedField; this.PJACOKMDMKK = synchronizedField; Tool component = base.GetComponent(); this.NBHJPDBHDHB = component; int num = 0; if (component != num) { Tool nbhjpdbhdhb = this.NBHJPDBHDHB; ActionEvent postPickupEvent = nbhjpdbhdhb.PostPickupEvent; Action action2 = new Action(this.KEDINPKONNH); ActionEvent actionEvent = postPickupEvent + action2; nbhjpdbhdhb.PostPickupEvent = actionEvent; } Transform transform = this.toolCouplingTransform; int num2 = 0; if (transform == num2) { Transform transform2 = base.transform; this.toolCouplingTransform = transform2; } ActionEvent staticToolInstantiatedEvent = Tool.StaticToolInstantiatedEvent; Action action3 = new Action(this.KDGFJOBEFLB); Tool.StaticToolInstantiatedEvent = staticToolInstantiatedEvent + action3; } // Token: 0x060003AC RID: 940 RVA: 0x000126AC File Offset: 0x000108AC [Token(Token = "0x60003AC")] [Address(RVA = "0x188D0E0", Offset = "0x188BAE0", VA = "0x18188D0E0")] private void Start() { Tool[] array = global::UnityEngine.Object.FindObjectsOfType(); int num = 0; int length = array.Length; if (num < length) { Tool tool = array[num]; if (!this.JIOFJDJIDHO.Contains(tool)) { Tool nbhjpdbhdhb = this.NBHJPDBHDHB; if (tool != nbhjpdbhdhb) { ActionEvent postPickupEvent = tool.PostPickupEvent; Action action = new Action(this.OBHCKBMPGII); ActionEvent actionEvent = postPickupEvent + action; tool.PostPickupEvent = actionEvent; ActionEvent postReleaseEvent = tool.PostReleaseEvent; Action action2 = new Action(this.AGGEPLMBAFK); ActionEvent actionEvent2 = postReleaseEvent + action2; tool.PostReleaseEvent = actionEvent2; ActionEvent destroyEvent = tool.DestroyEvent; Action action3 = new Action(this.IOAEKELABOE); ActionEvent actionEvent3 = destroyEvent + action3; tool.DestroyEvent = actionEvent3; bool flag = this.JIOFJDJIDHO.Add(tool); } } num++; } Tool tool2 = this.initiallyCoupledTool; int num2 = 0; if (tool2 != num2) { Tool tool3 = this.initiallyCoupledTool; ActionEvent postResetEvent = tool3.PostResetEvent; Action action4 = new Action(this.IAMGBCKGKME); ActionEvent actionEvent4; tool3.PostResetEvent = actionEvent4; Tool tool4 = this.initiallyCoupledTool; bool hasHolder = tool4.FNFNLDBILFE; if (this.NCMIKLKBJKK(tool4, hasHolder)) { if (this.initiallyCoupledTool.hasAuthority) { Tool tool5 = this.initiallyCoupledTool; this.OIDGJKOGAIJ = tool5; throw new NullReferenceException(); } Tool heldTool = this.OIDGJKOGAIJ; int num3 = 0; if (heldTool != num3) { this.LCALMKBLEFL(heldTool); } } } } // Token: 0x060003AD RID: 941 RVA: 0x0001282C File Offset: 0x00010A2C [Token(Token = "0x60003AD")] [Address(RVA = "0x188C260", Offset = "0x188AC60", VA = "0x18188C260", Slot = "14")] protected override void OnDestroy() { int num; do { num = 0; Tool nbhjpdbhdhb = this.NBHJPDBHDHB; int num2 = 0; if (nbhjpdbhdhb != num2) { Tool nbhjpdbhdhb2 = this.NBHJPDBHDHB; ActionEvent postPickupEvent = nbhjpdbhdhb2.PostPickupEvent; Action action = new Action(this.KEDINPKONNH); ActionEvent actionEvent = postPickupEvent - action; nbhjpdbhdhb2.PostPickupEvent = actionEvent; } Tool tool = this.initiallyCoupledTool; int num3 = 0; if (tool != num3) { Tool tool2 = this.initiallyCoupledTool; ActionEvent postResetEvent = tool2.PostResetEvent; Action action2 = new Action(this.IAMGBCKGKME); ActionEvent actionEvent2; tool2.PostResetEvent = actionEvent2; } if (new List(this.JIOFJDJIDHO).GetEnumerator() != 0) { HashSet jiofjdjidho = this.JIOFJDJIDHO; bool flag; while (!flag) { } bool flag2; if (flag2) { this.initiallyCoupledTool = num; } Action action3 = new Action(this.OBHCKBMPGII); Action action4 = new Action(this.AGGEPLMBAFK); Action action5 = new Action(this.IOAEKELABOE); HashSet jiofjdjidho2 = this.JIOFJDJIDHO; } if (num != -1) { } } while (num != 0); ActionEvent staticToolInstantiatedEvent = Tool.StaticToolInstantiatedEvent; Action action6 = new Action(this.KDGFJOBEFLB); Tool.StaticToolInstantiatedEvent = staticToolInstantiatedEvent - action6; base.OnDestroy(); } // Token: 0x060003AE RID: 942 RVA: 0x00012958 File Offset: 0x00010B58 [Token(Token = "0x60003AE")] [Address(RVA = "0x188BB60", Offset = "0x188A560", VA = "0x18188BB60")] private void KDGFJOBEFLB(Tool EGFEJGHDNAI) { if (!this.JIOFJDJIDHO.Contains(EGFEJGHDNAI)) { Tool nbhjpdbhdhb = this.NBHJPDBHDHB; if (EGFEJGHDNAI != nbhjpdbhdhb) { ActionEvent postPickupEvent = EGFEJGHDNAI.PostPickupEvent; Action action = new Action(this.OBHCKBMPGII); ActionEvent actionEvent = postPickupEvent + action; EGFEJGHDNAI.PostPickupEvent = actionEvent; ActionEvent postReleaseEvent = EGFEJGHDNAI.PostReleaseEvent; Action action2 = new Action(this.AGGEPLMBAFK); ActionEvent actionEvent2 = postReleaseEvent + action2; EGFEJGHDNAI.PostReleaseEvent = actionEvent2; ActionEvent destroyEvent = EGFEJGHDNAI.DestroyEvent; Action action3 = new Action(this.IOAEKELABOE); ActionEvent actionEvent3 = destroyEvent + action3; EGFEJGHDNAI.DestroyEvent = actionEvent3; bool flag = this.JIOFJDJIDHO.Add(EGFEJGHDNAI); } } } // Token: 0x060003AF RID: 943 RVA: 0x00012A14 File Offset: 0x00010C14 [Token(Token = "0x60003AF")] [Address(RVA = "0x188B9B0", Offset = "0x188A3B0", VA = "0x18188B9B0")] private void IOAEKELABOE(Tool EGFEJGHDNAI) { if (this.JIOFJDJIDHO.Contains(EGFEJGHDNAI)) { Tool tool = this.initiallyCoupledTool; if (EGFEJGHDNAI == tool) { } ActionEvent postPickupEvent = EGFEJGHDNAI.PostPickupEvent; Action action = new Action(this.OBHCKBMPGII); ActionEvent actionEvent = postPickupEvent - action; EGFEJGHDNAI.PostPickupEvent = actionEvent; ActionEvent postReleaseEvent = EGFEJGHDNAI.PostReleaseEvent; Action action2 = new Action(this.AGGEPLMBAFK); ActionEvent actionEvent2 = postReleaseEvent - action2; EGFEJGHDNAI.PostReleaseEvent = actionEvent2; ActionEvent destroyEvent = EGFEJGHDNAI.DestroyEvent; Action action3 = new Action(this.IOAEKELABOE); ActionEvent actionEvent3 = destroyEvent - action3; EGFEJGHDNAI.DestroyEvent = actionEvent3; bool flag = this.JIOFJDJIDHO.Remove(EGFEJGHDNAI); } } // Token: 0x060003B0 RID: 944 RVA: 0x00012AD0 File Offset: 0x00010CD0 [Token(Token = "0x60003B0")] [Address(RVA = "0x188C7C0", Offset = "0x188B1C0", VA = "0x18188C7C0")] private void PACLDOILAOG() { Tool heldTool = this.OIDGJKOGAIJ; int num = 0; if (heldTool != num) { this.LCALMKBLEFL(heldTool); } } // Token: 0x060003B1 RID: 945 RVA: 0x00012AF8 File Offset: 0x00010CF8 [Token(Token = "0x60003B1")] [Address(RVA = "0x188BDE0", Offset = "0x188A7E0", VA = "0x18188BDE0")] private void LCALMKBLEFL(Tool EGFEJGHDNAI) { int num = 0; if (this.NCMIKLKBJKK(EGFEJGHDNAI, num != 0)) { Photon.Realtime.Player owner = EGFEJGHDNAI.owner; Photon.Realtime.Player owner2 = base.owner; if (owner != owner2 && EGFEJGHDNAI.hasAuthority) { if (!this.NBHJPDBHDHB.FNFNLDBILFE) { PhotonView photonView = base.photonView; Photon.Realtime.Player owner3 = EGFEJGHDNAI.owner; } PhotonView photonView2 = EGFEJGHDNAI.photonView; int actorNumber = this.NBHJPDBHDHB.BHAAHKEILOG.Owner.actorNumber; photonView2.TransferOwnership(actorNumber); } EGFEJGHDNAI.SetCollisionLayer(DAJFOCGPHGP.DynamicPhysicsIgnoreDynamicAndPlayerPhysics); Tool nbhjpdbhdhb = this.NBHJPDBHDHB; RigidbodyPickup rigidbodyPickup = EGFEJGHDNAI.rigidbodyPickup; Transform transform = this.toolCouplingTransform; Transform transform2 = this.toolCouplingTransform; Vector3 vector; float z = vector.z; } } // Token: 0x060003B2 RID: 946 RVA: 0x00012BAC File Offset: 0x00010DAC [Token(Token = "0x60003B2")] [Address(RVA = "0x188B560", Offset = "0x1889F60", VA = "0x18188B560")] private void AGGEPLMBAFK(Tool EGFEJGHDNAI) { if (EGFEJGHDNAI.hasAuthority) { Transform transform = EGFEJGHDNAI.transform; Transform transform2 = this.toolCouplingTransform; Vector3 vector; float z = vector.z; Vector3 vector2; float z2 = vector2.z; Vector3 vector3; float z3 = vector3.z; float num = this.couplingRadius; int num2 = 0; if (this.NCMIKLKBJKK(EGFEJGHDNAI, num2 != 0)) { this.OIDGJKOGAIJ = EGFEJGHDNAI; } } } // Token: 0x060003B3 RID: 947 RVA: 0x00012C10 File Offset: 0x00010E10 [Token(Token = "0x60003B3")] [Address(RVA = "0x188C120", Offset = "0x188AB20", VA = "0x18188C120")] private void OBHCKBMPGII(Tool EGFEJGHDNAI) { if (EGFEJGHDNAI.hasAuthority) { Tool heldTool = this.OIDGJKOGAIJ; int num = 0; if (heldTool != num && EGFEJGHDNAI == heldTool) { SynchronizedField pjacokmdmkk = this.PJACOKMDMKK; int num2 = 0; bool flag = 0 != num2; } } } // Token: 0x060003B4 RID: 948 RVA: 0x00012C5C File Offset: 0x00010E5C [Token(Token = "0x60003B4")] [Address(RVA = "0x188BD10", Offset = "0x188A710", VA = "0x18188BD10")] private void KEDINPKONNH(Tool EGFEJGHDNAI) { Tool heldTool = this.OIDGJKOGAIJ; int num = 0; if (heldTool != num) { Photon.Realtime.Player owner = heldTool.owner; Photon.Realtime.Player owner2 = base.owner; if (owner != owner2) { PhotonView photonView = heldTool.photonView; int actorNumber = base.owner.actorNumber; photonView.TransferOwnership(actorNumber); } } } // Token: 0x060003B5 RID: 949 RVA: 0x00012CB4 File Offset: 0x00010EB4 [Token(Token = "0x60003B5")] [Address(RVA = "0x188BF90", Offset = "0x188A990", VA = "0x18188BF90")] private bool NCMIKLKBJKK(Tool EGFEJGHDNAI, bool JPABLMHNOLD) { Tool heldTool = this.OIDGJKOGAIJ; int num = 0; if (EGFEJGHDNAI != num) { Tool nbhjpdbhdhb = this.NBHJPDBHDHB; if (EGFEJGHDNAI != nbhjpdbhdhb && !JPABLMHNOLD && EGFEJGHDNAI.EFOHKKFPHIB) { int num2 = 0; if (heldTool == num2 || heldTool == EGFEJGHDNAI) { PlayerSpawnedEquipment k__BackingField = EGFEJGHDNAI.k__BackingField; int num3 = 0; bool flag = k__BackingField == num3; } } } throw new NullReferenceException(); } // Token: 0x060003B6 RID: 950 RVA: 0x00012D28 File Offset: 0x00010F28 [Token(Token = "0x60003B6")] [Address(RVA = "0x188B940", Offset = "0x188A340", VA = "0x18188B940")] private void IAMGBCKGKME(Tool EGFEJGHDNAI, Vector3 BNMOCBJEEPN, Quaternion LPHCCEOHNIN, Vector3 GMMJHABHDHE, bool ACPOOMGHPKJ) { if (EGFEJGHDNAI.hasAuthority) { bool hasHolder = EGFEJGHDNAI.FNFNLDBILFE; if (this.NCMIKLKBJKK(EGFEJGHDNAI, hasHolder)) { this.OIDGJKOGAIJ = EGFEJGHDNAI; } } } // Token: 0x17000092 RID: 146 // (get) Token: 0x060003B7 RID: 951 RVA: 0x00012D60 File Offset: 0x00010F60 [Token(Token = "0x17000092")] public bool JBMFJOBFJHP { [Token(Token = "0x60003B7")] [Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "15")] get { } } // Token: 0x060003B8 RID: 952 RVA: 0x00012D70 File Offset: 0x00010F70 [Token(Token = "0x60003B8")] [Address(RVA = "0x188B920", Offset = "0x188A320", VA = "0x18188B920", Slot = "16")] public void DeserializeFrom(KPNDFONGDGF HFBJGCHOANH) { } // Token: 0x060003B9 RID: 953 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x60003B9")] [Address(RVA = "0x188C840", Offset = "0x188B240", VA = "0x18188C840", Slot = "18")] public void PostDeserialize(LJJOCDFAMGA FLIPBCAPDGC) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060003BA RID: 954 RVA: 0x00012D80 File Offset: 0x00010F80 [Token(Token = "0x60003BA")] [Address(RVA = "0x188CDA0", Offset = "0x188B7A0", VA = "0x18188CDA0", Slot = "17")] public void SerializeTo(ref PDEKIHFJKHJ IABNDBNHMKF, ref MKNCHKCCIHK NHFINJNIPGK, StringBuilder BIPOIFGEMGB) { JBHHCGDLNEF jbhhcgdlnef = new JBHHCGDLNEF(); Tool heldTool = this.OIDGJKOGAIJ; int num = 0; if (heldTool != num) { PersistenceView component = this.OIDGJKOGAIJ.GetComponent(); int num2 = 0; if (component != num2) { object[] array = new object[1]; GameObject gameObject = base.gameObject; if (gameObject != 0) { } array[0] = gameObject; Debug.LogErrorFormat(this, "Error serializing ToolHolder {0}: Data already specified.", array); throw new NullReferenceException(); } object[] array2 = new object[2]; GameObject gameObject2 = base.gameObject; if (gameObject2 != 0) { } array2[0] = gameObject2; GameObject gameObject3 = this.OIDGJKOGAIJ.gameObject; if (gameObject3 != 0) { } array2[1] = gameObject3; Debug.LogFormat(this, "Serializing ToolHolder {0}: HeldTool {1} has no corresponding PersistenceView.", array2); } } // Token: 0x060003BB RID: 955 RVA: 0x00012E3C File Offset: 0x0001103C [Token(Token = "0x60003BB")] [Address(RVA = "0x188C6E0", Offset = "0x188B0E0", VA = "0x18188C6E0")] private void OnDrawGizmos() { Color cyan = Color.cyan; Transform transform = this.toolCouplingTransform; int num = 0; if (transform != num) { Transform transform2 = this.toolCouplingTransform; } Transform transform3 = base.transform; Vector3 vector; float z = vector.z; } // Token: 0x060003BC RID: 956 RVA: 0x00012E80 File Offset: 0x00011080 [Token(Token = "0x60003BC")] [Address(RVA = "0x188D470", Offset = "0x188BE70", VA = "0x18188D470")] public ToolHolder() { HashSet hashSet = new HashSet(); this.JIOFJDJIDHO = hashSet; base..ctor(); } // Token: 0x0400033B RID: 827 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x400033B")] [SerializeField] private Transform toolCouplingTransform; // Token: 0x0400033C RID: 828 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x400033C")] [SerializeField] private float couplingRadius = 0.2f; // Token: 0x0400033D RID: 829 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x400033D")] [SerializeField] private Tool initiallyCoupledTool; // Token: 0x0400033E RID: 830 [global::Cpp2IlInjected.FieldOffset(Offset = "0x58")] [Token(Token = "0x400033E")] private Tool NBHJPDBHDHB; // Token: 0x0400033F RID: 831 [global::Cpp2IlInjected.FieldOffset(Offset = "0x60")] [Token(Token = "0x400033F")] private SynchronizedField PJACOKMDMKK; // Token: 0x04000340 RID: 832 [global::Cpp2IlInjected.FieldOffset(Offset = "0x68")] [Token(Token = "0x4000340")] private readonly HashSet JIOFJDJIDHO; // Token: 0x04000341 RID: 833 [global::Cpp2IlInjected.FieldOffset(Offset = "0x70")] [Token(Token = "0x4000341")] private PDEKIHFJKHJ LPPMPHKELIF; }