using System; using System.Text; using Cpp2IlInjected; using Google.Protobuf; using RecRoom.Core.Creation; using RecRoom.DataStructures; using UnityEngine; // Token: 0x020004D3 RID: 1235 [Token(Token = "0x20004D3")] [DisallowMultipleComponent] public class SpawnableTool : MonoBehaviour, EOCLMMENCKH { // Token: 0x1700067B RID: 1659 // (get) Token: 0x06002494 RID: 9364 RVA: 0x00093D70 File Offset: 0x00091F70 [Token(Token = "0x1700067B")] public OGNBCNBPFCC OPLHMKFCNOL { [Token(Token = "0x6002494")] [Address(RVA = "0x1652040", Offset = "0x1650E40", VA = "0x181652040")] get { return HELOBGLDDLH.CCFEJLNMDLG(this.typeId); } } // Token: 0x1700067C RID: 1660 // (get) Token: 0x06002495 RID: 9365 RVA: 0x00093D88 File Offset: 0x00091F88 // (set) Token: 0x06002496 RID: 9366 RVA: 0x00093D9C File Offset: 0x00091F9C [Token(Token = "0x1700067C")] public Tool PBBJCLJPFMI { [Token(Token = "0x6002495")] [Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400")] get; [Token(Token = "0x6002496")] [Address(RVA = "0x460F90", Offset = "0x45FD90", VA = "0x180460F90")] set; } // Token: 0x1700067D RID: 1661 // (get) Token: 0x06002497 RID: 9367 RVA: 0x00093DB0 File Offset: 0x00091FB0 [Token(Token = "0x1700067D")] public Guid CFIOIOCHJDC { [Token(Token = "0x6002497")] [Address(RVA = "0x1651FC0", Offset = "0x1650DC0", VA = "0x181651FC0")] get { /* An exception occurred when decompiling this method (06002497) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Guid SpawnableTool::get_PrefabId() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:Guid(var_0_05, ldsfld:Guid(Guid::Empty)) } 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: 0x06002498 RID: 9368 RVA: 0x00093DC4 File Offset: 0x00091FC4 [Token(Token = "0x6002498")] [Address(RVA = "0x1650F30", Offset = "0x164FD30", VA = "0x181650F30")] private void Awake() { Tool tool = this.k__BackingField; int num = 0; if (tool == num) { Tool component = base.GetComponent(); this.k__BackingField = component; } Tool tool2 = this.k__BackingField; int num2 = 0; if (tool2 != num2) { CreationObject creationObject = this.k__BackingField.creationObject; int num3 = 0; if (creationObject == num3) { GameObject gameObject = base.gameObject; Debug.LogError(string.Format("{0} has a SpawnableTool component but no CreationObject component. ", gameObject) + "This will probably cause errors. Add a CreationObject component or remove UGC-related components from this prefab."); } } } // Token: 0x06002499 RID: 9369 RVA: 0x00093E4C File Offset: 0x0009204C [Token(Token = "0x6002499")] [Address(RVA = "0x1651B50", Offset = "0x1650950", VA = "0x181651B50")] private void Start() { int num = (int)HELOBGLDDLH.CCFEJLNMDLG(this.typeId); bool flag; if (!flag) { } Tool tool = this.k__BackingField; int num2 = 0; if (tool == num2) { } bool flag2 = !DLMCJADFCKK.GKGKJNBGPOC(this.k__BackingField); this.GOHCFPOIMCA = flag2; CreationObject component = base.GetComponent(); int num3 = 0; if (component != num3) { Func func = new Func(this.POJLHNCAKAO); component.AddResourceCostModifier(func, this); } } // Token: 0x0600249A RID: 9370 RVA: 0x00093ECC File Offset: 0x000920CC [Token(Token = "0x600249A")] [Address(RVA = "0x1651580", Offset = "0x1650380", VA = "0x181651580")] private void OnDestroy() { CreationObject component = base.GetComponent(); int num = 0; if (component != num) { component.RemoveResourceCostModifier(this); } } // Token: 0x0600249B RID: 9371 RVA: 0x00093EFC File Offset: 0x000920FC [Token(Token = "0x600249B")] [Address(RVA = "0x1651490", Offset = "0x1650290", VA = "0x181651490")] public void Enable(bool CBHMNNAINHM) { Tool tool = this.k__BackingField; int num = 0; if (!(tool == num)) { if (KKPBCOOONNK.BNNCCCFFALC) { this.k__BackingField.PAJGCGDFHKK = CBHMNNAINHM; } return; } base.gameObject.SetActive(CBHMNNAINHM); } // Token: 0x0600249C RID: 9372 RVA: 0x00093F48 File Offset: 0x00092148 [Token(Token = "0x600249C")] [Address(RVA = "0x1651610", Offset = "0x1650410", VA = "0x181651610")] private CostInfo POJLHNCAKAO() { if (RecRoomSceneManager.k__BackingField.sceneRenderingSettings.ShowGadgetsToEveryone) { } this.m_CachedPtr = (IntPtr)((ulong)0L); throw new NullReferenceException(); } // Token: 0x1700067E RID: 1662 // (get) Token: 0x0600249D RID: 9373 RVA: 0x00093F78 File Offset: 0x00092178 [Token(Token = "0x1700067E")] public bool JBMFJOBFJHP { [Token(Token = "0x600249D")] [Address(RVA = "0x403930", Offset = "0x402730", VA = "0x180403930", Slot = "4")] get { } } // Token: 0x0600249E RID: 9374 RVA: 0x00093F88 File Offset: 0x00092188 [Token(Token = "0x600249E")] [Address(RVA = "0x1651090", Offset = "0x164FE90", VA = "0x181651090", Slot = "5")] public void DeserializeFrom(KPNDFONGDGF HFBJGCHOANH) { SerializedGuid serializedGuid = this.typeId; if (serializedGuid != 0) { Guid value = serializedGuid.Value; } Guid empty = Guid.Empty; bool flag; if (flag) { object[] array = new object[3]; GameObject gameObject = base.gameObject; if (gameObject != 0) { } array[0] = gameObject; if (gameObject != 0) { } array[1] = gameObject; SerializedGuid serializedGuid2 = this.typeId; if (serializedGuid2 != 0) { Guid value2 = serializedGuid2.Value; } Guid empty2 = Guid.Empty; Debug.LogErrorFormat(this, "Error deserializing SpawnableTool {0}: Serialized GUID {1} does not match prefab value {2}", array); } } // Token: 0x0600249F RID: 9375 RVA: 0x0009403C File Offset: 0x0009223C [Token(Token = "0x600249F")] [Address(RVA = "0x1651720", Offset = "0x1650520", VA = "0x181651720", Slot = "6")] public void SerializeTo(ref PDEKIHFJKHJ IABNDBNHMKF, ref MKNCHKCCIHK NHFINJNIPGK, StringBuilder BIPOIFGEMGB) { SerializedGuid serializedGuid = this.typeId; if (serializedGuid != 0) { Guid value = serializedGuid.Value; } Guid empty = Guid.Empty; Guid empty2 = Guid.Empty; if (!(empty == empty2)) { if (HELOBGLDDLH.CCFEJLNMDLG(this.typeId) != OGNBCNBPFCC.INVALID) { LOOIIPNALDI looiipnaldi = new LOOIIPNALDI(); SerializedGuid serializedGuid2 = this.typeId; if (serializedGuid2 != 0) { Guid value2 = serializedGuid2.Value; } ByteString byteString = Guid.Empty.LPLPGEPHGHD(); } object[] array = new object[1]; GameObject gameObject = base.gameObject; if (gameObject != 0) { } array[0] = gameObject; Debug.LogErrorFormat(this, "Error serializing SpawnableTool {0}: Type is INVALID.", array); return; } object[] array2 = new object[1]; GameObject gameObject2; if (gameObject2 != 0) { } array2[0] = gameObject2; object[] array3 = new object[1]; GameObject gameObject3; if (gameObject3 != 0) { } array3[0] = gameObject3; throw new NullReferenceException(); } // Token: 0x060024A0 RID: 9376 RVA: 0x00094108 File Offset: 0x00092308 [Token(Token = "0x60024A0")] [Address(RVA = "0x1651CC0", Offset = "0x1650AC0", VA = "0x181651CC0")] public static bool TryRotateAndCenterSpawnableTool(SpawnableTool EIBIBKBCFJI) { int num = 0; if (!(EIBIBKBCFJI == num)) { OGNBCNBPFCC ognbcnbpfcc = HELOBGLDDLH.CCFEJLNMDLG(EIBIBKBCFJI.typeId); int num2 = 0; EIBIBKBCFJI.transform.localRotation = num2; SavedExtents component = EIBIBKBCFJI.GetComponent(); int num3 = 0; bool flag = component != num3; if (!flag) { return flag; } Vector3 localSpaceCenter = component.LocalSpaceCenter; Transform transform = EIBIBKBCFJI.transform; int num4 = 0; EIBIBKBCFJI.transform.localPosition = num4; } throw new NullReferenceException(); } // Token: 0x060024A1 RID: 9377 RVA: 0x00094184 File Offset: 0x00092384 [Token(Token = "0x60024A1")] [Address(RVA = "0xA9F440", Offset = "0xA9E240", VA = "0x180A9F440")] public SpawnableTool() { } // Token: 0x04001BF5 RID: 7157 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4001BF5")] [SerializeField] [HELOBGLDDLH.KBCDAGDEHAO(true)] private SerializedGuid typeId; // Token: 0x04001BF7 RID: 7159 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4001BF7")] [NonSerialized] public int InstantiationTag = (int)((ulong)4294967295L); // Token: 0x04001BF8 RID: 7160 [FieldOffset(Offset = "0x2C")] [Token(Token = "0x4001BF8")] private bool GOHCFPOIMCA; }