Files
2026-04-08 23:40:05 +02:00

340 lines
13 KiB
C#

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<ToolEntity> 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> 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<class RecRoom.Tools.ToolEntity>(var_0_05, ldsfld:class [mscorlib]System.Collections.Generic.List`1<class RecRoom.Tools.ToolEntity>(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<bool> 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<bool> 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<CreationObjectSettingBooleanUIControl, bool>.DEDABHKCIBG <>9__13_ = ToolEntity.<>c.<>9__13_0;
if (<>9__13_ == 0)
{
ToolEntity.<>c.<>9__13_0 = (MakerPenPaletteConfigScreen editableUIFlow) => editableUIFlow.DefaultBoolUIControlPrefab;
}
OMKPHDBNLKH<CreationObjectSettingBooleanUIControl, bool>.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<ToolEntity.PACMMGFMOEN> 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<ToolEntity.PACMMGFMOEN> 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<ToolEntity.PACMMGFMOEN> 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<ToolEntity.PACMMGFMOEN> 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<bool> 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<bool> 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<Tool>();
int num = 0;
if (component == num)
{
Tool tool = base.gameObject.AddComponent<Tool>();
}
}
// Token: 0x06010A50 RID: 68176 RVA: 0x003E9D50 File Offset: 0x003E7F50
[Token(Token = "0x6010A50")]
[Address(RVA = "0x15B7130", Offset = "0x15B5B30", VA = "0x1815B7130")]
public ToolEntity()
{
ExplicitTokenMap<ToolEntity.PACMMGFMOEN> 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<bool> func = new Func(this.FDGFLHCNEEG);
Action<bool> action = new Action(this.FIHLINMIBND);
}
// Token: 0x0400B110 RID: 45328
[Token(Token = "0x400B110")]
private static readonly List<ToolEntity> 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<bool> DFIPABOKBHL;
// Token: 0x0400B114 RID: 45332
[Token(Token = "0x400B114")]
private static ExplicitTokenMap<ToolEntity.PACMMGFMOEN> BNDCENLGGAM = new ExplicitTokenMap();
// Token: 0x0400B115 RID: 45333
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
[Token(Token = "0x400B115")]
private ExplicitTokenMap<ToolEntity.PACMMGFMOEN> 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
}
}
}