using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Text; using AGUI.StackedUI; using Cpp2IlInjected; using Photon.Pun; using RecRoom.AGUI.ToolUIs; using RecRoom.Core.Creation; using RecRoom.Core.DataStructures.Tokens; using RecRoom.Networking.SynchronizedFields; using UnityEngine; namespace RecRoom.Tools { // Token: 0x02002589 RID: 9609 [Token(Token = "0x2002589")] [DisallowMultipleComponent] [StructLayout(3)] public sealed class ToolEntity : MonoBehaviourPun, EOCLMMENCKH { // Token: 0x17002D42 RID: 11586 // (get) Token: 0x06010A3C RID: 68156 RVA: 0x003E9A30 File Offset: 0x003E7C30 [Token(Token = "0x17002D42")] public static IReadOnlyList DMFGKOAIJKL { [Token(Token = "0x6010A3C")] [Address(RVA = "0x15B7210", Offset = "0x15B5C10", VA = "0x1815B7210")] get { /* An exception occurred when decompiling this method (06010A3C) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IReadOnlyList`1 RecRoom.Tools.ToolEntity::get_AllToolEntities() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:class [mscorlib]System.Collections.Generic.List`1(var_0_05, ldsfld:class [mscorlib]System.Collections.Generic.List`1(ToolEntity::OBNCENNPHBI)) } 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: 0x17002D43 RID: 11587 // (get) Token: 0x06010A3D RID: 68157 RVA: 0x003E9A44 File Offset: 0x003E7C44 [Token(Token = "0x17002D43")] public Tool ENPDMEEGAGI { [Token(Token = "0x6010A3D")] [Address(RVA = "0x3D32F0", Offset = "0x3D1CF0", VA = "0x1803D32F0")] get { return this.mainTool; } } // Token: 0x17002D44 RID: 11588 // (get) Token: 0x06010A3E RID: 68158 RVA: 0x003E9A58 File Offset: 0x003E7C58 // (set) Token: 0x06010A3F RID: 68159 RVA: 0x003E9A78 File Offset: 0x003E7C78 [Token(Token = "0x17002D44")] public bool LDIOKOBMGCM { [Token(Token = "0x6010A3E")] [Address(RVA = "0x15B67B0", Offset = "0x15B51B0", VA = "0x1815B67B0")] get { return this.DFIPABOKBHL.Get() != null; } [Token(Token = "0x6010A3F")] [Address(RVA = "0x15B6800", Offset = "0x15B5200", VA = "0x1815B6800")] set { SynchronizedField dfipabokbhl = this.DFIPABOKBHL; } } // Token: 0x06010A40 RID: 68160 RVA: 0x003E9A94 File Offset: 0x003E7C94 [Token(Token = "0x6010A40")] [Address(RVA = "0x15B6610", Offset = "0x15B5010", VA = "0x1815B6610", Slot = "13")] protected override void Awake() { base..ctor(); SynchronizedField synchronizedField; this.DFIPABOKBHL = synchronizedField; ToolEntity.OBNCENNPHBI.Add(this); } // Token: 0x06010A41 RID: 68161 RVA: 0x003E9AC4 File Offset: 0x003E7CC4 [Token(Token = "0x6010A41")] [Address(RVA = "0x15B6F00", Offset = "0x15B5900", VA = "0x1815B6F00")] private void Start() { CreationObject creationObject = this.mainTool.creationObject; int num = 0; if (creationObject != num) { OMKPHDBNLKH.DEDABHKCIBG <>9__13_ = ToolEntity.<>c.<>9__13_0; if (<>9__13_ == 0) { ToolEntity.<>c.<>9__13_0 = (MakerPenPaletteConfigScreen editableUIFlow) => editableUIFlow.DefaultBoolUIControlPrefab; } OMKPHDBNLKH.OHINDOLFNMP ohindolfnmp = new OMKPHDBNLKH.OHINDOLFNMP(this.EOKCAIDDLKH); CPNMFOKDBKM cpnmfokdbkm = new CPNMFOKDBKM(<>9__13_, ohindolfnmp, -1); ILINODKFHEO ilinodkfheo = creationObject.AddConfigurableSetting(cpnmfokdbkm); } } // Token: 0x06010A42 RID: 68162 RVA: 0x003E9B30 File Offset: 0x003E7D30 [Token(Token = "0x6010A42")] [Address(RVA = "0x15B6B80", Offset = "0x15B5580", VA = "0x1815B6B80", Slot = "14")] protected override void OnDestroy() { base.OnDestroy(); bool flag = ToolEntity.OBNCENNPHBI.Remove(this); } // Token: 0x17002D45 RID: 11589 // (get) Token: 0x06010A43 RID: 68163 RVA: 0x003E9B58 File Offset: 0x003E7D58 [Token(Token = "0x17002D45")] public static ToolEntity.PACMMGFMOEN NMHAOLOMOFO { [Token(Token = "0x6010A43")] [Address(RVA = "0x15B7190", Offset = "0x15B5B90", VA = "0x1815B7190")] get { ExplicitTokenMap bndcenlggam = ToolEntity.BNDCENLGGAM; throw new NullReferenceException(); } } // Token: 0x06010A44 RID: 68164 RVA: 0x003E9B70 File Offset: 0x003E7D70 [Token(Token = "0x6010A44")] [Address(RVA = "0x15B64F0", Offset = "0x15B4EF0", VA = "0x1815B64F0")] public static void AddBrokenBehavior(ToolEntity.PACMMGFMOEN EJLBDDIJIAG, object PIHIPPPPEBI, int JMHKMOACHDG) { ExplicitTokenMap bndcenlggam = ToolEntity.BNDCENLGGAM; } // Token: 0x06010A45 RID: 68165 RVA: 0x003E9B8C File Offset: 0x003E7D8C [Token(Token = "0x6010A45")] [Address(RVA = "0x15B6D80", Offset = "0x15B5780", VA = "0x1815B6D80")] public static void RemoveBrokenBehavior(object PIHIPPPPEBI) { bool flag = ToolEntity.BNDCENLGGAM.RemoveValue(PIHIPPPPEBI); } // Token: 0x17002D46 RID: 11590 // (get) Token: 0x06010A46 RID: 68166 RVA: 0x003E9BAC File Offset: 0x003E7DAC [Token(Token = "0x17002D46")] public ToolEntity.PACMMGFMOEN PCMIDLOBOMF { [Token(Token = "0x6010A46")] [Address(RVA = "0x15B7270", Offset = "0x15B5C70", VA = "0x1815B7270")] get { if (this.IGAKMLFDPMG.ContainsValues) { } ExplicitTokenMap bndcenlggam = ToolEntity.BNDCENLGGAM; throw new NullReferenceException(); } } // Token: 0x06010A47 RID: 68167 RVA: 0x003E9BD4 File Offset: 0x003E7DD4 [Token(Token = "0x6010A47")] [Address(RVA = "0x15B6590", Offset = "0x15B4F90", VA = "0x1815B6590")] public void AddMainToolBrokenBehavior(ToolEntity.PACMMGFMOEN EJLBDDIJIAG, object PIHIPPPPEBI, int JMHKMOACHDG) { ExplicitTokenMap igakmlfdpmg = this.IGAKMLFDPMG; } // Token: 0x06010A48 RID: 68168 RVA: 0x003E9BF0 File Offset: 0x003E7DF0 [Token(Token = "0x6010A48")] [Address(RVA = "0x15B6E00", Offset = "0x15B5800", VA = "0x1815B6E00")] public void RemoveMainToolBrokenBehavior(object PIHIPPPPEBI) { bool flag = this.IGAKMLFDPMG.RemoveValue(PIHIPPPPEBI); } // Token: 0x06010A49 RID: 68169 RVA: 0x003E9C10 File Offset: 0x003E7E10 [Token(Token = "0x6010A49")] [Address(RVA = "0x15B6860", Offset = "0x15B5260", VA = "0x1815B6860")] public void MarkBroken() { if (this.IGAKMLFDPMG.ContainsValues) { } string text = ToolEntity.BNDCENLGGAM.ToString(); if (text == 0) { OKIMOMGKKDH ekjclgjfign = OKIMOMGKKDH.EKJCLGJFIGN; return; } if (text != 0) { if (text == (ulong)1L && PhotonNetwork.IsMasterClient) { PhotonNetwork.GetOwnershipAndDestroy(base.gameObject); } return; } } // Token: 0x06010A4A RID: 68170 RVA: 0x003E9C6C File Offset: 0x003E7E6C [Token(Token = "0x6010A4A")] [Address(RVA = "0x15B67B0", Offset = "0x15B51B0", VA = "0x1815B67B0")] private bool FDGFLHCNEEG() { return this.DFIPABOKBHL.Get() != null; } // Token: 0x06010A4B RID: 68171 RVA: 0x003E9C8C File Offset: 0x003E7E8C [Token(Token = "0x6010A4B")] [Address(RVA = "0x15B6800", Offset = "0x15B5200", VA = "0x1815B6800")] private void FIHLINMIBND(bool ONGBFDACHHG) { SynchronizedField dfipabokbhl = this.DFIPABOKBHL; } // Token: 0x17002D47 RID: 11591 // (get) Token: 0x06010A4C RID: 68172 RVA: 0x003E9CA8 File Offset: 0x003E7EA8 [Token(Token = "0x17002D47")] private bool DFPHKKDMMNF { [Token(Token = "0x6010A4C")] [Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "15")] get { } } // Token: 0x06010A4D RID: 68173 RVA: 0x003E9CB8 File Offset: 0x003E7EB8 [Token(Token = "0x6010A4D")] [Address(RVA = "0x15B6A70", Offset = "0x15B5470", VA = "0x1815B6A70", Slot = "16")] private void NKEFBENNLLB(KPNDFONGDGF HFBJGCHOANH) { SynchronizedField dfipabokbhl = this.DFIPABOKBHL; } // Token: 0x06010A4E RID: 68174 RVA: 0x003E9CE4 File Offset: 0x003E7EE4 [Token(Token = "0x6010A4E")] [Address(RVA = "0x15B6C00", Offset = "0x15B5600", VA = "0x1815B6C00", Slot = "17")] private void PEBILDGFOEM(ref PDEKIHFJKHJ IABNDBNHMKF, ref MKNCHKCCIHK NHFINJNIPGK, StringBuilder BIPOIFGEMGB) { MBGMIGFIKAP mbgmigfikap = new MBGMIGFIKAP(); bool flag = this.DFIPABOKBHL.Get() != null; } // Token: 0x06010A4F RID: 68175 RVA: 0x003E9D1C File Offset: 0x003E7F1C [Token(Token = "0x6010A4F")] [Address(RVA = "0x15B6E60", Offset = "0x15B5860", VA = "0x1815B6E60")] private void Reset() { Tool component = base.GetComponent(); int num = 0; if (component == num) { Tool tool = base.gameObject.AddComponent(); } } // Token: 0x06010A50 RID: 68176 RVA: 0x003E9D50 File Offset: 0x003E7F50 [Token(Token = "0x6010A50")] [Address(RVA = "0x15B7130", Offset = "0x15B5B30", VA = "0x1815B7130")] public ToolEntity() { ExplicitTokenMap explicitTokenMap = new ExplicitTokenMap(); this.IGAKMLFDPMG = explicitTokenMap; base..ctor(); } // Token: 0x06010A52 RID: 68178 RVA: 0x003E9D94 File Offset: 0x003E7F94 [Token(Token = "0x6010A52")] [Address(RVA = "0x15B66F0", Offset = "0x15B50F0", VA = "0x1815B66F0")] [CompilerGenerated] private void EOKCAIDDLKH(CreationObjectSettingBooleanUIControl GCCLEJOGCCE) { GCCLEJOGCCE.PropertyDescription.text = "Hide during games"; Func func = new Func(this.FDGFLHCNEEG); Action action = new Action(this.FIHLINMIBND); } // Token: 0x0400B110 RID: 45328 [Token(Token = "0x400B110")] private static readonly List OBNCENNPHBI = new List(); // Token: 0x0400B111 RID: 45329 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x400B111")] [SerializeField] [DDPIINEJFMD(JIBDPHMGEGO.Self, false, false)] private Tool mainTool; // Token: 0x0400B112 RID: 45330 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x400B112")] [SerializeField] private bool defaultHiddenDuringGames; // Token: 0x0400B113 RID: 45331 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x400B113")] private SynchronizedField DFIPABOKBHL; // Token: 0x0400B114 RID: 45332 [Token(Token = "0x400B114")] private static ExplicitTokenMap BNDCENLGGAM = new ExplicitTokenMap(); // Token: 0x0400B115 RID: 45333 [global::Cpp2IlInjected.FieldOffset(Offset = "0x58")] [Token(Token = "0x400B115")] private ExplicitTokenMap IGAKMLFDPMG; // Token: 0x0200258A RID: 9610 [Token(Token = "0x200258A")] public enum PACMMGFMOEN { // Token: 0x0400B117 RID: 45335 [Token(Token = "0x400B117")] RESPAWN, // Token: 0x0400B118 RID: 45336 [Token(Token = "0x400B118")] DISABLE, // Token: 0x0400B119 RID: 45337 [Token(Token = "0x400B119")] DESTROY } } }