312 lines
10 KiB
C#
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: 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.<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: 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.<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: 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<CreationObject>();
|
|
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.<MBFGOCOFHHM>k__BackingField;
|
|
int num = 0;
|
|
if (!(tool == num))
|
|
{
|
|
if (KKPBCOOONNK.BNNCCCFFALC)
|
|
{
|
|
this.<MBFGOCOFHHM>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.<OCDLBPHJMOP>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<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: 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;
|
|
}
|