using System; using System.Collections.Generic; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using Cpp2IlInjected; using Photon.Pun; using UnityEngine; namespace RecRoom.Core.Creation { // Token: 0x0200316B RID: 12651 [Token(Token = "0x200316B")] public class ConnectableTool : MonoBehaviourPun, MIGCNEPBKDG, IEquatable { // Token: 0x140001D1 RID: 465 // (add) Token: 0x0601566E RID: 87662 RVA: 0x004FC364 File Offset: 0x004FA564 // (remove) Token: 0x0601566F RID: 87663 RVA: 0x004FC380 File Offset: 0x004FA580 [Token(Token = "0x140001D1")] public event ConnectableTool.HierarchyChangeHandler ParentChangedEvent { [Token(Token = "0x601566E")] [Address(RVA = "0x18F6BE0", Offset = "0x18F5BE0", VA = "0x1818F6BE0")] [CompilerGenerated] add { Delegate @delegate; while (@delegate != 0 && @delegate == 0) { } while (@delegate != this) { } } [Token(Token = "0x601566F")] [Address(RVA = "0x18F7220", Offset = "0x18F6220", VA = "0x1818F7220")] [CompilerGenerated] remove { Delegate @delegate; while (@delegate != 0 && @delegate == 0) { } while (@delegate != this) { } } } // Token: 0x140001D2 RID: 466 // (add) Token: 0x06015670 RID: 87664 RVA: 0x004FC39C File Offset: 0x004FA59C // (remove) Token: 0x06015671 RID: 87665 RVA: 0x004FC3B8 File Offset: 0x004FA5B8 [Token(Token = "0x140001D2")] public event ConnectableTool.HierarchyChangeHandler ChildAddedEvent { [Token(Token = "0x6015670")] [Address(RVA = "0x18F6A00", Offset = "0x18F5A00", VA = "0x1818F6A00")] [CompilerGenerated] add { Delegate @delegate; while (@delegate != 0 && @delegate == 0) { } while (@delegate != this) { } } [Token(Token = "0x6015671")] [Address(RVA = "0x18F7040", Offset = "0x18F6040", VA = "0x1818F7040")] [CompilerGenerated] remove { Delegate @delegate; while (@delegate != 0 && @delegate == 0) { } while (@delegate != this) { } } } // Token: 0x140001D3 RID: 467 // (add) Token: 0x06015672 RID: 87666 RVA: 0x004FC3D4 File Offset: 0x004FA5D4 // (remove) Token: 0x06015673 RID: 87667 RVA: 0x004FC3F0 File Offset: 0x004FA5F0 [Token(Token = "0x140001D3")] public event ConnectableTool.HierarchyChangeHandler ChildRemovedEvent { [Token(Token = "0x6015672")] [Address(RVA = "0x18F6AA0", Offset = "0x18F5AA0", VA = "0x1818F6AA0")] [CompilerGenerated] add { Delegate @delegate; while (@delegate != 0 && @delegate == 0) { } while (@delegate != this) { } } [Token(Token = "0x6015673")] [Address(RVA = "0x18F70E0", Offset = "0x18F60E0", VA = "0x1818F70E0")] [CompilerGenerated] remove { Delegate @delegate; while (@delegate != 0 && @delegate == 0) { } while (@delegate != this) { } } } // Token: 0x140001D4 RID: 468 // (add) Token: 0x06015674 RID: 87668 RVA: 0x004FC40C File Offset: 0x004FA60C // (remove) Token: 0x06015675 RID: 87669 RVA: 0x004FC428 File Offset: 0x004FA628 [Token(Token = "0x140001D4")] public event ConnectableTool.HierarchyChangeHandler ConnectionModifiedEvent { [Token(Token = "0x6015674")] [Address(RVA = "0x18F6B40", Offset = "0x18F5B40", VA = "0x1818F6B40")] [CompilerGenerated] add { Delegate @delegate; while (@delegate != 0 && @delegate == 0) { } while (@delegate != this) { } } [Token(Token = "0x6015675")] [Address(RVA = "0x18F7180", Offset = "0x18F6180", VA = "0x1818F7180")] [CompilerGenerated] remove { Delegate @delegate; while (@delegate != 0 && @delegate == 0) { } while (@delegate != this) { } } } // Token: 0x140001D5 RID: 469 // (add) Token: 0x06015676 RID: 87670 RVA: 0x004FC444 File Offset: 0x004FA644 // (remove) Token: 0x06015677 RID: 87671 RVA: 0x004FC460 File Offset: 0x004FA660 [Token(Token = "0x140001D5")] public event ConnectableTool.RootChangeHandler RootChangedEvent { [Token(Token = "0x6015676")] [Address(RVA = "0x18F6C80", Offset = "0x18F5C80", VA = "0x1818F6C80")] [CompilerGenerated] add { Delegate @delegate; while (@delegate != 0 && @delegate == 0) { } while (@delegate != this) { } } [Token(Token = "0x6015677")] [Address(RVA = "0x18F72C0", Offset = "0x18F62C0", VA = "0x1818F72C0")] [CompilerGenerated] remove { Delegate @delegate; while (@delegate != 0 && @delegate == 0) { } while (@delegate != this) { } } } // Token: 0x17003AFC RID: 15100 // (get) Token: 0x06015678 RID: 87672 RVA: 0x004FC47C File Offset: 0x004FA67C // (set) Token: 0x06015679 RID: 87673 RVA: 0x004FC490 File Offset: 0x004FA690 [Token(Token = "0x17003AFC")] public MIGCNEPBKDG ParentConnectable { [Token(Token = "0x6015678")] [Address(RVA = "0x4646B0", Offset = "0x4636B0", VA = "0x1804646B0", Slot = "15")] get; [Token(Token = "0x6015679")] [Address(RVA = "0x42B6D0", Offset = "0x42A6D0", VA = "0x18042B6D0")] private set; } // Token: 0x17003AFD RID: 15101 // (get) Token: 0x0601567A RID: 87674 RVA: 0x0000220F File Offset: 0x0000040F // (set) Token: 0x0601567B RID: 87675 RVA: 0x004FC4A4 File Offset: 0x004FA6A4 [Token(Token = "0x17003AFD")] public Vector3 RelativePositionToParent { [Token(Token = "0x601567A")] [Address(RVA = "0x18F6FF0", Offset = "0x18F5FF0", VA = "0x1818F6FF0")] get { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } [Token(Token = "0x601567B")] [Address(RVA = "0x18F73C0", Offset = "0x18F63C0", VA = "0x1818F73C0")] private set { float z = value.z; this.relativePositionToParent.z = z; } } // Token: 0x17003AFE RID: 15102 // (get) Token: 0x0601567C RID: 87676 RVA: 0x0000220F File Offset: 0x0000040F // (set) Token: 0x0601567D RID: 87677 RVA: 0x004FC4C4 File Offset: 0x004FA6C4 [Token(Token = "0x17003AFE")] public Quaternion RelativeRotationToParent { [Token(Token = "0x601567C")] [Address(RVA = "0x152D750", Offset = "0x152C750", VA = "0x18152D750")] get { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } [Token(Token = "0x601567D")] [Address(RVA = "0x152D710", Offset = "0x152C710", VA = "0x18152D710")] private set { } } // Token: 0x17003AFF RID: 15103 // (get) Token: 0x0601567E RID: 87678 RVA: 0x004FC4D4 File Offset: 0x004FA6D4 // (set) Token: 0x0601567F RID: 87679 RVA: 0x004FC4E8 File Offset: 0x004FA6E8 [Token(Token = "0x17003AFF")] public bool RelativePositionAndRotationDirty { [Token(Token = "0x601567E")] [Address(RVA = "0xDDC9B0", Offset = "0xDDB9B0", VA = "0x180DDC9B0")] get; [Token(Token = "0x601567F")] [Address(RVA = "0xDDCBA0", Offset = "0xDDBBA0", VA = "0x180DDCBA0")] private set; } // Token: 0x17003B00 RID: 15104 // (get) Token: 0x06015680 RID: 87680 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x17003B00")] public bool IsParented { [Token(Token = "0x6015680")] [Address(RVA = "0x18F6D40", Offset = "0x18F5D40", VA = "0x1818F6D40")] get { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } } // Token: 0x17003B01 RID: 15105 // (get) Token: 0x06015681 RID: 87681 RVA: 0x004FC4FC File Offset: 0x004FA6FC [Token(Token = "0x17003B01")] public bool ParentIsTool { [Token(Token = "0x6015681")] [Address(RVA = "0x18F6DC0", Offset = "0x18F5DC0", VA = "0x1818F6DC0")] get { if (this.k__BackingField == 0) { } int num = 0; return this != num; } } // Token: 0x17003B02 RID: 15106 // (get) Token: 0x06015682 RID: 87682 RVA: 0x004FC520 File Offset: 0x004FA720 [Token(Token = "0x17003B02")] public Tool ParentTool { [Token(Token = "0x6015682")] [Address(RVA = "0x18F6E40", Offset = "0x18F5E40", VA = "0x1818F6E40")] get { if (this.k__BackingField != 0) { return; } } } // Token: 0x17003B03 RID: 15107 // (get) Token: 0x06015683 RID: 87683 RVA: 0x004FC538 File Offset: 0x004FA738 // (set) Token: 0x06015684 RID: 87684 RVA: 0x004FC54C File Offset: 0x004FA74C [Token(Token = "0x17003B03")] public Tool RootTool { [Token(Token = "0x6015683")] [Address(RVA = "0x42B670", Offset = "0x42A670", VA = "0x18042B670")] get; [Token(Token = "0x6015684")] [Address(RVA = "0x42B6E0", Offset = "0x42A6E0", VA = "0x18042B6E0")] private set; } // Token: 0x17003B04 RID: 15108 // (get) Token: 0x06015685 RID: 87685 RVA: 0x004FC560 File Offset: 0x004FA760 // (set) Token: 0x06015686 RID: 87686 RVA: 0x004FC574 File Offset: 0x004FA774 [Token(Token = "0x17003B04")] public List ChildrenConnectables { [Token(Token = "0x6015685")] [Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710")] get { return this.childrenConnectables; } [Token(Token = "0x6015686")] [Address(RVA = "0x417A10", Offset = "0x416A10", VA = "0x180417A10")] private set { this.childrenConnectables = value; } } // Token: 0x17003B05 RID: 15109 // (get) Token: 0x06015687 RID: 87687 RVA: 0x004FC588 File Offset: 0x004FA788 // (set) Token: 0x06015688 RID: 87688 RVA: 0x004FC5A8 File Offset: 0x004FA7A8 [Token(Token = "0x17003B05")] public bool PhysicallyUnparented { [Token(Token = "0x6015687")] [Address(RVA = "0x18F6FA0", Offset = "0x18F5FA0", VA = "0x1818F6FA0")] get { return this._physicallyUnparented.IAHDANBDAAM() != null; } [Token(Token = "0x6015688")] [Address(RVA = "0x18F7360", Offset = "0x18F6360", VA = "0x1818F7360")] set { if (!this.ParentIsTool || this._physicallyUnparented != 0) { } } } // Token: 0x06015689 RID: 87689 RVA: 0x004FC5C8 File Offset: 0x004FA7C8 [Token(Token = "0x6015689")] [Address(RVA = "0x18F4CA0", Offset = "0x18F3CA0", VA = "0x1818F4CA0", Slot = "13")] protected override void Awake() { base..ctor(); Action action = new Action(this.OnPhysicallyUnparentedChanged); int num; int num2; KLLMCPFPIIE kllmcpfpiie = new KLLMCPFPIIE(this, "PhU", num, (OHOEENCHJJE)num2, action, num2); num2 = 0; num = 0; this._physicallyUnparented = kllmcpfpiie; Tool.OGLAJAFKBMN oglajafkbmn; this._tool.AddCustomPickupCondition(oglajafkbmn); Tool.DNDBJKJIFNL dndbjkjifnl; this._tool.CustomSelectionForwarding = dndbjkjifnl; } // Token: 0x0601568A RID: 87690 RVA: 0x004FC624 File Offset: 0x004FA824 [Token(Token = "0x601568A")] [Address(RVA = "0x18F5A90", Offset = "0x18F4A90", VA = "0x1818F5A90", Slot = "14")] protected override void OnDestroy() { SandboxConnectableManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG; int num = 0; if (instance != num) { NetworkedSingletonMonoBehaviour.ONCPNMDGGKG.LocalRemoveNode(this); } base.OnDestroy(); } // Token: 0x0601568B RID: 87691 RVA: 0x004FC65C File Offset: 0x004FA85C [Token(Token = "0x601568B")] [Address(RVA = "0x18F6850", Offset = "0x18F5850", VA = "0x1818F6850")] private void Start() { SandboxConnectableManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG; int num = 0; instance.LocalAddNodeToRoot(this, num, true); CreationObject creationObject = this._tool.creationObject; int num2 = 0; if (creationObject != num2) { CreationObject creationObject2 = this._tool.creationObject; CreationObject.CGELIKFANLB cgelikfanlb = new CreationObject.CGELIKFANLB(this.SupportsNavMesh); creationObject2.AddCustomNavMeshSupportCondition(cgelikfanlb); } this.OnPhysicallyUnparentedChanged(); } // Token: 0x0601568C RID: 87692 RVA: 0x004FC6C4 File Offset: 0x004FA8C4 [Token(Token = "0x601568C")] [Address(RVA = "0x18F5270", Offset = "0x18F4270", VA = "0x1818F5270", Slot = "32")] protected virtual bool CustomPickupCondition(Tool thisTool, Player selectingPlayer, Vector3 selectionPoint, bool physicalPickup) { return this.k__BackingField <= (ulong)0L || this._physicallyUnparented.IAHDANBDAAM() != null; } // Token: 0x0601568D RID: 87693 RVA: 0x004FC6F0 File Offset: 0x004FA8F0 [Token(Token = "0x601568D")] [Address(RVA = "0x18F52D0", Offset = "0x18F42D0", VA = "0x1818F52D0", Slot = "33")] protected virtual Tool CustomToolForwarding(Player selectingPlayer, bool physicalPickupSelection, Collider selectedCollider) { if (!physicalPickupSelection && this.ParentIsTool) { MIGCNEPBKDG migcnepbkdg = this.k__BackingField; bool flag; if (!flag && this._physicallyUnparented.IAHDANBDAAM() == 0) { MIGCNEPBKDG migcnepbkdg2 = this.k__BackingField; } } return this._tool; } // Token: 0x0601568E RID: 87694 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x601568E")] [Address(RVA = "0x18F6980", Offset = "0x18F5980", VA = "0x1818F6980")] private bool SupportsNavMesh() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0601568F RID: 87695 RVA: 0x004FC738 File Offset: 0x004FA938 [Token(Token = "0x601568F")] [Address(RVA = "0x18F55E0", Offset = "0x18F45E0", VA = "0x1818F55E0")] public Tool GetSafeRootTool() { if (this.ParentIsTool) { MIGCNEPBKDG migcnepbkdg = this.k__BackingField; Tool tool; return tool; } return this._tool; } // Token: 0x06015690 RID: 87696 RVA: 0x004FC764 File Offset: 0x004FA964 [Token(Token = "0x6015690")] [Address(RVA = "0x18F43E0", Offset = "0x18F33E0", VA = "0x1818F43E0")] public void AuthorityParentThisConnectableToOther(int slotIndex, MIGCNEPBKDG parentConnectable, int parentSlotIndex) { if (parentConnectable != 0 && this._tool.OGIBLNIIHDK) { SandboxConnectableManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG; Transform targetTransform = this._tool.rigidbodyEx.MDKDCJFEBJH; Vector3 vector; float z = vector.z; Vector3 vector2; float z2 = vector2.z; Transform targetTransform2 = this._tool.rigidbodyEx.MDKDCJFEBJH; } } // Token: 0x06015691 RID: 87697 RVA: 0x004FC7C4 File Offset: 0x004FA9C4 [Token(Token = "0x6015691")] [Address(RVA = "0x18F46D0", Offset = "0x18F36D0", VA = "0x1818F46D0")] public void AuthorityUnparentThisConnectableFromOther() { if (this.k__BackingField > (ulong)0L && this._tool.OGIBLNIIHDK) { NetworkedSingletonMonoBehaviour.ONCPNMDGGKG.RequestMasterReparentToRoot(this); return; } } // Token: 0x06015692 RID: 87698 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6015692")] [Address(RVA = "0x18F40E0", Offset = "0x18F30E0", VA = "0x1818F40E0")] public void AuthorityParentOtherConnectableToThis(int slotIndex, MIGCNEPBKDG childConnectable, int childSlotIndex, [Optional] Vector3? relativePosition, [Optional] Quaternion? relativeRotation) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06015693 RID: 87699 RVA: 0x004FC7FC File Offset: 0x004FA9FC [Token(Token = "0x6015693")] [Address(RVA = "0x18F4630", Offset = "0x18F3630", VA = "0x1818F4630")] public void AuthorityUnparentOtherConnectableFromThis(MIGCNEPBKDG childConnectable) { if (childConnectable != 0 && this._tool.OGIBLNIIHDK) { NetworkedSingletonMonoBehaviour.ONCPNMDGGKG.RequestMasterReparentToRoot(childConnectable); } } // Token: 0x06015694 RID: 87700 RVA: 0x004FC82C File Offset: 0x004FAA2C [Token(Token = "0x6015694")] [Address(RVA = "0x18F5C20", Offset = "0x18F4C20", VA = "0x1818F5C20")] private void OnPhysicallyUnparentedChanged() { while (this.ParentIsTool) { if (this._physicallyUnparented.IAHDANBDAAM() != 0 && this._tool.rigidbodyEx.IHLCHCBIBEF) { RigidbodyEx rigidbodyEx = this._tool.rigidbodyEx; int num = 0; rigidbodyEx.HICENEOPGOF = num; RigidbodyEx rigidbodyEx2 = this._tool.rigidbodyEx; object obj = this.connectionToParentToken; rigidbodyEx2.RemoveKinematic(obj); RigidbodyEx rigidbodyEx3 = this._tool.rigidbodyEx; object obj2 = this.connectionToParentToken; rigidbodyEx3.DisableProxyMovement(obj2); break; } if (!this._tool.rigidbodyEx.IHLCHCBIBEF) { RigidbodyEx rigidbodyEx4 = this._tool.rigidbodyEx; object obj3 = this.connectionToParentToken; rigidbodyEx4.AddKinematic(obj3); RigidbodyEx rigidbodyEx5 = this._tool.rigidbodyEx; object obj4 = this.connectionToParentToken; rigidbodyEx5.EnableProxyMovement(obj4); Tool tool = this._tool; MIGCNEPBKDG migcnepbkdg = this.k__BackingField; RigidbodyEx rigidbodyEx6 = tool.rigidbodyEx; RigidbodyEx rigidbodyEx7 = tool.rigidbodyEx; rigidbodyEx6.HICENEOPGOF = rigidbodyEx7; if (base.OGIBLNIIHDK) { RigidbodyEx rigidbodyEx8 = this._tool.rigidbodyEx; Quaternion quaternion = this.relativeRotationToParent; float z = this.relativePositionToParent.z; return; } } } } // Token: 0x06015695 RID: 87701 RVA: 0x004FC964 File Offset: 0x004FAB64 [Token(Token = "0x6015695")] [Address(RVA = "0x18F66E0", Offset = "0x18F56E0", VA = "0x1818F66E0")] public void SetConnectionPoint(int index, Vector3 pos) { int length = this.connectionPoints.Length; float z = pos.z; int length2 = this.connectionPoints.Length; Debug.LogError(string.Format("SetConnectionPoint: Tried to set ConnectionPoint {0} to {1} but tool only has {2} connection points", index, length, length)); } // Token: 0x06015696 RID: 87702 RVA: 0x004FC9AC File Offset: 0x004FABAC [Token(Token = "0x6015696")] [Address(RVA = "0x18F5660", Offset = "0x18F4660", VA = "0x1818F5660")] public void OnDeformationUpdateChildrenPositionAndRotation(Vector3 previousPosition) { int num; do { num = 0; if (this.childrenConnectables == 0) { break; } bool flag; if (flag) { bool flag2; while (!flag2) { } Transform targetTransform = this._tool.rigidbodyEx.MDKDCJFEBJH; bool flag3; while (!flag3) { } Transform targetTransform2 = this._tool.rigidbodyEx.MDKDCJFEBJH; Transform targetTransform3 = this._tool.rigidbodyEx.MDKDCJFEBJH; Vector3 vector; float z = vector.z; } } while (num != 0); } // Token: 0x06015697 RID: 87703 RVA: 0x004FCA68 File Offset: 0x004FAC68 [Token(Token = "0x6015697")] [Address(RVA = "0x18F4760", Offset = "0x18F3760", VA = "0x1818F4760")] public void AuthorityUpdateParentAndChildrenNodesRelativePositionsAndRotations() { int num; do { num = 0; if (!this._tool.OGIBLNIIHDK) { break; } if (this.k__BackingField <= num) { SandboxConnectableManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG; RigidbodyEx rigidbodyEx = this._tool.rigidbodyEx; RigidbodyEx rigidbodyEx2 = this._tool.rigidbodyEx; } SandboxConnectableManager instance2 = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG; MIGCNEPBKDG migcnepbkdg = this.k__BackingField; RigidbodyEx rigidbodyEx3 = this._tool.rigidbodyEx; MIGCNEPBKDG migcnepbkdg2 = this.k__BackingField; RigidbodyEx rigidbodyEx4 = this._tool.rigidbodyEx; int num2 = 0; Quaternion quaternion; instance2.RequestMasterModifyNode(this, migcnepbkdg, num2, quaternion); if (this.childrenConnectables == 0) { break; } bool flag; if (flag) { bool flag2; while (!flag2) { } Quaternion quaternion2; NetworkedSingletonMonoBehaviour.ONCPNMDGGKG.RequestMasterModifyNode(migcnepbkdg, this, num2, quaternion2); } } while (num != 0); } // Token: 0x17003B06 RID: 15110 // (get) Token: 0x06015698 RID: 87704 RVA: 0x004FCB24 File Offset: 0x004FAD24 [Token(Token = "0x17003B06")] public Transform Transform { [Token(Token = "0x6015698")] [Address(RVA = "0x18F7010", Offset = "0x18F6010", VA = "0x1818F7010", Slot = "16")] get { return this._tool.rigidbodyEx.MDKDCJFEBJH; } } // Token: 0x17003B07 RID: 15111 // (get) Token: 0x06015699 RID: 87705 RVA: 0x004FCB48 File Offset: 0x004FAD48 [Token(Token = "0x17003B07")] public GameObject GameObject { [Token(Token = "0x6015699")] [Address(RVA = "0x18F6D20", Offset = "0x18F5D20", VA = "0x1818F6D20", Slot = "17")] get { return this._tool.gameObject; } } // Token: 0x17003B08 RID: 15112 // (get) Token: 0x0601569A RID: 87706 RVA: 0x004FCB68 File Offset: 0x004FAD68 [Token(Token = "0x17003B08")] public string Name { [Token(Token = "0x601569A")] [Address(RVA = "0x18F6D50", Offset = "0x18F5D50", VA = "0x1818F6D50", Slot = "18")] get { int spawnableToolType = (int)this._tool.OGNBCNBPFCC; string text; return text; } } // Token: 0x17003B09 RID: 15113 // (get) Token: 0x0601569B RID: 87707 RVA: 0x004FCB88 File Offset: 0x004FAD88 [Token(Token = "0x17003B09")] public Guid PersistenceId { [Token(Token = "0x601569B")] [Address(RVA = "0x18F6E90", Offset = "0x18F5E90", VA = "0x1818F6E90", Slot = "19")] get { bool flag; if (flag) { } throw new NullReferenceException(); } } // Token: 0x17003B0A RID: 15114 // (get) Token: 0x0601569C RID: 87708 RVA: 0x004FCBA0 File Offset: 0x004FADA0 [Token(Token = "0x17003B0A")] public int PhotonId { [Token(Token = "0x601569C")] [Address(RVA = "0x18F6F80", Offset = "0x18F5F80", VA = "0x1818F6F80", Slot = "20")] get { return this._tool.KHDKHLFAMOK; } } // Token: 0x17003B0B RID: 15115 // (get) Token: 0x0601569D RID: 87709 RVA: 0x004FCBC0 File Offset: 0x004FADC0 [Token(Token = "0x17003B0B")] public Tool Tool { [Token(Token = "0x601569D")] [Address(RVA = "0x4975A0", Offset = "0x4965A0", VA = "0x1804975A0", Slot = "21")] get { return this._tool; } } // Token: 0x17003B0C RID: 15116 // (get) Token: 0x0601569E RID: 87710 RVA: 0x004FCBD4 File Offset: 0x004FADD4 [Token(Token = "0x17003B0C")] public virtual bool ShouldSerializeUnparented { [Token(Token = "0x601569E")] [Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "34")] get { } } // Token: 0x0601569F RID: 87711 RVA: 0x004FCBE4 File Offset: 0x004FADE4 [Token(Token = "0x601569F")] [Address(RVA = "0x18F5530", Offset = "0x18F4530", VA = "0x1818F5530", Slot = "35")] public virtual Vector3 GetConnectionSlotPosition(int slotIndex) { if (this != 0) { Tool tool = this._tool; Vector3 vector; float z = vector.z; } throw new NullReferenceException(); } // Token: 0x060156A0 RID: 87712 RVA: 0x004FCC08 File Offset: 0x004FAE08 [Token(Token = "0x60156A0")] [Address(RVA = "0x1259D60", Offset = "0x1258D60", VA = "0x181259D60", Slot = "36")] public virtual Color GetConnectionSlotColor(int slotIndex) { /* An exception occurred when decompiling this method (060156A0) ICSharpCode.Decompiler.DecompilerException: Error decompiling UnityEngine.Color RecRoom.Core.Creation.ConnectableTool::GetConnectionSlotColor(System.Int32) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:Color(var_0_05, callgetter:Color(Color::get_red)) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663 */; } // Token: 0x060156A1 RID: 87713 RVA: 0x004FCC1C File Offset: 0x004FAE1C [Token(Token = "0x60156A1")] [Address(RVA = "0x18F4DD0", Offset = "0x18F3DD0", VA = "0x1818F4DD0", Slot = "37")] public virtual bool CanConnectTo(int slotIndex, MIGCNEPBKDG otherConnectable, int otherConnectableSlotIndex) { if (otherConnectable == 0) { } bool flag; if (!flag) { return flag; } return !this._tool.FNFNLDBILFE; } // Token: 0x060156A2 RID: 87714 RVA: 0x004FCC4C File Offset: 0x004FAE4C [Token(Token = "0x60156A2")] [Address(RVA = "0x18F5490", Offset = "0x18F4490", VA = "0x1818F5490", Slot = "38")] public virtual bool Equals(MIGCNEPBKDG other) { if (other == 0) { } bool flag; return flag; } // Token: 0x060156A3 RID: 87715 RVA: 0x004FCC60 File Offset: 0x004FAE60 [Token(Token = "0x60156A3")] [Address(RVA = "0x18F5E80", Offset = "0x18F4E80", VA = "0x1818F5E80", Slot = "39")] public virtual void ParentChanged(int slotIndex, MIGCNEPBKDG newParentConnectable, int newParentSlot, Vector3 newRelativePosition, Quaternion newRelativeRotation) { Tool tool = this._tool; RigidbodyEx rigidbodyEx = tool.rigidbodyEx; int num = 0; rigidbodyEx.HICENEOPGOF = num; if (this.k__BackingField != 0) { int num2 = 0; if (tool != num2) { MIGCNEPBKDG migcnepbkdg = this.k__BackingField; Action action = new Action(this.OnParentToolAuthorityChanged); } this.k__BackingField = (ulong)0L; } Tool tool2 = this._tool; bool flag = newParentConnectable != 0; Tool tool3; if (newParentConnectable == 0) { JAKMIGBBBOM.BAFPMPJFBEM velocityProvider = tool2.rigidbodyEx.VelocityProvider; JAKMIGBBBOM.BAFPMPJFBEM bafpmpjfbem = JAKMIGBBBOM.FMDJFHMFJLO; if (velocityProvider != bafpmpjfbem) { goto IL_C4; } tool3 = this._tool; tool3.rigidbodyEx.VelocityProvider = (ulong)0L; } if (!tool3.rigidbodyEx.OLOMGNLGBEA) { RigidbodyEx rigidbodyEx2 = this._tool.rigidbodyEx; JAKMIGBBBOM.BAFPMPJFBEM bafpmpjfbem2 = JAKMIGBBBOM.FMDJFHMFJLO; rigidbodyEx2.VelocityProvider = bafpmpjfbem2; } IL_C4: bool flag2; if (newParentConnectable != 0 && flag2) { RigidbodyEx rigidbodyEx3 = this._tool.rigidbodyEx; object obj = this.connectionToParentToken; rigidbodyEx3.EnableProxyMovement(obj); Tool tool4 = this._tool; RigidbodyEx rigidbodyEx4 = tool4.rigidbodyEx; RigidbodyEx rigidbodyEx5 = tool4.rigidbodyEx; rigidbodyEx4.HICENEOPGOF = rigidbodyEx5; Action action2 = new Action(this.OnParentToolAuthorityChanged); tool4.AuthorityChangedEvent += action2; Tool tool5 = this._tool; RigidbodyEx rigidbodyEx6 = tool5.rigidbodyEx; this.relativePositionToParent.z = tool5; } RigidbodyEx rigidbodyEx7 = this._tool.rigidbodyEx; object obj2 = this.connectionToParentToken; rigidbodyEx7.DisableProxyMovement(obj2); float z = Vector3.zero.z; this.relativePositionToParent.z = z; Quaternion identity = Quaternion.identity; RigidbodyEx rigidbodyEx8 = this._tool.rigidbodyEx; object obj3 = this.connectionToParentToken; rigidbodyEx8.SetKinematic(obj3, flag); this.k__BackingField = newParentConnectable; if (base.OGIBLNIIHDK && this.ParentIsTool) { KLLMCPFPIIE physicallyUnparented = this._physicallyUnparented; if (physicallyUnparented != 0) { int num3 = 0; physicallyUnparented.BDJFGEJFPPO(num3); } } if (this.ParentChangedEvent != 0) { } } // Token: 0x060156A4 RID: 87716 RVA: 0x004FCE54 File Offset: 0x004FB054 [Token(Token = "0x60156A4")] [Address(RVA = "0x18F4EA0", Offset = "0x18F3EA0", VA = "0x1818F4EA0", Slot = "40")] public virtual void ChildAdded(int slotIndex, MIGCNEPBKDG newChildConnectable, int newChildSlot, Vector3 relativePosition, Quaternion relativeRotation) { if (!this.childrenConnectables.Contains(newChildConnectable)) { this.childrenConnectables.Add(newChildConnectable); } if (this.ChildAddedEvent != 0) { } } // Token: 0x060156A5 RID: 87717 RVA: 0x004FCE90 File Offset: 0x004FB090 [Token(Token = "0x60156A5")] [Address(RVA = "0x18F5030", Offset = "0x18F4030", VA = "0x1818F5030", Slot = "41")] public virtual void ChildRemoved(int slotIndex, MIGCNEPBKDG removedChildConnectable, int removedChildSlot) { bool flag = this.childrenConnectables.Remove(removedChildConnectable); if (this.ChildRemovedEvent != 0) { } } // Token: 0x060156A6 RID: 87718 RVA: 0x004FCEBC File Offset: 0x004FB0BC [Token(Token = "0x60156A6")] [Address(RVA = "0x18F5110", Offset = "0x18F4110", VA = "0x1818F5110", Slot = "42")] public virtual void ConnectionModified(int slotIndex, MIGCNEPBKDG parentConnectable, int parentSlotIndex, Vector3 relativePosition, Quaternion relativeRotation) { ConnectableTool.HierarchyChangeHandler connectionModifiedEvent = this.ConnectionModifiedEvent; this.k__BackingField = false; if (connectionModifiedEvent != 0) { } } // Token: 0x060156A7 RID: 87719 RVA: 0x004FCEE0 File Offset: 0x004FB0E0 [Token(Token = "0x60156A7")] [Address(RVA = "0x18F6580", Offset = "0x18F5580", VA = "0x1818F6580", Slot = "43")] public virtual void RootChanged(MIGCNEPBKDG previousRootConnectable, MIGCNEPBKDG newRootConnectable) { if (newRootConnectable != 0) { } int num = 0; this.k__BackingField = num; ConnectableTool.RootChangeHandler rootChangedEvent = this.RootChangedEvent; if (rootChangedEvent != 0) { rootChangedEvent(previousRootConnectable, newRootConnectable); } } // Token: 0x060156A8 RID: 87720 RVA: 0x004FCF14 File Offset: 0x004FB114 [Token(Token = "0x60156A8")] [Address(RVA = "0x18F5B70", Offset = "0x18F4B70", VA = "0x1818F5B70")] private void OnParentToolAuthorityChanged(AGAJMBPABDL newAuthority) { if (newAuthority != 0 && newAuthority.DMKCIEPGGAB && !this._tool.OGIBLNIIHDK) { PhotonView photonView = this._tool.JDHMIOJKLCK; AGAJMBPABDL agajmbpabdl = KKPBCOOONNK.MDMMDPEKICF; photonView.TransferOwnership(agajmbpabdl); } } // Token: 0x060156A9 RID: 87721 RVA: 0x004FCF60 File Offset: 0x004FB160 [Token(Token = "0x60156A9")] [Address(RVA = "0x18F6440", Offset = "0x18F5440", VA = "0x1818F6440")] [CBEAKPMNJOL(LGFJHLDANJN.Unity_AfterSceneLoad)] private static void RegisterRpcSerializationHandlers() { PMDMLFNOIDA pmdmlfnoida = PMDMLFNOIDA.ONCPNMDGGKG; Type typeFromHandle = typeof(MIGCNEPBKDG); Type typeFromHandle2 = typeof(int); int num; Converter converter = new Converter(num.SerializeIConnectable); num = 0; int num2; Converter converter2 = new Converter(num2.DeserializeIConnectable); num2 = 0; pmdmlfnoida.KFFMNCNICIO(typeFromHandle, typeFromHandle2, converter, converter2); } // Token: 0x060156AA RID: 87722 RVA: 0x004FCFC4 File Offset: 0x004FB1C4 [Token(Token = "0x60156AA")] [Address(RVA = "0x18F6990", Offset = "0x18F5990", VA = "0x1818F6990")] [CALLMFDLAPD(IFJNJDOONNL.ExitingPlayMode, 0)] private static void UnregisterRpcSerializationHandlers() { PMDMLFNOIDA.ONCPNMDGGKG.NFJKPKDIFKP(); } // Token: 0x060156AB RID: 87723 RVA: 0x004FCFE4 File Offset: 0x004FB1E4 [Token(Token = "0x60156AB")] [Address(RVA = "0x18F6610", Offset = "0x18F5610", VA = "0x1818F6610")] private static object SerializeIConnectable(object input) { PhotonView photonView; int viewIdField = photonView.viewIdField; throw new NullReferenceException(); } // Token: 0x060156AC RID: 87724 RVA: 0x004FD000 File Offset: 0x004FB200 [Token(Token = "0x60156AC")] [Address(RVA = "0x18F53C0", Offset = "0x18F43C0", VA = "0x1818F53C0")] private static object DeserializeIConnectable(object input) { int num = 0; PhotonView photonView; if (photonView != num) { MIGCNEPBKDG component = photonView.GetComponent(); } throw new NullReferenceException(); } // Token: 0x060156AD RID: 87725 RVA: 0x004FD028 File Offset: 0x004FB228 [Token(Token = "0x60156AD")] [Address(RVA = "0x18F3F40", Offset = "0x18F2F40", VA = "0x1818F3F40")] public ConnectableTool() { List list = new List(); this.childrenConnectables = list; base..ctor(); } // Token: 0x0400E237 RID: 57911 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x400E237")] [SerializeField] private ConnectionPoint[] connectionPoints; // Token: 0x0400E238 RID: 57912 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x400E238")] [SerializeField] [NKNLDEIPALE(FHBJCBPFODN.Self, false, false, false)] private Tool _tool; // Token: 0x0400E239 RID: 57913 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x400E239")] protected object connectionToParentToken = "Parented"; // Token: 0x0400E23A RID: 57914 [global::Cpp2IlInjected.FieldOffset(Offset = "0x58")] [Token(Token = "0x400E23A")] private List childrenConnectables; // Token: 0x0400E23B RID: 57915 [global::Cpp2IlInjected.FieldOffset(Offset = "0x60")] [Token(Token = "0x400E23B")] private KLLMCPFPIIE _physicallyUnparented; // Token: 0x0400E23C RID: 57916 [global::Cpp2IlInjected.FieldOffset(Offset = "0x68")] [Token(Token = "0x400E23C")] private Vector3 relativePositionToParent; // Token: 0x0400E23D RID: 57917 [global::Cpp2IlInjected.FieldOffset(Offset = "0x74")] [Token(Token = "0x400E23D")] private Quaternion relativeRotationToParent; // Token: 0x0200316C RID: 12652 [Token(Token = "0x200316C")] public sealed class HierarchyChangeHandler : MulticastDelegate { // Token: 0x060156AE RID: 87726 RVA: 0x004FD054 File Offset: 0x004FB254 [Token(Token = "0x60156AE")] [Address(RVA = "0x4AF020", Offset = "0x4AE020", VA = "0x1804AF020")] public HierarchyChangeHandler(object @object, IntPtr method) { this.method = method; this.m_target = @object; } // Token: 0x060156AF RID: 87727 RVA: 0x004FD070 File Offset: 0x004FB270 [Token(Token = "0x60156AF")] [Address(RVA = "0x1902380", Offset = "0x1901380", VA = "0x181902380", Slot = "13")] public void Invoke(MIGCNEPBKDG childConnectable, int childConnectableSlot, MIGCNEPBKDG parentConnectable, int parentConnectableSlot, [Optional] Vector3? relativePosition, [Optional] Quaternion? relativeRotation) { if (this.delegates != 0) { } uint num; if (num != (uint)0) { throw new ExecutionEngineException(); } } // Token: 0x060156B0 RID: 87728 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x60156B0")] [Address(RVA = "0x1902290", Offset = "0x1901290", VA = "0x181902290", Slot = "14")] public IAsyncResult BeginInvoke(MIGCNEPBKDG childConnectable, int childConnectableSlot, MIGCNEPBKDG parentConnectable, int parentConnectableSlot, Vector3? relativePosition, Quaternion? relativeRotation, AsyncCallback callback, object @object) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060156B1 RID: 87729 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x60156B1")] [Address(RVA = "0x4F56B0", Offset = "0x4F46B0", VA = "0x1804F56B0", Slot = "15")] public void EndInvoke(IAsyncResult result) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } } // Token: 0x0200316D RID: 12653 [Token(Token = "0x200316D")] public sealed class RootChangeHandler : MulticastDelegate { // Token: 0x060156B2 RID: 87730 RVA: 0x004FD150 File Offset: 0x004FB350 [Token(Token = "0x60156B2")] [Address(RVA = "0x4AF020", Offset = "0x4AE020", VA = "0x1804AF020")] public RootChangeHandler(object @object, IntPtr method) { this.method = method; this.m_target = @object; } // Token: 0x060156B3 RID: 87731 RVA: 0x004FD16C File Offset: 0x004FB36C [Token(Token = "0x60156B3")] [Address(RVA = "0x1817CC0", Offset = "0x1816CC0", VA = "0x181817CC0", Slot = "13")] public void Invoke(MIGCNEPBKDG previousRootConnectable, MIGCNEPBKDG newRootConnectable) { if (this.delegates != 0) { } uint num; if (num != (uint)0) { throw new ExecutionEngineException(); } } // Token: 0x060156B4 RID: 87732 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x60156B4")] [Address(RVA = "0x52CC60", Offset = "0x52BC60", VA = "0x18052CC60", Slot = "14")] public IAsyncResult BeginInvoke(MIGCNEPBKDG previousRootConnectable, MIGCNEPBKDG newRootConnectable, AsyncCallback callback, object @object) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060156B5 RID: 87733 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x60156B5")] [Address(RVA = "0x4F56B0", Offset = "0x4F46B0", VA = "0x1804F56B0", Slot = "15")] public void EndInvoke(IAsyncResult result) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } } // Token: 0x0200316E RID: 12654 [Token(Token = "0x200316E")] public sealed class ConnectionViabilityChecker : MulticastDelegate { // Token: 0x060156B6 RID: 87734 RVA: 0x004FD248 File Offset: 0x004FB448 [Token(Token = "0x60156B6")] [Address(RVA = "0x4AF020", Offset = "0x4AE020", VA = "0x1804AF020")] public ConnectionViabilityChecker(object @object, IntPtr method) { this.method = method; this.m_target = @object; } // Token: 0x060156B7 RID: 87735 RVA: 0x004FD264 File Offset: 0x004FB464 [Token(Token = "0x60156B7")] [Address(RVA = "0x564C90", Offset = "0x563C90", VA = "0x180564C90", Slot = "13")] public bool Invoke(int slotIndex, MIGCNEPBKDG otherConnectable, int otherConnectableSlotIndex) { Delegate[] delegates = this.delegates; if (delegates != 0) { } int num = 0; uint num2; if (num2 == (uint)0) { return; } Delegate @delegate = delegates[1]; Delegate delegate2 = delegates[0]; uint num3; if (@delegate.method_info == num3) { throw new ExecutionEngineException(); } ExecutionEngineException ex; if (ex != 0) { } int num6; if (delegate2 != 0) { uint num4; if (@delegate.method_info == num4) { goto IL_C9; } int num5 = 0; MethodInfo method_info = @delegate.method_info; if (num5 < otherConnectableSlotIndex) { num5 += num5; if (num5 != otherConnectableSlotIndex) { num5++; } } num5 += method_info; num5 += 19; MethodInfo methodInfo = @delegate.method_info; methodInfo += methodInfo; MethodInfo method_info2 = @delegate.method_info; num6 = 0; if (num6 < otherConnectableSlotIndex) { num6 += num6; if (num6 != otherConnectableSlotIndex) { num6++; } } num6 += method_info2; num6 += 19; } if (num6 != 0) { } IL_C9: num++; } // Token: 0x060156B8 RID: 87736 RVA: 0x004FD340 File Offset: 0x004FB540 [Token(Token = "0x60156B8")] [Address(RVA = "0x18F91F0", Offset = "0x18F81F0", VA = "0x1818F91F0", Slot = "14")] public IAsyncResult BeginInvoke(int slotIndex, MIGCNEPBKDG otherConnectable, int otherConnectableSlotIndex, AsyncCallback callback, object @object) { } // Token: 0x060156B9 RID: 87737 RVA: 0x004FD350 File Offset: 0x004FB550 [Token(Token = "0x60156B9")] [Address(RVA = "0x56AA00", Offset = "0x569A00", VA = "0x18056AA00", Slot = "15")] public bool EndInvoke(IAsyncResult result) { throw new NullReferenceException(); } } } }