using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Text; using AGUI.StackedUI; using CircuitsV2; using CircuitsV2.Graph; using CircuitsV2.Types; using CircuitsV2.Utilities; using Cpp2IlInjected; using Google.Protobuf; using Photon.Pun; using RecRoom.AGUI.ToolUIs; using RecRoom.Circuits; using RecRoom.CircuitsV2; using RecRoom.Core.Creation.Circuits; using RecRoom.Core.Pools; using RecRoom.Networking.SynchronizedFields; using UnityEngine; namespace RecRoom.Core.Creation { // Token: 0x02002BCF RID: 11215 [Token(Token = "0x2002BCF")] [StructLayout(3)] public class ParticleEmitter : MonoBehaviourPun, EOCLMMENCKH, KKLIAEPNGJL { // Token: 0x170034AC RID: 13484 // (get) Token: 0x06013BCF RID: 80847 RVA: 0x004BC000 File Offset: 0x004BA200 // (set) Token: 0x06013BD0 RID: 80848 RVA: 0x004BC020 File Offset: 0x004BA220 [Token(Token = "0x170034AC")] public int NJEEIFMGBLL { [Token(Token = "0x6013BCF")] [Address(RVA = "0x1AC1A90", Offset = "0x1AC0490", VA = "0x181AC1A90")] get { return this.KGBGCHLGHIK.Get(); } [Token(Token = "0x6013BD0")] [Address(RVA = "0x1AC0820", Offset = "0x1ABF220", VA = "0x181AC0820")] set { SynchronizedField kgbgchlghik = this.KGBGCHLGHIK; } } // Token: 0x170034AD RID: 13485 // (get) Token: 0x06013BD1 RID: 80849 RVA: 0x004BC03C File Offset: 0x004BA23C // (set) Token: 0x06013BD2 RID: 80850 RVA: 0x004BC05C File Offset: 0x004BA25C [Token(Token = "0x170034AD")] public bool ELHDPEAFKFA { [Token(Token = "0x6013BD1")] [Address(RVA = "0x1AC34A0", Offset = "0x1AC1EA0", VA = "0x181AC34A0")] get { return this.FELNBMICNMF.Get() != null; } [Token(Token = "0x6013BD2")] [Address(RVA = "0x1AC36F0", Offset = "0x1AC20F0", VA = "0x181AC36F0")] set { SynchronizedField felnbmicnmf = this.FELNBMICNMF; } } // Token: 0x170034AE RID: 13486 // (get) Token: 0x06013BD3 RID: 80851 RVA: 0x004BC078 File Offset: 0x004BA278 // (set) Token: 0x06013BD4 RID: 80852 RVA: 0x004BC098 File Offset: 0x004BA298 [Token(Token = "0x170034AE")] public int NBDJIIMHJNK { [Token(Token = "0x6013BD3")] [Address(RVA = "0x1AC3450", Offset = "0x1AC1E50", VA = "0x181AC3450")] get { return this.DAOLMNCAGHM.Get(); } [Token(Token = "0x6013BD4")] [Address(RVA = "0x1AC3690", Offset = "0x1AC2090", VA = "0x181AC3690")] set { SynchronizedField daolmncaghm = this.DAOLMNCAGHM; } } // Token: 0x170034AF RID: 13487 // (get) Token: 0x06013BD5 RID: 80853 RVA: 0x004BC0B4 File Offset: 0x004BA2B4 // (set) Token: 0x06013BD6 RID: 80854 RVA: 0x004BC0D4 File Offset: 0x004BA2D4 [Token(Token = "0x170034AF")] public float HOKIECONGLC { [Token(Token = "0x6013BD5")] [Address(RVA = "0x1AC34F0", Offset = "0x1AC1EF0", VA = "0x181AC34F0")] get { return this.KHLHCBPJKLM.Get(); } [Token(Token = "0x6013BD6")] [Address(RVA = "0x1AC3750", Offset = "0x1AC2150", VA = "0x181AC3750")] set { SynchronizedField khlhcbpjklm = this.KHLHCBPJKLM; } } // Token: 0x170034B0 RID: 13488 // (get) Token: 0x06013BD7 RID: 80855 RVA: 0x004BC0F0 File Offset: 0x004BA2F0 // (set) Token: 0x06013BD8 RID: 80856 RVA: 0x004BC110 File Offset: 0x004BA310 [Token(Token = "0x170034B0")] public float IALAFCJLAJM { [Token(Token = "0x6013BD7")] [Address(RVA = "0x1AC3400", Offset = "0x1AC1E00", VA = "0x181AC3400")] get { return this.MDPNJMAOHEM.Get(); } [Token(Token = "0x6013BD8")] [Address(RVA = "0x1AC3630", Offset = "0x1AC2030", VA = "0x181AC3630")] set { SynchronizedField mdpnjmaohem = this.MDPNJMAOHEM; } } // Token: 0x170034B1 RID: 13489 // (get) Token: 0x06013BD9 RID: 80857 RVA: 0x004BC12C File Offset: 0x004BA32C // (set) Token: 0x06013BDA RID: 80858 RVA: 0x004BC14C File Offset: 0x004BA34C [Token(Token = "0x170034B1")] public bool ILNELNIPKPO { [Token(Token = "0x6013BD9")] [Address(RVA = "0x1AC2570", Offset = "0x1AC0F70", VA = "0x181AC2570")] get { return this.CHGNNMEFDCH.Get() != null; } [Token(Token = "0x6013BDA")] [Address(RVA = "0x1AC2360", Offset = "0x1AC0D60", VA = "0x181AC2360")] set { SynchronizedField chgnnmefdch = this.CHGNNMEFDCH; } } // Token: 0x170034B2 RID: 13490 // (get) Token: 0x06013BDB RID: 80859 RVA: 0x004BC168 File Offset: 0x004BA368 // (set) Token: 0x06013BDC RID: 80860 RVA: 0x004BC188 File Offset: 0x004BA388 [Token(Token = "0x170034B2")] public bool HBLLIBGKNCI { [Token(Token = "0x6013BDB")] [Address(RVA = "0x1AC1680", Offset = "0x1AC0080", VA = "0x181AC1680")] get { return this.GEFMIBPBAFN.Get() != null; } [Token(Token = "0x6013BDC")] [Address(RVA = "0x1AC1DC0", Offset = "0x1AC07C0", VA = "0x181AC1DC0")] set { SynchronizedField gefmibpbafn = this.GEFMIBPBAFN; } } // Token: 0x170034B3 RID: 13491 // (get) Token: 0x06013BDD RID: 80861 RVA: 0x004BC1A4 File Offset: 0x004BA3A4 [Token(Token = "0x170034B3")] public bool MDAHDIHLCHC { [Token(Token = "0x6013BDD")] [Address(RVA = "0x1AC35A0", Offset = "0x1AC1FA0", VA = "0x181AC35A0")] get { return this.FELNBMICNMF.Get() != 0 || this.CHGNNMEFDCH.Get() != null; } } // Token: 0x06013BDE RID: 80862 RVA: 0x004BC1D4 File Offset: 0x004BA3D4 [Token(Token = "0x6013BDE")] [Address(RVA = "0x1AC0880", Offset = "0x1ABF280", VA = "0x181AC0880", Slot = "13")] protected override void Awake() { base..ctor(); Action action = new Action(this.BOCEPKIKMNN); int num = 0; SynchronizedField synchronizedField; this.KGBGCHLGHIK = synchronizedField; Action action2 = new Action(this.KFNKOCDFKJI); SynchronizedField synchronizedField2; this.FELNBMICNMF = synchronizedField2; SynchronizedField synchronizedField3; this.CHGNNMEFDCH = synchronizedField3; SynchronizedField synchronizedField4; this.DAOLMNCAGHM = synchronizedField4; Action action3 = new Action(this.BEIBCGMIPDH); SynchronizedField synchronizedField5; this.KHLHCBPJKLM = synchronizedField5; Action action4 = new Action(this.OCKMIBOOFCH); SynchronizedField synchronizedField6; this.MDPNJMAOHEM = synchronizedField6; Action action5 = new Action(this.ONNAGNGLJAG); SandboxParticleEffect[] array = this.particleEffects; SynchronizedField synchronizedField7; this.GEFMIBPBAFN = synchronizedField7; if (num < array.Length) { Dictionary cbacpnpfkkb = this.CBACPNPFKKB; SandboxParticleEffect sandboxParticleEffect = array[num]; string friendlyName = sandboxParticleEffect.FriendlyName; cbacpnpfkkb.Add(friendlyName, num); SandboxParticleEffect[] array2 = this.particleEffects; num++; } } // Token: 0x06013BDF RID: 80863 RVA: 0x004BC2B4 File Offset: 0x004BA4B4 [Token(Token = "0x6013BDF")] [Address(RVA = "0x1AC2E60", Offset = "0x1AC1860", VA = "0x181AC2E60")] private void Start() { CreationObject component = base.GetComponent(); int num = 0; if (component != num) { OMKPHDBNLKH.DEDABHKCIBG <>9__43_ = ParticleEmitter.<>c.<>9__43_0; if (<>9__43_ == 0) { ParticleEmitter.<>c.<>9__43_0 = (MakerPenPaletteConfigScreen editableUIFlow) => editableUIFlow.DefaultEnumUIControlPrefab; } OMKPHDBNLKH.OHINDOLFNMP ohindolfnmp = new OMKPHDBNLKH.OHINDOLFNMP(this.LJMJFKENMHN); Dictionary cbacpnpfkkb = this.CBACPNPFKKB; ulong num2; KLCANJPOEPC klcanjpoepc = new KLCANJPOEPC(<>9__43_, ohindolfnmp, cbacpnpfkkb, (int)num2); ILINODKFHEO ilinodkfheo = component.AddConfigurableSetting(klcanjpoepc); ControlPanelCircuitObject controlPanelCircuitObject = this.controlPanelCircuitObject; int num3 = 0; if (!(controlPanelCircuitObject != num3)) { OMKPHDBNLKH.DEDABHKCIBG dedabhkcibg; if (ParticleEmitter.<>c.<>9__43_2 == 0) { dedabhkcibg = (MakerPenPaletteConfigScreen editableUIFlow) => editableUIFlow.DefaultBoolUIControlPrefab; ParticleEmitter.<>c.<>9__43_2 = dedabhkcibg; } OMKPHDBNLKH.OHINDOLFNMP ohindolfnmp2 = new OMKPHDBNLKH.OHINDOLFNMP(this.EMBDLMOJALI); CPNMFOKDBKM cpnmfokdbkm = new CPNMFOKDBKM(dedabhkcibg, ohindolfnmp2, 10); ILINODKFHEO ilinodkfheo2 = component.AddConfigurableSetting(cpnmfokdbkm); OMKPHDBNLKH.DEDABHKCIBG dedabhkcibg2; if (ParticleEmitter.<>c.<>9__43_4 == 0) { dedabhkcibg2 = (MakerPenPaletteConfigScreen editableUIFlow) => editableUIFlow.DefaultBoolUIControlPrefab; ParticleEmitter.<>c.<>9__43_4 = dedabhkcibg2; } OMKPHDBNLKH.OHINDOLFNMP ohindolfnmp3 = new OMKPHDBNLKH.OHINDOLFNMP(this.DLIEKNIBBBP); CPNMFOKDBKM cpnmfokdbkm2 = new CPNMFOKDBKM(dedabhkcibg2, ohindolfnmp3, 5); ILINODKFHEO ilinodkfheo3 = component.AddConfigurableSetting(cpnmfokdbkm2); } } SandboxColorable sandboxColorable = this.sandboxColorable; Action action = new Action(this.ONNAGNGLJAG); sandboxColorable.JJCKDBNNKAM += action; CircuitEventNodeDisplay circuitEventNodeDisplay = this.circuitNode; Action action2 = new Action(this.MBNOAMFGNJO); circuitEventNodeDisplay.DMKDMKIDPLC += action2; if (this.circuitNode.IsInputConnected(InputSlot.M)) { int inputSignal = this.circuitNode.MBBJMCDGDMN.GetInputSignal(InputSlot.M); SynchronizedField daolmncaghm = this.DAOLMNCAGHM; } SynchronizedField daolmncaghm2 = this.DAOLMNCAGHM; this.ONNAGNGLJAG(); this.BOCEPKIKMNN(); } // Token: 0x06013BE0 RID: 80864 RVA: 0x004BC44C File Offset: 0x004BA64C [Token(Token = "0x6013BE0")] [Address(RVA = "0x1AC2B40", Offset = "0x1AC1540", VA = "0x181AC2B40", Slot = "14")] protected override void OnDestroy() { base.OnDestroy(); SandboxColorable sandboxColorable = this.sandboxColorable; Action action = new Action(this.ONNAGNGLJAG); sandboxColorable.JJCKDBNNKAM -= action; CircuitEventNodeDisplay circuitEventNodeDisplay = this.circuitNode; Action action2 = new Action(this.MBNOAMFGNJO); circuitEventNodeDisplay.DMKDMKIDPLC -= action2; this.JCMKCBAPMHH(true); } // Token: 0x06013BE1 RID: 80865 RVA: 0x004BC4A4 File Offset: 0x004BA6A4 [Token(Token = "0x6013BE1")] [Address(RVA = "0x1AC1A90", Offset = "0x1AC0490", VA = "0x181AC1A90")] private int EPIEHKHMOEN() { return this.KGBGCHLGHIK.Get(); } // Token: 0x06013BE2 RID: 80866 RVA: 0x004BC4C4 File Offset: 0x004BA6C4 [Token(Token = "0x6013BE2")] [Address(RVA = "0x1AC0820", Offset = "0x1ABF220", VA = "0x181AC0820")] private void AGNCDAIBFLD(int BCEFAKDFEMM) { SynchronizedField kgbgchlghik = this.KGBGCHLGHIK; } // Token: 0x06013BE3 RID: 80867 RVA: 0x004BC4E0 File Offset: 0x004BA6E0 [Token(Token = "0x6013BE3")] [Address(RVA = "0x1AC2570", Offset = "0x1AC0F70", VA = "0x181AC2570")] private bool MMJFLHPPOLG() { return this.CHGNNMEFDCH.Get() != null; } // Token: 0x06013BE4 RID: 80868 RVA: 0x004BC500 File Offset: 0x004BA700 [Token(Token = "0x6013BE4")] [Address(RVA = "0x1AC2360", Offset = "0x1AC0D60", VA = "0x181AC2360")] private void KMFFNAFBGNJ(bool BCEFAKDFEMM) { SynchronizedField chgnnmefdch = this.CHGNNMEFDCH; } // Token: 0x06013BE5 RID: 80869 RVA: 0x004BC51C File Offset: 0x004BA71C [Token(Token = "0x6013BE5")] [Address(RVA = "0x1AC1680", Offset = "0x1AC0080", VA = "0x181AC1680")] private bool DDCCAOGLJAF() { return this.GEFMIBPBAFN.Get() != null; } // Token: 0x06013BE6 RID: 80870 RVA: 0x004BC53C File Offset: 0x004BA73C [Token(Token = "0x6013BE6")] [Address(RVA = "0x1AC1DC0", Offset = "0x1AC07C0", VA = "0x181AC1DC0")] private void HDCOBAJHGCP(bool BCEFAKDFEMM) { SynchronizedField gefmibpbafn = this.GEFMIBPBAFN; } // Token: 0x06013BE7 RID: 80871 RVA: 0x004BC558 File Offset: 0x004BA758 [Token(Token = "0x6013BE7")] [Address(RVA = "0x1AC2480", Offset = "0x1AC0E80", VA = "0x181AC2480")] private void MBNOAMFGNJO() { if (this.circuitNode.IsInputConnected(InputSlot.M)) { int inputSignal = this.circuitNode.MBBJMCDGDMN.GetInputSignal(InputSlot.M); SynchronizedField daolmncaghm = this.DAOLMNCAGHM; } SynchronizedField daolmncaghm2 = this.DAOLMNCAGHM; this.ONNAGNGLJAG(); } // Token: 0x06013BE8 RID: 80872 RVA: 0x004BC5A0 File Offset: 0x004BA7A0 [Token(Token = "0x6013BE8")] [Address(RVA = "0x1AC2950", Offset = "0x1AC1350", VA = "0x181AC2950")] private void ONNAGNGLJAG() { int num = this.DAOLMNCAGHM.Get(); if (this.GEFMIBPBAFN.Get() != 0 && this.sandboxColorable.EJGFMPCAIOD.Get() != -1) { if (this.APMFIIJFEGM != 0) { SandboxColorable sandboxColorable = this.sandboxColorable; } return; } PooledParticle apmfiijfegm = this.APMFIIJFEGM; while (apmfiijfegm == 0) { } apmfiijfegm.ResetColors(); } // Token: 0x06013BE9 RID: 80873 RVA: 0x004BC61C File Offset: 0x004BA81C [Token(Token = "0x6013BE9")] [Address(RVA = "0x1AC0C30", Offset = "0x1ABF630", VA = "0x181AC0C30")] private void BEIBCGMIPDH() { ControlPanelCircuitObject controlPanelCircuitObject = this.controlPanelCircuitObject; int num = 0; if (!(controlPanelCircuitObject != num)) { float num2 = this.KHLHCBPJKLM.Get(); SandboxParticleEffect[] array = this.particleEffects; int num3 = this.KGBGCHLGHIK.Get(); SandboxParticleEffect sandboxParticleEffect = array[num3]; SandboxParticleEffect[] array2 = this.particleEffects; int num4 = this.KGBGCHLGHIK.Get(); SandboxParticleEffect sandboxParticleEffect2 = array2[num4]; } float num5 = this.KHLHCBPJKLM.Get(); SandboxParticleEffect[] array3 = this.particleEffects; int num6 = this.KGBGCHLGHIK.Get(); float minScale = array3[num6].MinScale; SandboxParticleEffect[] array4 = this.particleEffects; int num7 = this.KGBGCHLGHIK.Get(); float maxScale = array4[num7].MaxScale; float num8 = Mathf.Clamp(num5, minScale, maxScale); PooledParticle apmfiijfegm = this.APMFIIJFEGM; Transform transform = apmfiijfegm.transform; } // Token: 0x06013BEA RID: 80874 RVA: 0x004BC710 File Offset: 0x004BA910 [Token(Token = "0x6013BEA")] [Address(RVA = "0x1AC25C0", Offset = "0x1AC0FC0", VA = "0x181AC25C0")] private void OCKMIBOOFCH() { ControlPanelCircuitObject controlPanelCircuitObject = this.controlPanelCircuitObject; int num = 0; if (!(controlPanelCircuitObject != num)) { float num2 = this.MDPNJMAOHEM.Get(); SandboxParticleEffect[] array = this.particleEffects; int num3 = this.KGBGCHLGHIK.Get(); SandboxParticleEffect sandboxParticleEffect = array[num3]; SandboxParticleEffect[] array2 = this.particleEffects; int num4 = this.KGBGCHLGHIK.Get(); SandboxParticleEffect sandboxParticleEffect2 = array2[num4]; } float num5 = this.MDPNJMAOHEM.Get(); SandboxParticleEffect[] array3 = this.particleEffects; int num6 = this.KGBGCHLGHIK.Get(); float num7 = array3[num6].MinSpeed; SandboxParticleEffect[] array4 = this.particleEffects; int num8 = this.KGBGCHLGHIK.Get(); float maxSpeed = array4[num8].MaxSpeed; float num9 = Mathf.Clamp(num5, num7, maxSpeed); PooledParticle apmfiijfegm = this.APMFIIJFEGM; num5 = num9; ParticleSystem.MainModule main = apmfiijfegm.k__BackingField.main; num7 = num5; ParticleSystem.MainModule.set_simulationSpeed_Injected(main, num7); } // Token: 0x06013BEB RID: 80875 RVA: 0x004BC810 File Offset: 0x004BAA10 [Token(Token = "0x6013BEB")] [Address(RVA = "0x1AC1F00", Offset = "0x1AC0900", VA = "0x181AC1F00")] private int IJJOFELMKCE(Guid COFLAJFOPEN) { SandboxParticleEffect[] array = this.particleEffects; int num = 0; if (num < array.Length) { SandboxParticleEffect sandboxParticleEffect = array[num]; bool flag; if (!flag) { SandboxParticleEffect[] array2 = this.particleEffects; num++; } return num; } throw new NullReferenceException(); } // Token: 0x06013BEC RID: 80876 RVA: 0x004BC850 File Offset: 0x004BAA50 [Token(Token = "0x6013BEC")] [Address(RVA = "0x1AC1E20", Offset = "0x1AC0820", VA = "0x181AC1E20")] private void IENGBFKMMCC() { ISchedulerPromise jaibdibhjcm = this.JAIBDIBHJCM; this.SafeStopSchedule(jaibdibhjcm); Scheduler instance = SingletonMonoBehaviour.Instance; ParticleEmitter.GKLNEBKCJDA gklnebkcjda; gklnebkcjda.System.IDisposable.Dispose(); gklnebkcjda.<>1__state = (int)((ulong)0L); gklnebkcjda.<>4__this = this; ISchedulerPromise schedulerPromise = instance.Run(this, gklnebkcjda); this.JAIBDIBHJCM = schedulerPromise; } // Token: 0x06013BED RID: 80877 RVA: 0x004BC8A0 File Offset: 0x004BAAA0 [Token(Token = "0x6013BED")] [Address(RVA = "0x1AC2120", Offset = "0x1AC0B20", VA = "0x181AC2120")] private void JCMKCBAPMHH(bool DPKBOAMNCLP) { PooledParticle apmfiijfegm = this.APMFIIJFEGM; int num = 0; if (apmfiijfegm != num) { PooledParticle apmfiijfegm2 = this.APMFIIJFEGM; if (DPKBOAMNCLP) { Transform transform = base.transform; float z = Vector3.one.z; throw new NullReferenceException(); } apmfiijfegm2.k__BackingField.Stop(); } ISchedulerPromise jaibdibhjcm = this.JAIBDIBHJCM; this.SafeStopSchedule(jaibdibhjcm); this.JAIBDIBHJCM = (ulong)0L; } // Token: 0x06013BEE RID: 80878 RVA: 0x004BC90C File Offset: 0x004BAB0C [Token(Token = "0x6013BEE")] [Address(RVA = "0x1AC20C0", Offset = "0x1AC0AC0", VA = "0x181AC20C0")] private IEnumerator JAEHLGBANHN() { /* An exception occurred when decompiling this method (06013BEE) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IEnumerator`1 RecRoom.Core.Creation.ParticleEmitter::JAEHLGBANHN() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: call:void(GKLNEBKCJDA::System.IDisposable.Dispose, ldloc:GKLNEBKCJDA(var_0)) stfld:int32(GKLNEBKCJDA::<>1__state, ldloc:GKLNEBKCJDA(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:ParticleEmitter(GKLNEBKCJDA::<>4__this, ldloc:GKLNEBKCJDA(var_0), ldloc:ParticleEmitter(this)) } 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: 0x06013BEF RID: 80879 RVA: 0x004BC930 File Offset: 0x004BAB30 [Token(Token = "0x6013BEF")] [Address(RVA = "0x1AC1000", Offset = "0x1ABFA00", VA = "0x181AC1000")] private void BOCEPKIKMNN() { int num = this.KGBGCHLGHIK.Get(); int num2 = this.KGBGCHLGHIK.Get(); SandboxParticleEffect[] array = this.particleEffects; if (num2 < array.Length) { this.JCMKCBAPMHH(true); GlobalPool instance = GlobalPool.ONCPNMDGGKG; SandboxParticleEffect[] array2 = this.particleEffects; int num3 = this.KGBGCHLGHIK.Get(); PooledParticle prefab = array2[num3].Prefab; PooledParticle pooledParticle = instance.Acquire(prefab); this.APMFIIJFEGM = pooledParticle; Transform transform = pooledParticle.transform; Transform transform2 = base.transform; transform.parent = transform2; Transform transform3 = this.APMFIIJFEGM.transform; float z = Vector3.zero.z; Transform transform4 = this.APMFIIJFEGM.transform; Quaternion identity = Quaternion.identity; this.ONNAGNGLJAG(); this.OCKMIBOOFCH(); this.BEIBCGMIPDH(); if (this.MDAHDIHLCHC) { this.IENGBFKMMCC(); } } } // Token: 0x06013BF0 RID: 80880 RVA: 0x004BCA20 File Offset: 0x004BAC20 [Token(Token = "0x6013BF0")] [Address(RVA = "0x1AC2290", Offset = "0x1AC0C90", VA = "0x181AC2290")] private void KFNKOCDFKJI() { ControlPanelCircuitObject controlPanelCircuitObject = this.controlPanelCircuitObject; int num = 0; if (controlPanelCircuitObject != num) { if (this.FELNBMICNMF.Get() != 0) { return; } int num2 = 0; this.JCMKCBAPMHH(num2 != 0); } } // Token: 0x06013BF1 RID: 80881 RVA: 0x004BCA60 File Offset: 0x004BAC60 [Token(Token = "0x6013BF1")] [Address(RVA = "0x1AC1AE0", Offset = "0x1AC04E0", VA = "0x181AC1AE0")] public void EmitSignalReceived(Dictionary updates) { ControlPanelCircuitObject controlPanelCircuitObject = this.controlPanelCircuitObject; int num = 0; if (!(controlPanelCircuitObject != num)) { if (updates.ContainsKey((uint)3)) { int num2 = updates[(uint)3]; SynchronizedField felnbmicnmf = this.FELNBMICNMF; if (this.FELNBMICNMF.Get() != 0) { this.IENGBFKMMCC(); } } if (updates.ContainsKey((uint)4)) { int num3 = updates[(uint)4]; SynchronizedField daolmncaghm = this.DAOLMNCAGHM; this.ONNAGNGLJAG(); } if (updates.ContainsKey((uint)5)) { int num3 = updates[(uint)5]; SynchronizedField khlhcbpjklm = this.KHLHCBPJKLM; } if (updates.ContainsKey((uint)6)) { int num4 = updates[(uint)6]; SynchronizedField mdpnjmaohem = this.MDPNJMAOHEM; } if (!this.MDAHDIHLCHC) { int num5 = 0; this.JCMKCBAPMHH(num5 != 0); } } } // Token: 0x170034B4 RID: 13492 // (get) Token: 0x06013BF2 RID: 80882 RVA: 0x004BCB2C File Offset: 0x004BAD2C [Token(Token = "0x170034B4")] public bool JBMFJOBFJHP { [Token(Token = "0x6013BF2")] [Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "15")] get { } } // Token: 0x06013BF3 RID: 80883 RVA: 0x004BCB3C File Offset: 0x004BAD3C [Token(Token = "0x6013BF3")] [Address(RVA = "0x1AC1790", Offset = "0x1AC0190", VA = "0x181AC1790", Slot = "16")] public void DeserializeFrom(KPNDFONGDGF HFBJGCHOANH) { SynchronizedField chgnnmefdch = this.CHGNNMEFDCH; SynchronizedField gefmibpbafn = this.GEFMIBPBAFN; SandboxParticleEffect[] array = this.particleEffects; int num = 0; int num2 = 0; if (num2 < array.Length) { SandboxParticleEffect sandboxParticleEffect = array[num]; bool flag; if (flag) { goto IL_49; } SandboxParticleEffect[] array2 = this.particleEffects; num++; } int num3 = 0; IL_49: this.KGBGCHLGHIK.Set(num3); } // Token: 0x06013BF4 RID: 80884 RVA: 0x004BCBA8 File Offset: 0x004BADA8 [Token(Token = "0x6013BF4")] [Address(RVA = "0x1AC2C10", Offset = "0x1AC1610", VA = "0x181AC2C10", Slot = "17")] public void SerializeTo(ref PDEKIHFJKHJ IABNDBNHMKF, ref MKNCHKCCIHK NHFINJNIPGK, StringBuilder BIPOIFGEMGB) { GPMHPDDOGBA gpmhpddogba = new GPMHPDDOGBA(); bool flag = this.CHGNNMEFDCH.Get() != null; gpmhpddogba.LKANIGBLDLA = flag; bool flag2 = this.GEFMIBPBAFN.Get() != null; gpmhpddogba.AKDDLPGGKDJ = flag2; SandboxParticleEffect[] array = this.particleEffects; int num = this.KGBGCHLGHIK.Get(); SandboxParticleEffect sandboxParticleEffect = array[num]; ByteString byteString; gpmhpddogba.IJAOLEBKHCG = byteString; } // Token: 0x170034B5 RID: 13493 // (get) Token: 0x06013BF5 RID: 80885 RVA: 0x004BCC24 File Offset: 0x004BAE24 [Token(Token = "0x170034B5")] public bool JDAKDEIANGH { [Token(Token = "0x6013BF5")] [Address(RVA = "0x1AC3540", Offset = "0x1AC1F40", VA = "0x181AC3540")] get { ControlPanelCircuitObject controlPanelCircuitObject = this.controlPanelCircuitObject; int num = 0; return controlPanelCircuitObject != num; } } // Token: 0x06013BF6 RID: 80886 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6013BF6")] [Address(RVA = "0x1AC1560", Offset = "0x1ABFF60", VA = "0x181AC1560")] public Result CV2Start(ExecParams CHKKEHOKPJP) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06013BF7 RID: 80887 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6013BF7")] [Address(RVA = "0x1AC15F0", Offset = "0x1ABFFF0", VA = "0x181AC15F0")] public Result CV2Stop(ExecParams CHKKEHOKPJP) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06013BF8 RID: 80888 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6013BF8")] [Address(RVA = "0x1AC1380", Offset = "0x1ABFD80", VA = "0x181AC1380")] public Result CV2SetLooping(ExecParams CHKKEHOKPJP, bool MAPLONGAACK) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06013BF9 RID: 80889 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6013BF9")] [Address(RVA = "0x1AC1420", Offset = "0x1ABFE20", VA = "0x181AC1420")] public Result CV2SetSize(ExecParams CHKKEHOKPJP, float OJJOHDIFMEG) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06013BFA RID: 80890 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6013BFA")] [Address(RVA = "0x1AC14C0", Offset = "0x1ABFEC0", VA = "0x181AC14C0")] public Result CV2SetSpeed(ExecParams CHKKEHOKPJP, float EJHELOHKGCF) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06013BFB RID: 80891 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6013BFB")] [Address(RVA = "0x1AC12D0", Offset = "0x1ABFCD0", VA = "0x181AC12D0")] public Result CV2SetColor(ExecParams CHKKEHOKPJP, int GJAINANBOCB) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x170034B6 RID: 13494 // (get) Token: 0x06013BFC RID: 80892 RVA: 0x004BCC44 File Offset: 0x004BAE44 [Token(Token = "0x170034B6")] private CircuitType EDCBOKFOODP { [Token(Token = "0x6013BFC")] [Address(RVA = "0x1ABF710", Offset = "0x1ABE110", VA = "0x181ABF710", Slot = "18")] get { /* An exception occurred when decompiling this method (06013BFC) ICSharpCode.Decompiler.DecompilerException: Error decompiling CircuitsV2.Types.CircuitType RecRoom.Core.Creation.ParticleEmitter::GANLJBICHFI() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:ClassType(var_0_05, ldsfld:ClassType(TypeRegistry::EmitterType)) } 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: 0x06013BFD RID: 80893 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6013BFD")] [Address(RVA = "0x1AC2020", Offset = "0x1AC0A20", VA = "0x181AC2020", Slot = "19")] private Result IPKMBNAJOCJ(ExecParams CHKKEHOKPJP) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06013BFE RID: 80894 RVA: 0x004BCC58 File Offset: 0x004BAE58 [Token(Token = "0x6013BFE")] [Address(RVA = "0x1AC33A0", Offset = "0x1AC1DA0", VA = "0x181AC33A0")] public ParticleEmitter() { Dictionary dictionary = new Dictionary(); this.CBACPNPFKKB = dictionary; base..ctor(); } // Token: 0x06013BFF RID: 80895 RVA: 0x004BCC78 File Offset: 0x004BAE78 [Token(Token = "0x6013BFF")] [Address(RVA = "0x1AC23C0", Offset = "0x1AC0DC0", VA = "0x181AC23C0")] [CompilerGenerated] private void LJMJFKENMHN(CreationObjectSettingFriendlyIntControl GCCLEJOGCCE) { GCCLEJOGCCE.PropertyDescription.text = "Particle Type"; Func func = new Func(this.EPIEHKHMOEN); Action action = new Action(this.AGNCDAIBFLD); } // Token: 0x06013C00 RID: 80896 RVA: 0x004BCCB8 File Offset: 0x004BAEB8 [Token(Token = "0x6013C00")] [Address(RVA = "0x1AC19D0", Offset = "0x1AC03D0", VA = "0x181AC19D0")] [CompilerGenerated] private void EMBDLMOJALI(CreationObjectSettingBooleanUIControl GCCLEJOGCCE) { GCCLEJOGCCE.PropertyDescription.text = "Looping?"; Func func = new Func(this.MMJFLHPPOLG); Action action = new Action(this.KMFFNAFBGNJ); } // Token: 0x06013C01 RID: 80897 RVA: 0x004BCCF8 File Offset: 0x004BAEF8 [Token(Token = "0x6013C01")] [Address(RVA = "0x1AC16D0", Offset = "0x1AC00D0", VA = "0x181AC16D0")] [CompilerGenerated] private void DLIEKNIBBBP(CreationObjectSettingBooleanUIControl GCCLEJOGCCE) { GCCLEJOGCCE.PropertyDescription.text = "Use Maker Pen Custom Colors?"; Func func = new Func(this.DDCCAOGLJAF); Action action = new Action(this.HDCOBAJHGCP); } // Token: 0x0400D523 RID: 54563 [Token(Token = "0x400D523")] private const InputSlot MAAANKFGDAN = InputSlot.C; // Token: 0x0400D524 RID: 54564 [Token(Token = "0x400D524")] private const InputSlot OOIOFHFOAAF = InputSlot.M; // Token: 0x0400D525 RID: 54565 [Token(Token = "0x400D525")] private const InputSlot ADNFKJLCJNK = InputSlot.Y; // Token: 0x0400D526 RID: 54566 [Token(Token = "0x400D526")] private const InputSlot MBCFCDKMOAM = InputSlot.K; // Token: 0x0400D527 RID: 54567 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x400D527")] [SerializeField] private SandboxParticleEffect[] particleEffects; // Token: 0x0400D528 RID: 54568 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x400D528")] private PooledParticle APMFIIJFEGM; // Token: 0x0400D529 RID: 54569 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x400D529")] private Dictionary CBACPNPFKKB; // Token: 0x0400D52A RID: 54570 [global::Cpp2IlInjected.FieldOffset(Offset = "0x58")] [Token(Token = "0x400D52A")] private ISchedulerPromise JAIBDIBHJCM; // Token: 0x0400D52B RID: 54571 [global::Cpp2IlInjected.FieldOffset(Offset = "0x60")] [Token(Token = "0x400D52B")] private CreationObject IEKKOJLFHNC; // Token: 0x0400D52C RID: 54572 [global::Cpp2IlInjected.FieldOffset(Offset = "0x68")] [Token(Token = "0x400D52C")] [SerializeField] [DDPIINEJFMD(JIBDPHMGEGO.Self, false, false)] private SandboxColorable sandboxColorable; // Token: 0x0400D52D RID: 54573 [global::Cpp2IlInjected.FieldOffset(Offset = "0x70")] [Token(Token = "0x400D52D")] [SerializeField] [DDPIINEJFMD(JIBDPHMGEGO.Self, false, false)] private CircuitEventNodeDisplay circuitNode; // Token: 0x0400D52E RID: 54574 [global::Cpp2IlInjected.FieldOffset(Offset = "0x78")] [Token(Token = "0x400D52E")] [SerializeField] private ControlPanelCircuitObject controlPanelCircuitObject; // Token: 0x0400D52F RID: 54575 [global::Cpp2IlInjected.FieldOffset(Offset = "0x80")] [Token(Token = "0x400D52F")] private SynchronizedField KGBGCHLGHIK; // Token: 0x0400D530 RID: 54576 [global::Cpp2IlInjected.FieldOffset(Offset = "0x88")] [Token(Token = "0x400D530")] private SynchronizedField FELNBMICNMF; // Token: 0x0400D531 RID: 54577 [global::Cpp2IlInjected.FieldOffset(Offset = "0x90")] [Token(Token = "0x400D531")] private SynchronizedField DAOLMNCAGHM; // Token: 0x0400D532 RID: 54578 [global::Cpp2IlInjected.FieldOffset(Offset = "0x98")] [Token(Token = "0x400D532")] private SynchronizedField KHLHCBPJKLM; // Token: 0x0400D533 RID: 54579 [global::Cpp2IlInjected.FieldOffset(Offset = "0xA0")] [Token(Token = "0x400D533")] private SynchronizedField MDPNJMAOHEM; // Token: 0x0400D534 RID: 54580 [global::Cpp2IlInjected.FieldOffset(Offset = "0xA8")] [Token(Token = "0x400D534")] private SynchronizedField CHGNNMEFDCH; // Token: 0x0400D535 RID: 54581 [global::Cpp2IlInjected.FieldOffset(Offset = "0xB0")] [Token(Token = "0x400D535")] private SynchronizedField GEFMIBPBAFN; } }