Files
niko c12fbe3fc6 m
2026-04-12 16:51:38 +02:00

312 lines
10 KiB
C#

using System;
using System.Text;
using Cpp2IlInjected;
using Google.Protobuf;
using RecRoom.Core.Creation;
using RecRoom.DataStructures;
using UnityEngine;
// Token: 0x020004DF RID: 1247
[Token(Token = "0x20004DF")]
[DisallowMultipleComponent]
public class SpawnableTool : MonoBehaviour, EOCLMMENCKH
{
// Token: 0x17000687 RID: 1671
// (get) Token: 0x06002516 RID: 9494 RVA: 0x00094F3C File Offset: 0x0009313C
[Token(Token = "0x17000687")]
public OGNBCNBPFCC OPLHMKFCNOL
{
[Token(Token = "0x6002516")]
[Address(RVA = "0x21145E0", Offset = "0x21135E0", VA = "0x1821145E0")]
get
{
return HELOBGLDDLH.CCFEJLNMDLG(this.typeId);
}
}
// Token: 0x17000688 RID: 1672
// (get) Token: 0x06002517 RID: 9495 RVA: 0x00094F54 File Offset: 0x00093154
// (set) Token: 0x06002518 RID: 9496 RVA: 0x00094F68 File Offset: 0x00093168
[Token(Token = "0x17000688")]
public Tool PBBJCLJPFMI
{
[Token(Token = "0x6002517")]
[Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0")]
get;
[Token(Token = "0x6002518")]
[Address(RVA = "0x415810", Offset = "0x414810", VA = "0x180415810")]
set;
}
// Token: 0x17000689 RID: 1673
// (get) Token: 0x06002519 RID: 9497 RVA: 0x00094F7C File Offset: 0x0009317C
[Token(Token = "0x17000689")]
public Guid CFIOIOCHJDC
{
[Token(Token = "0x6002519")]
[Address(RVA = "0x2114560", Offset = "0x2113560", VA = "0x182114560")]
get
{
/*
An exception occurred when decompiling this method (06002519)
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: 0x0600251A RID: 9498 RVA: 0x00094F90 File Offset: 0x00093190
[Token(Token = "0x600251A")]
[Address(RVA = "0x21134D0", Offset = "0x21124D0", VA = "0x1821134D0")]
private void Awake()
{
Tool tool = this.<MBFGOCOFHHM>k__BackingField;
int num = 0;
if (tool == num)
{
Tool component = base.GetComponent<Tool>();
this.<MBFGOCOFHHM>k__BackingField = component;
}
Tool tool2 = this.<MBFGOCOFHHM>k__BackingField;
int num2 = 0;
if (tool2 != num2)
{
CreationObject creationObject = this.<MBFGOCOFHHM>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: 0x0600251B RID: 9499 RVA: 0x00095018 File Offset: 0x00093218
[Token(Token = "0x600251B")]
[Address(RVA = "0x21140F0", Offset = "0x21130F0", VA = "0x1821140F0")]
private void Start()
{
int num = (int)HELOBGLDDLH.CCFEJLNMDLG(this.typeId);
bool flag;
if (!flag)
{
}
Tool tool = this.<MBFGOCOFHHM>k__BackingField;
int num2 = 0;
if (tool == num2)
{
}
bool flag2 = !DLMCJADFCKK.GKGKJNBGPOC(this.<MBFGOCOFHHM>k__BackingField);
this.GOHCFPOIMCA = flag2;
CreationObject component = base.GetComponent<CreationObject>();
int num3 = 0;
if (component != num3)
{
Func<CostInfo> func = new Func(this.POJLHNCAKAO);
component.AddResourceCostModifier(func, this);
}
}
// Token: 0x0600251C RID: 9500 RVA: 0x00095098 File Offset: 0x00093298
[Token(Token = "0x600251C")]
[Address(RVA = "0x2113B20", Offset = "0x2112B20", VA = "0x182113B20")]
private void OnDestroy()
{
CreationObject component = base.GetComponent<CreationObject>();
int num = 0;
if (component != num)
{
component.RemoveResourceCostModifier(this);
}
}
// Token: 0x0600251D RID: 9501 RVA: 0x000950C8 File Offset: 0x000932C8
[Token(Token = "0x600251D")]
[Address(RVA = "0x2113A30", Offset = "0x2112A30", VA = "0x182113A30")]
public void Enable(bool CBHMNNAINHM)
{
Tool tool = this.<MBFGOCOFHHM>k__BackingField;
int num = 0;
if (!(tool == num))
{
if (KKPBCOOONNK.BNNCCCFFALC)
{
this.<MBFGOCOFHHM>k__BackingField.PAJGCGDFHKK = CBHMNNAINHM;
}
return;
}
base.gameObject.SetActive(CBHMNNAINHM);
}
// Token: 0x0600251E RID: 9502 RVA: 0x00095114 File Offset: 0x00093314
[Token(Token = "0x600251E")]
[Address(RVA = "0x2113BB0", Offset = "0x2112BB0", VA = "0x182113BB0")]
private CostInfo POJLHNCAKAO()
{
if (RecRoomSceneManager.<OCDLBPHJMOP>k__BackingField.sceneRenderingSettings.ShowGadgetsToEveryone)
{
}
this.m_CachedPtr = (IntPtr)((ulong)0L);
throw new NullReferenceException();
}
// Token: 0x1700068A RID: 1674
// (get) Token: 0x0600251F RID: 9503 RVA: 0x00095144 File Offset: 0x00093344
[Token(Token = "0x1700068A")]
public bool JBMFJOBFJHP
{
[Token(Token = "0x600251F")]
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "4")]
get
{
}
}
// Token: 0x06002520 RID: 9504 RVA: 0x00095154 File Offset: 0x00093354
[Token(Token = "0x6002520")]
[Address(RVA = "0x2113630", Offset = "0x2112630", VA = "0x182113630", 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: 0x06002521 RID: 9505 RVA: 0x00095208 File Offset: 0x00093408
[Token(Token = "0x6002521")]
[Address(RVA = "0x2113CC0", Offset = "0x2112CC0", VA = "0x182113CC0", 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: 0x06002522 RID: 9506 RVA: 0x000952D4 File Offset: 0x000934D4
[Token(Token = "0x6002522")]
[Address(RVA = "0x2114260", Offset = "0x2113260", VA = "0x182114260")]
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<SavedExtents>();
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: 0x06002523 RID: 9507 RVA: 0x00095350 File Offset: 0x00093550
[Token(Token = "0x6002523")]
[Address(RVA = "0x169C660", Offset = "0x169B660", VA = "0x18169C660")]
public SpawnableTool()
{
}
// Token: 0x04001C56 RID: 7254
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4001C56")]
[SerializeField]
[HELOBGLDDLH.KBCDAGDEHAO(true)]
private SerializedGuid typeId;
// Token: 0x04001C58 RID: 7256
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4001C58")]
[NonSerialized]
public int InstantiationTag = (int)((ulong)4294967295L);
// Token: 0x04001C59 RID: 7257
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x4001C59")]
private bool GOHCFPOIMCA;
}