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

431 lines
14 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using Cpp2IlInjected;
using RecRoom.Core.Creation;
using RecRoom.Core.Creation.SandboxGizmos;
// Token: 0x02003175 RID: 12661
[Token(Token = "0x2003175")]
public class LJMLMMHFHIK : IDisposable
{
// Token: 0x17003B1D RID: 15133
// (get) Token: 0x06015705 RID: 87813 RVA: 0x004FE4F0 File Offset: 0x004FC6F0
[Token(Token = "0x17003B1D")]
public Dictionary<SandboxGizmo, HashSet<MIGCNEPBKDG>> ILEJOBCBIOC
{
[Token(Token = "0x6015705")]
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")]
get
{
return this.KBCECDIIIAI;
}
}
// Token: 0x06015706 RID: 87814 RVA: 0x004FE504 File Offset: 0x004FC704
[Token(Token = "0x6015706")]
[Address(RVA = "0x1DA5C00", Offset = "0x1DA4C00", VA = "0x181DA5C00")]
public LJMLMMHFHIK(CreationContext LHOMKMINCHH)
{
Dictionary<SandboxGizmo, HashSet<MIGCNEPBKDG>> dictionary = new Dictionary();
this.KBCECDIIIAI = dictionary;
HashSet<MIGCNEPBKDG> hashSet = new HashSet();
this.IHMGLJEGMPP = hashSet;
HashSet<SandboxGizmo> hashSet2 = new HashSet();
this.OJEKPFCMLKC = hashSet2;
HashSet<MIGCNEPBKDG> hashSet3 = new HashSet();
this.DNAOIAPLHCJ = hashSet3;
base..ctor();
this.LHOMKMINCHH = LHOMKMINCHH;
}
// Token: 0x17003B1E RID: 15134
// (get) Token: 0x06015707 RID: 87815 RVA: 0x004FE554 File Offset: 0x004FC754
[Token(Token = "0x17003B1E")]
private bool MEBGJGNMIMG
{
[Token(Token = "0x6015707")]
[Address(RVA = "0x1DA5550", Offset = "0x1DA4550", VA = "0x181DA5550")]
get
{
return this.KBCECDIIIAI.Count == 0;
}
}
// Token: 0x06015708 RID: 87816 RVA: 0x004FE578 File Offset: 0x004FC778
[Token(Token = "0x6015708")]
[Address(RVA = "0x1DA5800", Offset = "0x1DA4800", VA = "0x181DA5800")]
private void OAIHBKFMECE(SandboxGizmo HJLGBOBFHPO)
{
bool flag = this.KBCECDIIIAI.Remove(HJLGBOBFHPO);
CreationObject creationObject = HJLGBOBFHPO.PBBJCLJPFMI.creationObject;
MFBGLIHGCGO<CreationObject> lockedStatusChangedEvent = creationObject.LockedStatusChangedEvent;
Action<CreationObject> action = new Action(this.BDDBGMIHLPP);
MFBGLIHGCGO<CreationObject> mfbglihgcgo = MFBGLIHGCGO.GMNMHGMFGOL(lockedStatusChangedEvent, action);
creationObject.LockedStatusChangedEvent = mfbglihgcgo;
CreationObject creationObject2 = HJLGBOBFHPO.PBBJCLJPFMI.creationObject;
Action<AGAJMBPABDL> action2 = new Action(this.IKHIDEALCLF);
creationObject2.AuthorityChangedEvent -= action2;
CreationObject creationObject3 = HJLGBOBFHPO.PBBJCLJPFMI.creationObject;
LIMDPCEOFDK fllendbikgf = creationObject3.FLLENDBIKGF;
AGAJMBPABDL agajmbpabdl = KKPBCOOONNK.MDMMDPEKICF;
if (creationObject3 == agajmbpabdl.INPOAAAOAHI)
{
LIMDPCEOFDK fllendbikgf2 = HJLGBOBFHPO.PBBJCLJPFMI.creationObject.FLLENDBIKGF;
}
}
// Token: 0x06015709 RID: 87817 RVA: 0x004FE62C File Offset: 0x004FC82C
[Token(Token = "0x6015709")]
[Address(RVA = "0x1DA4450", Offset = "0x1DA3450", VA = "0x181DA4450")]
public void CDGCNMDFGIM(MIGCNEPBKDG EIBGAMMHGBB)
{
int num;
bool flag;
do
{
num = 0;
if (!this.DNAOIAPLHCJ.Add(EIBGAMMHGBB))
{
return;
}
flag = this.KBCECDIIIAI.Count == 0;
HashSet<SandboxGizmo> ojekpfcmlkc = this.OJEKPFCMLKC;
bool flag2;
if (flag2)
{
Dictionary<SandboxGizmo, HashSet<MIGCNEPBKDG>> kbcecdiiiai = this.KBCECDIIIAI;
bool flag3;
if (!flag3)
{
HashSet<MIGCNEPBKDG> hashSet = new HashSet();
Dictionary<SandboxGizmo, HashSet<MIGCNEPBKDG>> kbcecdiiiai2 = this.KBCECDIIIAI;
}
Tool tool;
LIMDPCEOFDK fllendbikgf = tool.creationObject.FLLENDBIKGF;
}
}
while (num != 0);
if (flag && this.KBCECDIIIAI.Count != 0)
{
SandboxConnectableManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
IILCGFIHJLP<MIGCNEPBKDG, MIGCNEPBKDG> onConnectionAdded = instance.OnConnectionAdded;
Action<MIGCNEPBKDG, MIGCNEPBKDG> action = new Action(this.GIPLJDEGBMO);
IILCGFIHJLP<MIGCNEPBKDG, MIGCNEPBKDG> iilcgfihjlp = IILCGFIHJLP.BPJDFPACLMK(onConnectionAdded, action);
instance.OnConnectionAdded = iilcgfihjlp;
SandboxConnectableManager instance2 = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
IILCGFIHJLP<MIGCNEPBKDG, MIGCNEPBKDG> onConnectionRemoved = instance2.OnConnectionRemoved;
Action<MIGCNEPBKDG, MIGCNEPBKDG> action2 = new Action(this.NCPJLDDPMDF);
IILCGFIHJLP<MIGCNEPBKDG, MIGCNEPBKDG> iilcgfihjlp2 = IILCGFIHJLP.BPJDFPACLMK(onConnectionRemoved, action2);
instance2.OnConnectionRemoved = iilcgfihjlp2;
SandboxConnectableManager instance3 = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
AAPEGDHKHJI<MIGCNEPBKDG, MIGCNEPBKDG, MIGCNEPBKDG, bool> onConnectableReparented = instance3.OnConnectableReparented;
Action<MIGCNEPBKDG, MIGCNEPBKDG, MIGCNEPBKDG, bool> action3 = new Action(this.ADNKNENBNPI);
AAPEGDHKHJI<MIGCNEPBKDG, MIGCNEPBKDG, MIGCNEPBKDG, bool> aapegdhkhji = AAPEGDHKHJI.BPJDFPACLMK(onConnectableReparented, action3);
instance3.OnConnectableReparented = aapegdhkhji;
}
}
// Token: 0x0601570A RID: 87818 RVA: 0x004FE774 File Offset: 0x004FC974
[Token(Token = "0x601570A")]
[Address(RVA = "0x1DA5210", Offset = "0x1DA4210", VA = "0x181DA5210")]
public void KCIPHFDLPJC(MIGCNEPBKDG EIBGAMMHGBB)
{
int num;
bool flag;
do
{
num = 0;
if (!this.DNAOIAPLHCJ.Remove(EIBGAMMHGBB))
{
return;
}
flag = this.KBCECDIIIAI.Count == 0;
HashSet<SandboxGizmo> ojekpfcmlkc = this.OJEKPFCMLKC;
bool flag2;
if (flag2)
{
Dictionary<SandboxGizmo, HashSet<MIGCNEPBKDG>> kbcecdiiiai = this.KBCECDIIIAI;
bool flag3;
while (!flag3)
{
}
bool flag4;
while (!flag4)
{
}
}
}
while (num != 0);
if (this.KBCECDIIIAI.Count == 0 && !flag)
{
SandboxConnectableManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
IILCGFIHJLP<MIGCNEPBKDG, MIGCNEPBKDG> onConnectionAdded = instance.OnConnectionAdded;
Action<MIGCNEPBKDG, MIGCNEPBKDG> action = new Action(this.GIPLJDEGBMO);
IILCGFIHJLP<MIGCNEPBKDG, MIGCNEPBKDG> iilcgfihjlp = IILCGFIHJLP.GMNMHGMFGOL(onConnectionAdded, action);
instance.OnConnectionAdded = iilcgfihjlp;
SandboxConnectableManager instance2 = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
IILCGFIHJLP<MIGCNEPBKDG, MIGCNEPBKDG> onConnectionRemoved = instance2.OnConnectionRemoved;
Action<MIGCNEPBKDG, MIGCNEPBKDG> action2 = new Action(this.NCPJLDDPMDF);
IILCGFIHJLP<MIGCNEPBKDG, MIGCNEPBKDG> iilcgfihjlp2 = IILCGFIHJLP.GMNMHGMFGOL(onConnectionRemoved, action2);
instance2.OnConnectionRemoved = iilcgfihjlp2;
}
}
// Token: 0x0601570B RID: 87819 RVA: 0x004FE854 File Offset: 0x004FCA54
[Token(Token = "0x601570B")]
[Address(RVA = "0x1DA4380", Offset = "0x1DA3380", VA = "0x181DA4380")]
private void ADNKNENBNPI(MIGCNEPBKDG GOAFEHIKNJI, MIGCNEPBKDG ICJLNPKIMKH, MIGCNEPBKDG BILNOAONIHA, bool ELDLFHPEIJJ)
{
this.HGJCGPIFEPM(GOAFEHIKNJI);
this.HGJCGPIFEPM(BILNOAONIHA);
}
// Token: 0x0601570C RID: 87820 RVA: 0x004FE870 File Offset: 0x004FCA70
[Token(Token = "0x601570C")]
[Address(RVA = "0x1DA50F0", Offset = "0x1DA40F0", VA = "0x181DA50F0")]
private void GIPLJDEGBMO(MIGCNEPBKDG HICENEOPGOF, MIGCNEPBKDG MLDKMIGAPEC)
{
this.HGJCGPIFEPM(HICENEOPGOF);
this.HGJCGPIFEPM(MLDKMIGAPEC);
}
// Token: 0x0601570D RID: 87821 RVA: 0x004FE88C File Offset: 0x004FCA8C
[Token(Token = "0x601570D")]
[Address(RVA = "0x1DA50F0", Offset = "0x1DA40F0", VA = "0x181DA50F0")]
private void NCPJLDDPMDF(MIGCNEPBKDG HICENEOPGOF, MIGCNEPBKDG MLDKMIGAPEC)
{
this.HGJCGPIFEPM(HICENEOPGOF);
this.HGJCGPIFEPM(MLDKMIGAPEC);
}
// Token: 0x0601570E RID: 87822 RVA: 0x004FE8A8 File Offset: 0x004FCAA8
[Token(Token = "0x601570E")]
[Address(RVA = "0x1DA5120", Offset = "0x1DA4120", VA = "0x181DA5120")]
private void HGJCGPIFEPM(MIGCNEPBKDG EIBGAMMHGBB)
{
if (EIBGAMMHGBB != 0)
{
HashSet<MIGCNEPBKDG> hashSet = new HashSet(this.IHMGLJEGMPP);
HashSet<MIGCNEPBKDG> dnaoiaplhcj = this.DNAOIAPLHCJ;
hashSet.IntersectWith(dnaoiaplhcj);
HashSet<SandboxGizmo> ojekpfcmlkc = this.OJEKPFCMLKC;
this.EKNLFAAGGPD(ojekpfcmlkc, hashSet);
}
}
// Token: 0x0601570F RID: 87823 RVA: 0x004FE8E8 File Offset: 0x004FCAE8
[Token(Token = "0x601570F")]
[Address(RVA = "0x1DA4C80", Offset = "0x1DA3C80", VA = "0x181DA4C80")]
private void EKNLFAAGGPD(IEnumerable<SandboxGizmo> BDIEKCDCNHG, HashSet<MIGCNEPBKDG> HKKNLAGDMEC)
{
int num2;
for (;;)
{
int num = 0;
if (num >= HKKNLAGDMEC)
{
goto IL_12;
}
num += num;
if (num != HKKNLAGDMEC)
{
num++;
goto IL_12;
}
IL_1A:
Dictionary<SandboxGizmo, HashSet<MIGCNEPBKDG>> kbcecdiiiai = this.KBCECDIIIAI;
bool flag;
if (flag)
{
}
HashSet<MIGCNEPBKDG> hashSet = new HashSet();
Dictionary<SandboxGizmo, HashSet<MIGCNEPBKDG>> kbcecdiiiai2 = this.KBCECDIIIAI;
Tool tool;
CreationObject creationObject = tool.creationObject;
MFBGLIHGCGO<CreationObject> lockedStatusChangedEvent = creationObject.LockedStatusChangedEvent;
Action<CreationObject> action = new Action(this.BDDBGMIHLPP);
MFBGLIHGCGO<CreationObject> mfbglihgcgo = MFBGLIHGCGO.BPJDFPACLMK(lockedStatusChangedEvent, action);
creationObject.LockedStatusChangedEvent = mfbglihgcgo;
Tool tool2;
CreationObject creationObject2 = tool2.creationObject;
Action<AGAJMBPABDL> action2 = new Action(this.IKHIDEALCLF);
creationObject2.AuthorityChangedEvent += action2;
Tool tool3;
LIMDPCEOFDK fllendbikgf = tool3.creationObject.FLLENDBIKGF;
num2 = 0;
if (num2 < typeof(LIMDPCEOFDK).TypeHandle)
{
num2 += num2;
num2++;
}
if (action2 == 0)
{
break;
}
continue;
IL_12:
num += num;
num++;
goto IL_1A;
}
num2 += 19;
num2 += typeof(IEnumerator<SandboxGizmo>).TypeHandle;
}
// Token: 0x06015710 RID: 87824 RVA: 0x004FEA18 File Offset: 0x004FCC18
[Token(Token = "0x6015710")]
[Address(RVA = "0x1DA55A0", Offset = "0x1DA45A0", VA = "0x181DA55A0")]
private static void MIIIDDLOOBO(MIGCNEPBKDG EIBGAMMHGBB, ref HashSet<MIGCNEPBKDG> MONOCCGECEL, ref HashSet<SandboxGizmo> BDIEKCDCNHG)
{
int num;
do
{
num = 0;
NetworkedSingletonMonoBehaviour.ONCPNMDGGKG.FindAllConnectablesConnectedTo(EIBGAMMHGBB, ref MONOCCGECEL);
bool flag;
if (flag)
{
num += num;
num++;
int num2 = 0;
SandboxGizmo sandboxGizmo;
if (!(sandboxGizmo != num2))
{
continue;
}
sandboxGizmo += sandboxGizmo;
}
}
while (num != 0);
}
// Token: 0x06015711 RID: 87825 RVA: 0x004FEA68 File Offset: 0x004FCC68
[Token(Token = "0x6015711")]
[Address(RVA = "0x1DA51E0", Offset = "0x1DA41E0", VA = "0x181DA51E0")]
private void IKHIDEALCLF(AGAJMBPABDL HIBNOIKDDAC)
{
if (HIBNOIKDDAC != 0 && !HIBNOIKDDAC.DMKCIEPGGAB)
{
this.LHOMKMINCHH.RemoveAllFromSelection();
return;
}
}
// Token: 0x06015712 RID: 87826 RVA: 0x004FEA94 File Offset: 0x004FCC94
[Token(Token = "0x6015712")]
[Address(RVA = "0x1DA43B0", Offset = "0x1DA33B0", VA = "0x181DA43B0")]
private void BDDBGMIHLPP(CreationObject NLNHFEEMFBN)
{
LIMDPCEOFDK fllendbikgf = NLNHFEEMFBN.FLLENDBIKGF;
AGAJMBPABDL agajmbpabdl = KKPBCOOONNK.MDMMDPEKICF;
if (NLNHFEEMFBN != agajmbpabdl.INPOAAAOAHI)
{
this.LHOMKMINCHH.RemoveAllFromSelection();
}
}
// Token: 0x06015713 RID: 87827 RVA: 0x004FEACC File Offset: 0x004FCCCC
[Token(Token = "0x6015713")]
[Address(RVA = "0x1DA5A00", Offset = "0x1DA4A00", VA = "0x181DA5A00")]
public GBDECALBCOP PANGCDDGMLG(CreationObject EOJKOIGNHPJ)
{
int num;
bool flag;
Tool tool;
do
{
num = 0;
ConnectableTool connectableTool = EOJKOIGNHPJ.tool.connectableTool;
int num2 = 0;
if (!(connectableTool != num2))
{
goto IL_38;
}
HashSet<SandboxGizmo> ojekpfcmlkc = this.OJEKPFCMLKC;
}
while ((flag && tool.NHPPANGAKAP) || num != 0);
if (num != -1)
{
}
IL_38:
throw new NullReferenceException();
}
// Token: 0x06015714 RID: 87828 RVA: 0x004FEB24 File Offset: 0x004FCD24
[Token(Token = "0x6015714")]
[Address(RVA = "0x1DA48A0", Offset = "0x1DA38A0", VA = "0x181DA48A0", Slot = "4")]
public void Dispose()
{
int num;
do
{
num = 0;
List<SandboxGizmo> list = Enumerable.ToList<SandboxGizmo>(this.KBCECDIIIAI.Keys);
bool flag;
if (flag)
{
Tool tool;
CreationObject creationObject = tool.creationObject;
MFBGLIHGCGO<CreationObject> lockedStatusChangedEvent = creationObject.LockedStatusChangedEvent;
Action<CreationObject> action = new Action(this.BDDBGMIHLPP);
MFBGLIHGCGO<CreationObject> mfbglihgcgo = MFBGLIHGCGO.GMNMHGMFGOL(lockedStatusChangedEvent, action);
creationObject.LockedStatusChangedEvent = mfbglihgcgo;
Tool tool2;
CreationObject creationObject2 = tool2.creationObject;
Action<AGAJMBPABDL> action2 = new Action(this.IKHIDEALCLF);
int num2 = 0;
creationObject2.AuthorityChangedEvent -= action2;
Tool tool3;
LIMDPCEOFDK fllendbikgf = tool3.creationObject.FLLENDBIKGF;
if (num < num2)
{
num += num;
num++;
}
num += 6;
num += 19;
}
}
while (num != 0);
SandboxConnectableManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
int num3 = 0;
if (instance != num3)
{
IILCGFIHJLP<MIGCNEPBKDG, MIGCNEPBKDG> onConnectionAdded = instance.OnConnectionAdded;
Action<MIGCNEPBKDG, MIGCNEPBKDG> action3 = new Action(this.GIPLJDEGBMO);
IILCGFIHJLP<MIGCNEPBKDG, MIGCNEPBKDG> iilcgfihjlp = IILCGFIHJLP.GMNMHGMFGOL(onConnectionAdded, action3);
instance.OnConnectionAdded = iilcgfihjlp;
IILCGFIHJLP<MIGCNEPBKDG, MIGCNEPBKDG> onConnectionRemoved = instance.OnConnectionRemoved;
Action<MIGCNEPBKDG, MIGCNEPBKDG> action4 = new Action(this.NCPJLDDPMDF);
IILCGFIHJLP<MIGCNEPBKDG, MIGCNEPBKDG> iilcgfihjlp2 = IILCGFIHJLP.GMNMHGMFGOL(onConnectionRemoved, action4);
instance.OnConnectionRemoved = iilcgfihjlp2;
}
}
// Token: 0x0400E25C RID: 57948
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x400E25C")]
private readonly CreationContext LHOMKMINCHH;
// Token: 0x0400E25D RID: 57949
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x400E25D")]
private readonly Dictionary<SandboxGizmo, HashSet<MIGCNEPBKDG>> KBCECDIIIAI;
// Token: 0x0400E25E RID: 57950
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x400E25E")]
private HashSet<MIGCNEPBKDG> IHMGLJEGMPP;
// Token: 0x0400E25F RID: 57951
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x400E25F")]
private HashSet<SandboxGizmo> OJEKPFCMLKC;
// Token: 0x0400E260 RID: 57952
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x400E260")]
private readonly HashSet<MIGCNEPBKDG> DNAOIAPLHCJ;
}