Files
niko 8fc35183db a
2026-04-11 22:19:20 +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: 0x0200308A RID: 12426
[Token(Token = "0x200308A")]
public class LJMLMMHFHIK : IDisposable
{
// Token: 0x17003A63 RID: 14947
// (get) Token: 0x060152AF RID: 86703 RVA: 0x004F4218 File Offset: 0x004F2418
[Token(Token = "0x17003A63")]
public Dictionary<SandboxGizmo, HashSet<MIGCNEPBKDG>> ILEJOBCBIOC
{
[Token(Token = "0x60152AF")]
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40")]
get
{
return this.KBCECDIIIAI;
}
}
// Token: 0x060152B0 RID: 86704 RVA: 0x004F422C File Offset: 0x004F242C
[Token(Token = "0x60152B0")]
[Address(RVA = "0x121C760", Offset = "0x121B560", VA = "0x18121C760")]
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: 0x17003A64 RID: 14948
// (get) Token: 0x060152B1 RID: 86705 RVA: 0x004F427C File Offset: 0x004F247C
[Token(Token = "0x17003A64")]
private bool MEBGJGNMIMG
{
[Token(Token = "0x60152B1")]
[Address(RVA = "0x121C0B0", Offset = "0x121AEB0", VA = "0x18121C0B0")]
get
{
return this.KBCECDIIIAI.Count == 0;
}
}
// Token: 0x060152B2 RID: 86706 RVA: 0x004F42A0 File Offset: 0x004F24A0
[Token(Token = "0x60152B2")]
[Address(RVA = "0x121C360", Offset = "0x121B160", VA = "0x18121C360")]
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: 0x060152B3 RID: 86707 RVA: 0x004F4354 File Offset: 0x004F2554
[Token(Token = "0x60152B3")]
[Address(RVA = "0x121AFB0", Offset = "0x1219DB0", VA = "0x18121AFB0")]
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: 0x060152B4 RID: 86708 RVA: 0x004F449C File Offset: 0x004F269C
[Token(Token = "0x60152B4")]
[Address(RVA = "0x121BD70", Offset = "0x121AB70", VA = "0x18121BD70")]
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: 0x060152B5 RID: 86709 RVA: 0x004F457C File Offset: 0x004F277C
[Token(Token = "0x60152B5")]
[Address(RVA = "0x121AEE0", Offset = "0x1219CE0", VA = "0x18121AEE0")]
private void ADNKNENBNPI(MIGCNEPBKDG GOAFEHIKNJI, MIGCNEPBKDG ICJLNPKIMKH, MIGCNEPBKDG BILNOAONIHA, bool ELDLFHPEIJJ)
{
this.HGJCGPIFEPM(GOAFEHIKNJI);
this.HGJCGPIFEPM(BILNOAONIHA);
}
// Token: 0x060152B6 RID: 86710 RVA: 0x004F4598 File Offset: 0x004F2798
[Token(Token = "0x60152B6")]
[Address(RVA = "0x121BC50", Offset = "0x121AA50", VA = "0x18121BC50")]
private void GIPLJDEGBMO(MIGCNEPBKDG HICENEOPGOF, MIGCNEPBKDG MLDKMIGAPEC)
{
this.HGJCGPIFEPM(HICENEOPGOF);
this.HGJCGPIFEPM(MLDKMIGAPEC);
}
// Token: 0x060152B7 RID: 86711 RVA: 0x004F45B4 File Offset: 0x004F27B4
[Token(Token = "0x60152B7")]
[Address(RVA = "0x121BC50", Offset = "0x121AA50", VA = "0x18121BC50")]
private void NCPJLDDPMDF(MIGCNEPBKDG HICENEOPGOF, MIGCNEPBKDG MLDKMIGAPEC)
{
this.HGJCGPIFEPM(HICENEOPGOF);
this.HGJCGPIFEPM(MLDKMIGAPEC);
}
// Token: 0x060152B8 RID: 86712 RVA: 0x004F45D0 File Offset: 0x004F27D0
[Token(Token = "0x60152B8")]
[Address(RVA = "0x121BC80", Offset = "0x121AA80", VA = "0x18121BC80")]
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: 0x060152B9 RID: 86713 RVA: 0x004F4610 File Offset: 0x004F2810
[Token(Token = "0x60152B9")]
[Address(RVA = "0x121B7E0", Offset = "0x121A5E0", VA = "0x18121B7E0")]
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: 0x060152BA RID: 86714 RVA: 0x004F4740 File Offset: 0x004F2940
[Token(Token = "0x60152BA")]
[Address(RVA = "0x121C100", Offset = "0x121AF00", VA = "0x18121C100")]
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: 0x060152BB RID: 86715 RVA: 0x004F4790 File Offset: 0x004F2990
[Token(Token = "0x60152BB")]
[Address(RVA = "0x121BD40", Offset = "0x121AB40", VA = "0x18121BD40")]
private void IKHIDEALCLF(AGAJMBPABDL HIBNOIKDDAC)
{
if (HIBNOIKDDAC != 0 && !HIBNOIKDDAC.DMKCIEPGGAB)
{
this.LHOMKMINCHH.RemoveAllFromSelection();
return;
}
}
// Token: 0x060152BC RID: 86716 RVA: 0x004F47BC File Offset: 0x004F29BC
[Token(Token = "0x60152BC")]
[Address(RVA = "0x121AF10", Offset = "0x1219D10", VA = "0x18121AF10")]
private void BDDBGMIHLPP(CreationObject NLNHFEEMFBN)
{
LIMDPCEOFDK fllendbikgf = NLNHFEEMFBN.FLLENDBIKGF;
AGAJMBPABDL agajmbpabdl = KKPBCOOONNK.MDMMDPEKICF;
if (NLNHFEEMFBN != agajmbpabdl.INPOAAAOAHI)
{
this.LHOMKMINCHH.RemoveAllFromSelection();
}
}
// Token: 0x060152BD RID: 86717 RVA: 0x004F47F4 File Offset: 0x004F29F4
[Token(Token = "0x60152BD")]
[Address(RVA = "0x121C560", Offset = "0x121B360", VA = "0x18121C560")]
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: 0x060152BE RID: 86718 RVA: 0x004F484C File Offset: 0x004F2A4C
[Token(Token = "0x60152BE")]
[Address(RVA = "0x121B400", Offset = "0x121A200", VA = "0x18121B400", 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: 0x0400E029 RID: 57385
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x400E029")]
private readonly CreationContext LHOMKMINCHH;
// Token: 0x0400E02A RID: 57386
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x400E02A")]
private readonly Dictionary<SandboxGizmo, HashSet<MIGCNEPBKDG>> KBCECDIIIAI;
// Token: 0x0400E02B RID: 57387
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x400E02B")]
private HashSet<MIGCNEPBKDG> IHMGLJEGMPP;
// Token: 0x0400E02C RID: 57388
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x400E02C")]
private HashSet<SandboxGizmo> OJEKPFCMLKC;
// Token: 0x0400E02D RID: 57389
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x400E02D")]
private readonly HashSet<MIGCNEPBKDG> DNAOIAPLHCJ;
}