using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Text; using AGUI.StackedUI; using Cpp2IlInjected; using Google.Protobuf; using Photon.Pun; using RecRoom.AGUI.ToolUIs; using RecRoom.Circuits; using RecRoom.CircuitsV2.ContextNodes; using RecRoom.Core.Creation.Circuits; using RecRoom.Core.Pools; using UnityEngine; namespace RecRoom.Core.Creation { // Token: 0x02003207 RID: 12807 [Token(Token = "0x2003207")] public class ParticleEmitter : MonoBehaviourPun, EOCLMMENCKH, NDBBKDMPBHD { // Token: 0x17003C3A RID: 15418 // (get) Token: 0x06015D78 RID: 89464 RVA: 0x00515B7C File Offset: 0x00513D7C // (set) Token: 0x06015D79 RID: 89465 RVA: 0x00515B9C File Offset: 0x00513D9C [Token(Token = "0x17003C3A")] public int NJEEIFMGBLL { [Token(Token = "0x6015D78")] [Address(RVA = "0x19383B0", Offset = "0x19373B0", VA = "0x1819383B0")] get { return this.KGBGCHLGHIK.JNGMDCKPBOM; } [Token(Token = "0x6015D79")] [Address(RVA = "0x1937370", Offset = "0x1936370", VA = "0x181937370")] set { this.KGBGCHLGHIK.JNGMDCKPBOM = value; } } // Token: 0x17003C3B RID: 15419 // (get) Token: 0x06015D7A RID: 89466 RVA: 0x00515BBC File Offset: 0x00513DBC // (set) Token: 0x06015D7B RID: 89467 RVA: 0x00515BDC File Offset: 0x00513DDC [Token(Token = "0x17003C3B")] public bool ELHDPEAFKFA { [Token(Token = "0x6015D7A")] [Address(RVA = "0x193A1F0", Offset = "0x19391F0", VA = "0x18193A1F0")] get { return this.FELNBMICNMF.JNGMDCKPBOM != null; } [Token(Token = "0x6015D7B")] [Address(RVA = "0x193A440", Offset = "0x1939440", VA = "0x18193A440")] set { this.FELNBMICNMF.JNGMDCKPBOM = value; } } // Token: 0x17003C3C RID: 15420 // (get) Token: 0x06015D7C RID: 89468 RVA: 0x00515BFC File Offset: 0x00513DFC // (set) Token: 0x06015D7D RID: 89469 RVA: 0x00515C1C File Offset: 0x00513E1C [Token(Token = "0x17003C3C")] public int NBDJIIMHJNK { [Token(Token = "0x6015D7C")] [Address(RVA = "0x193A1A0", Offset = "0x19391A0", VA = "0x18193A1A0")] get { return this.DAOLMNCAGHM.JNGMDCKPBOM; } [Token(Token = "0x6015D7D")] [Address(RVA = "0x193A3E0", Offset = "0x19393E0", VA = "0x18193A3E0")] set { this.DAOLMNCAGHM.JNGMDCKPBOM = value; } } // Token: 0x17003C3D RID: 15421 // (get) Token: 0x06015D7E RID: 89470 RVA: 0x00515C3C File Offset: 0x00513E3C // (set) Token: 0x06015D7F RID: 89471 RVA: 0x00515C5C File Offset: 0x00513E5C [Token(Token = "0x17003C3D")] public float HOKIECONGLC { [Token(Token = "0x6015D7E")] [Address(RVA = "0x193A240", Offset = "0x1939240", VA = "0x18193A240")] get { return this.KHLHCBPJKLM.JNGMDCKPBOM; } [Token(Token = "0x6015D7F")] [Address(RVA = "0x193A4A0", Offset = "0x19394A0", VA = "0x18193A4A0")] set { AKBHELGFNFF khlhcbpjklm = this.KHLHCBPJKLM; } } // Token: 0x17003C3E RID: 15422 // (get) Token: 0x06015D80 RID: 89472 RVA: 0x00515C78 File Offset: 0x00513E78 // (set) Token: 0x06015D81 RID: 89473 RVA: 0x00515C98 File Offset: 0x00513E98 [Token(Token = "0x17003C3E")] public float IALAFCJLAJM { [Token(Token = "0x6015D80")] [Address(RVA = "0x193A150", Offset = "0x1939150", VA = "0x18193A150")] get { return this.MDPNJMAOHEM.JNGMDCKPBOM; } [Token(Token = "0x6015D81")] [Address(RVA = "0x193A380", Offset = "0x1939380", VA = "0x18193A380")] set { AKBHELGFNFF mdpnjmaohem = this.MDPNJMAOHEM; } } // Token: 0x17003C3F RID: 15423 // (get) Token: 0x06015D82 RID: 89474 RVA: 0x00515CB4 File Offset: 0x00513EB4 // (set) Token: 0x06015D83 RID: 89475 RVA: 0x00515CD4 File Offset: 0x00513ED4 [Token(Token = "0x17003C3F")] public bool ILNELNIPKPO { [Token(Token = "0x6015D82")] [Address(RVA = "0x1938EA0", Offset = "0x1937EA0", VA = "0x181938EA0")] get { return this.CHGNNMEFDCH.JNGMDCKPBOM != null; } [Token(Token = "0x6015D83")] [Address(RVA = "0x1938C80", Offset = "0x1937C80", VA = "0x181938C80")] set { this.CHGNNMEFDCH.JNGMDCKPBOM = value; } } // Token: 0x17003C40 RID: 15424 // (get) Token: 0x06015D84 RID: 89476 RVA: 0x00515CF4 File Offset: 0x00513EF4 // (set) Token: 0x06015D85 RID: 89477 RVA: 0x00515D14 File Offset: 0x00513F14 [Token(Token = "0x17003C40")] public bool HBLLIBGKNCI { [Token(Token = "0x6015D84")] [Address(RVA = "0x1937F50", Offset = "0x1936F50", VA = "0x181937F50")] get { return this.GEFMIBPBAFN.IAHDANBDAAM() != null; } [Token(Token = "0x6015D85")] [Address(RVA = "0x19386E0", Offset = "0x19376E0", VA = "0x1819386E0")] set { KLLMCPFPIIE gefmibpbafn = this.GEFMIBPBAFN; } } // Token: 0x17003C41 RID: 15425 // (get) Token: 0x06015D86 RID: 89478 RVA: 0x00515D30 File Offset: 0x00513F30 [Token(Token = "0x17003C41")] public bool MDAHDIHLCHC { [Token(Token = "0x6015D86")] [Address(RVA = "0x193A2F0", Offset = "0x19392F0", VA = "0x18193A2F0")] get { return this.FELNBMICNMF.JNGMDCKPBOM != 0 || this.CHGNNMEFDCH.JNGMDCKPBOM != null; } } // Token: 0x06015D87 RID: 89479 RVA: 0x00515D60 File Offset: 0x00513F60 [Token(Token = "0x6015D87")] [Address(RVA = "0x19373D0", Offset = "0x19363D0", VA = "0x1819373D0", Slot = "13")] protected override void Awake() { base..ctor(); Action action = new Action(this.KFNKOCDFKJI); int num = 0; AKBHELGFNFF akbhelgfnff; this.FELNBMICNMF = akbhelgfnff; AKBHELGFNFF akbhelgfnff2; this.DAOLMNCAGHM = akbhelgfnff2; Action action2 = new Action(this.BEIBCGMIPDH); AKBHELGFNFF akbhelgfnff3; this.KHLHCBPJKLM = akbhelgfnff3; Action action3 = new Action(this.OCKMIBOOFCH); AKBHELGFNFF akbhelgfnff4; this.MDPNJMAOHEM = akbhelgfnff4; AKBHELGFNFF akbhelgfnff5; this.CHGNNMEFDCH = akbhelgfnff5; Action action4 = new Action(this.BOCEPKIKMNN); AKBHELGFNFF akbhelgfnff6; this.KGBGCHLGHIK = akbhelgfnff6; Action action5 = new Action(this.ONNAGNGLJAG); SandboxParticleEffect[] array = this.particleEffects; KLLMCPFPIIE kllmcpfpiie; this.GEFMIBPBAFN = kllmcpfpiie; if (num < array.Length) { Dictionary cbacpnpfkkb = this.CBACPNPFKKB; SandboxParticleEffect sandboxParticleEffect = array[num]; SandboxParticleEffect[] array2 = this.particleEffects; num++; } } // Token: 0x06015D88 RID: 89480 RVA: 0x00515E28 File Offset: 0x00514028 [Token(Token = "0x6015D88")] [Address(RVA = "0x1939870", Offset = "0x1938870", VA = "0x181939870")] 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); int num3 = 0; ILINODKFHEO ilinodkfheo = component.AddConfigurableSetting(klcanjpoepc); ControlPanelCircuitObject controlPanelCircuitObject = this.controlPanelCircuitObject; int num4 = 0; if (!(controlPanelCircuitObject != num4)) { OMKPHDBNLKH.DEDABHKCIBG dedabhkcibg; if (ParticleEmitter.<>c.<>9__43_4 == 0) { dedabhkcibg = (MakerPenPaletteConfigScreen editableUIFlow) => editableUIFlow.DefaultBoolUIControlPrefab; ParticleEmitter.<>c.<>9__43_4 = dedabhkcibg; } OMKPHDBNLKH.OHINDOLFNMP ohindolfnmp2 = new OMKPHDBNLKH.OHINDOLFNMP(this.DLIEKNIBBBP); CPNMFOKDBKM cpnmfokdbkm = new CPNMFOKDBKM(dedabhkcibg, ohindolfnmp2, 10); ILINODKFHEO ilinodkfheo2 = component.AddConfigurableSetting(cpnmfokdbkm); OMKPHDBNLKH.DEDABHKCIBG dedabhkcibg2; if (ParticleEmitter.<>c.<>9__43_6 == 0) { dedabhkcibg2 = (MakerPenPaletteConfigScreen editableUIFlow) => editableUIFlow.DefaultBoolUIControlPrefab; ParticleEmitter.<>c.<>9__43_6 = dedabhkcibg2; } OMKPHDBNLKH.OHINDOLFNMP ohindolfnmp3 = new OMKPHDBNLKH.OHINDOLFNMP(this.MPEGIMJNGON); CPNMFOKDBKM cpnmfokdbkm2 = new CPNMFOKDBKM(dedabhkcibg2, ohindolfnmp3, 5); ILINODKFHEO ilinodkfheo3 = component.AddConfigurableSetting(cpnmfokdbkm2); } DOPNALIMPNA[] array = new DOPNALIMPNA[3]; Dictionary cbacpnpfkkb2 = this.CBACPNPFKKB; Func func = new Func(this.EPIEHKHMOEN); Action action = new Action(this.AGNCDAIBFLD); string text; ulong num5; LNBMGIPPMJJ lnbmgippmjj = ONOKJPIMIIP.BCJHJAHMJFP(cbacpnpfkkb2, func, action, "Particle Type", text, num3, num3, num3, num3, num5 != 0UL); if (lnbmgippmjj != 0) { } array[0] = lnbmgippmjj; Func func2 = new Func(this.MMJFLHPPOLG); Action action2 = new Action(this.KMFFNAFBGNJ); Func func3 = new Func(this.EBPIMBDDIKK); int num6 = 0; string text2; string text3; ulong num7; DHCINNFLBBA dhcinnflbba = ONOKJPIMIIP.LBJPOFMMGGP(func2, action2, func3, num6, text2, text3, (int)num7, num3); if (dhcinnflbba != 0) { } array[1] = dhcinnflbba; Func func4 = new Func(this.DDCCAOGLJAF); Action action3 = new Action(this.HDCOBAJHGCP); Func func5 = new Func(this.EMBDLMOJALI); int num8 = 0; string text4; string text5; ulong num9; DHCINNFLBBA dhcinnflbba2 = ONOKJPIMIIP.LBJPOFMMGGP(func4, action3, func5, num8, text4, text5, (int)num9, num3); if (dhcinnflbba2 != 0) { } array[2] = dhcinnflbba2; ECJBHJOCKHL ecjbhjockhl = component.AddFoldoutMenu("Emitter", 100, array); } SandboxColorable sandboxColorable = this.sandboxColorable; Action action4 = new Action(this.ONNAGNGLJAG); sandboxColorable.JJCKDBNNKAM += action4; CircuitEventNodeDisplay circuitEventNodeDisplay = this.circuitNode; Action action5 = new Action(this.MBNOAMFGNJO); circuitEventNodeDisplay.DMKDMKIDPLC += action5; if (this.circuitNode.IsInputConnected(InputSlot.M)) { int inputSignal = this.circuitNode.MBBJMCDGDMN.GetInputSignal(InputSlot.M); AKBHELGFNFF daolmncaghm = this.DAOLMNCAGHM; } this.DAOLMNCAGHM.JNGMDCKPBOM = -1; this.ONNAGNGLJAG(); this.BOCEPKIKMNN(); } // Token: 0x06015D89 RID: 89481 RVA: 0x005160D4 File Offset: 0x005142D4 [Token(Token = "0x6015D89")] [Address(RVA = "0x1939550", Offset = "0x1938550", VA = "0x181939550", 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: 0x06015D8A RID: 89482 RVA: 0x0051612C File Offset: 0x0051432C [Token(Token = "0x6015D8A")] [Address(RVA = "0x19383B0", Offset = "0x19373B0", VA = "0x1819383B0")] private int EPIEHKHMOEN() { return this.KGBGCHLGHIK.JNGMDCKPBOM; } // Token: 0x06015D8B RID: 89483 RVA: 0x0051614C File Offset: 0x0051434C [Token(Token = "0x6015D8B")] [Address(RVA = "0x1937370", Offset = "0x1936370", VA = "0x181937370")] private void AGNCDAIBFLD(int BCEFAKDFEMM) { this.KGBGCHLGHIK.JNGMDCKPBOM = BCEFAKDFEMM; } // Token: 0x06015D8C RID: 89484 RVA: 0x0051616C File Offset: 0x0051436C [Token(Token = "0x6015D8C")] [Address(RVA = "0x1938EA0", Offset = "0x1937EA0", VA = "0x181938EA0")] private bool MMJFLHPPOLG() { return this.CHGNNMEFDCH.JNGMDCKPBOM != null; } // Token: 0x06015D8D RID: 89485 RVA: 0x0051618C File Offset: 0x0051438C [Token(Token = "0x6015D8D")] [Address(RVA = "0x1938C80", Offset = "0x1937C80", VA = "0x181938C80")] private void KMFFNAFBGNJ(bool BCEFAKDFEMM) { this.CHGNNMEFDCH.JNGMDCKPBOM = BCEFAKDFEMM; } // Token: 0x06015D8E RID: 89486 RVA: 0x005161AC File Offset: 0x005143AC [Token(Token = "0x6015D8E")] [Address(RVA = "0x1937F50", Offset = "0x1936F50", VA = "0x181937F50")] private bool DDCCAOGLJAF() { return this.GEFMIBPBAFN.IAHDANBDAAM() != null; } // Token: 0x06015D8F RID: 89487 RVA: 0x005161CC File Offset: 0x005143CC [Token(Token = "0x6015D8F")] [Address(RVA = "0x19386E0", Offset = "0x19376E0", VA = "0x1819386E0")] private void HDCOBAJHGCP(bool BCEFAKDFEMM) { KLLMCPFPIIE gefmibpbafn = this.GEFMIBPBAFN; } // Token: 0x06015D90 RID: 89488 RVA: 0x005161E8 File Offset: 0x005143E8 [Token(Token = "0x6015D90")] [Address(RVA = "0x1938DB0", Offset = "0x1937DB0", VA = "0x181938DB0")] private void MBNOAMFGNJO() { if (this.circuitNode.IsInputConnected(InputSlot.M)) { int inputSignal = this.circuitNode.MBBJMCDGDMN.GetInputSignal(InputSlot.M); AKBHELGFNFF daolmncaghm = this.DAOLMNCAGHM; } this.DAOLMNCAGHM.JNGMDCKPBOM = -1; this.ONNAGNGLJAG(); } // Token: 0x06015D91 RID: 89489 RVA: 0x00516238 File Offset: 0x00514438 [Token(Token = "0x6015D91")] [Address(RVA = "0x1939350", Offset = "0x1938350", VA = "0x181939350")] private void ONNAGNGLJAG() { int num = this.DAOLMNCAGHM.JNGMDCKPBOM; if (this.GEFMIBPBAFN.IAHDANBDAAM() != 0 && this.sandboxColorable.EJGFMPCAIOD.JNGMDCKPBOM != -1) { if (this.APMFIIJFEGM != 0) { SandboxColorable sandboxColorable = this.sandboxColorable; } return; } PooledParticle apmfiijfegm = this.APMFIIJFEGM; while (apmfiijfegm == 0) { } apmfiijfegm.ResetColors(); } // Token: 0x06015D92 RID: 89490 RVA: 0x005162B4 File Offset: 0x005144B4 [Token(Token = "0x6015D92")] [Address(RVA = "0x19377E0", Offset = "0x19367E0", VA = "0x1819377E0")] private void BEIBCGMIPDH() { ControlPanelCircuitObject controlPanelCircuitObject = this.controlPanelCircuitObject; int num = 0; if (!(controlPanelCircuitObject != num)) { float num2 = this.KHLHCBPJKLM.JNGMDCKPBOM; SandboxParticleEffect[] array = this.particleEffects; int num3 = this.KGBGCHLGHIK.JNGMDCKPBOM; SandboxParticleEffect sandboxParticleEffect = array[num3]; SandboxParticleEffect[] array2 = this.particleEffects; int num4 = this.KGBGCHLGHIK.JNGMDCKPBOM; SandboxParticleEffect sandboxParticleEffect2 = array2[num4]; } float num5 = this.KHLHCBPJKLM.JNGMDCKPBOM; SandboxParticleEffect[] array3 = this.particleEffects; int num6 = this.KGBGCHLGHIK.JNGMDCKPBOM; float minScale = array3[num6].MinScale; SandboxParticleEffect[] array4 = this.particleEffects; int num7 = this.KGBGCHLGHIK.JNGMDCKPBOM; float maxScale = array4[num7].MaxScale; float num8 = Mathf.Clamp(num5, minScale, maxScale); PooledParticle apmfiijfegm = this.APMFIIJFEGM; Transform transform = apmfiijfegm.transform; } // Token: 0x06015D93 RID: 89491 RVA: 0x005163A8 File Offset: 0x005145A8 [Token(Token = "0x6015D93")] [Address(RVA = "0x1938FC0", Offset = "0x1937FC0", VA = "0x181938FC0")] private void OCKMIBOOFCH() { ControlPanelCircuitObject controlPanelCircuitObject = this.controlPanelCircuitObject; int num = 0; if (!(controlPanelCircuitObject != num)) { float num2 = this.MDPNJMAOHEM.JNGMDCKPBOM; SandboxParticleEffect[] array = this.particleEffects; int num3 = this.KGBGCHLGHIK.JNGMDCKPBOM; SandboxParticleEffect sandboxParticleEffect = array[num3]; SandboxParticleEffect[] array2 = this.particleEffects; int num4 = this.KGBGCHLGHIK.JNGMDCKPBOM; SandboxParticleEffect sandboxParticleEffect2 = array2[num4]; } float num5 = this.MDPNJMAOHEM.JNGMDCKPBOM; SandboxParticleEffect[] array3 = this.particleEffects; int num6 = this.KGBGCHLGHIK.JNGMDCKPBOM; float num7 = array3[num6].MinSpeed; SandboxParticleEffect[] array4 = this.particleEffects; int num8 = this.KGBGCHLGHIK.JNGMDCKPBOM; 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: 0x06015D94 RID: 89492 RVA: 0x005164A8 File Offset: 0x005146A8 [Token(Token = "0x6015D94")] [Address(RVA = "0x1938820", Offset = "0x1937820", VA = "0x181938820")] 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: 0x06015D95 RID: 89493 RVA: 0x005164E8 File Offset: 0x005146E8 [Token(Token = "0x6015D95")] [Address(RVA = "0x1938740", Offset = "0x1937740", VA = "0x181938740")] private void IENGBFKMMCC() { KFBABPAPIMB jaibdibhjcm = this.JAIBDIBHJCM; this.GLFCOPMIKLH(jaibdibhjcm); Scheduler instance = SingletonMonoBehaviour.ONCPNMDGGKG; ParticleEmitter.GKLNEBKCJDA gklnebkcjda; gklnebkcjda.System.IDisposable.Dispose(); gklnebkcjda.<>1__state = (int)((ulong)0L); gklnebkcjda.<>4__this = this; KFBABPAPIMB kfbabpapimb = instance.Run(this, gklnebkcjda); this.JAIBDIBHJCM = kfbabpapimb; } // Token: 0x06015D96 RID: 89494 RVA: 0x00516538 File Offset: 0x00514738 [Token(Token = "0x6015D96")] [Address(RVA = "0x19389A0", Offset = "0x19379A0", VA = "0x1819389A0")] 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(); } KFBABPAPIMB jaibdibhjcm = this.JAIBDIBHJCM; this.GLFCOPMIKLH(jaibdibhjcm); this.JAIBDIBHJCM = (ulong)0L; } // Token: 0x06015D97 RID: 89495 RVA: 0x005165A4 File Offset: 0x005147A4 [Token(Token = "0x6015D97")] [Address(RVA = "0x1938940", Offset = "0x1937940", VA = "0x181938940")] private IEnumerator JAEHLGBANHN() { /* An exception occurred when decompiling this method (06015D97) 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: 0x06015D98 RID: 89496 RVA: 0x005165C8 File Offset: 0x005147C8 [Token(Token = "0x6015D98")] [Address(RVA = "0x1937BB0", Offset = "0x1936BB0", VA = "0x181937BB0")] private void BOCEPKIKMNN() { int num = this.KGBGCHLGHIK.JNGMDCKPBOM; int num2 = this.KGBGCHLGHIK.JNGMDCKPBOM; SandboxParticleEffect[] array = this.particleEffects; if (num2 < array.Length) { this.JCMKCBAPMHH(true); GlobalPool instance = GlobalPool.ONCPNMDGGKG; SandboxParticleEffect[] array2 = this.particleEffects; int num3 = this.KGBGCHLGHIK.JNGMDCKPBOM; 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: 0x06015D99 RID: 89497 RVA: 0x005166B8 File Offset: 0x005148B8 [Token(Token = "0x6015D99")] [Address(RVA = "0x1938BB0", Offset = "0x1937BB0", VA = "0x181938BB0")] private void KFNKOCDFKJI() { ControlPanelCircuitObject controlPanelCircuitObject = this.controlPanelCircuitObject; int num = 0; if (controlPanelCircuitObject != num) { if (this.FELNBMICNMF.JNGMDCKPBOM != 0) { return; } int num2 = 0; this.JCMKCBAPMHH(num2 != 0); } } // Token: 0x06015D9A RID: 89498 RVA: 0x005166F8 File Offset: 0x005148F8 [Token(Token = "0x6015D9A")] [Address(RVA = "0x1938400", Offset = "0x1937400", VA = "0x181938400")] public void EmitSignalReceived(Dictionary updates) { ControlPanelCircuitObject controlPanelCircuitObject = this.controlPanelCircuitObject; int num = 0; if (!(controlPanelCircuitObject != num)) { throw new NullReferenceException(); } } // Token: 0x17003C42 RID: 15426 // (get) Token: 0x06015D9B RID: 89499 RVA: 0x005167D8 File Offset: 0x005149D8 [Token(Token = "0x17003C42")] public bool JBMFJOBFJHP { [Token(Token = "0x6015D9B")] [Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "15")] get { } } // Token: 0x06015D9C RID: 89500 RVA: 0x005167E8 File Offset: 0x005149E8 [Token(Token = "0x6015D9C")] [Address(RVA = "0x1938070", Offset = "0x1937070", VA = "0x181938070", Slot = "16")] public void DeserializeFrom(KPNDFONGDGF HFBJGCHOANH) { AKBHELGFNFF chgnnmefdch = this.CHGNNMEFDCH; KLLMCPFPIIE 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.JNGMDCKPBOM = num3; } // Token: 0x06015D9D RID: 89501 RVA: 0x00516854 File Offset: 0x00514A54 [Token(Token = "0x6015D9D")] [Address(RVA = "0x1939620", Offset = "0x1938620", VA = "0x181939620", Slot = "17")] public void SerializeTo(ref PDEKIHFJKHJ IABNDBNHMKF, ref MKNCHKCCIHK NHFINJNIPGK, StringBuilder BIPOIFGEMGB) { GPMHPDDOGBA gpmhpddogba = new GPMHPDDOGBA(); bool flag = this.CHGNNMEFDCH.JNGMDCKPBOM != null; gpmhpddogba.LKANIGBLDLA = flag; bool flag2 = this.GEFMIBPBAFN.IAHDANBDAAM() != null; gpmhpddogba.AKDDLPGGKDJ = flag2; SandboxParticleEffect[] array = this.particleEffects; int num = this.KGBGCHLGHIK.JNGMDCKPBOM; SandboxParticleEffect sandboxParticleEffect = array[num]; ByteString byteString; gpmhpddogba.IJAOLEBKHCG = byteString; } // Token: 0x17003C43 RID: 15427 // (get) Token: 0x06015D9E RID: 89502 RVA: 0x005168D0 File Offset: 0x00514AD0 [Token(Token = "0x17003C43")] public bool JDAKDEIANGH { [Token(Token = "0x6015D9E")] [Address(RVA = "0x193A290", Offset = "0x1939290", VA = "0x18193A290")] get { ControlPanelCircuitObject controlPanelCircuitObject = this.controlPanelCircuitObject; int num = 0; return controlPanelCircuitObject != num; } } // Token: 0x06015D9F RID: 89503 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6015D9F")] [Address(RVA = "0x1935EC0", Offset = "0x1934EC0", VA = "0x181935EC0")] public IFNLKKABKEB CV2Start(GGLMKLIJBHG CHKKEHOKPJP) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06015DA0 RID: 89504 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6015DA0")] [Address(RVA = "0x1935F00", Offset = "0x1934F00", VA = "0x181935F00")] public IFNLKKABKEB CV2Stop(GGLMKLIJBHG CHKKEHOKPJP) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06015DA1 RID: 89505 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6015DA1")] [Address(RVA = "0x1937ED0", Offset = "0x1936ED0", VA = "0x181937ED0")] public IFNLKKABKEB CV2SetLooping(GGLMKLIJBHG CHKKEHOKPJP, bool MAPLONGAACK) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06015DA2 RID: 89506 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6015DA2")] [Address(RVA = "0x1935E80", Offset = "0x1934E80", VA = "0x181935E80")] public IFNLKKABKEB CV2SetSize(GGLMKLIJBHG CHKKEHOKPJP, float OJJOHDIFMEG) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06015DA3 RID: 89507 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6015DA3")] [Address(RVA = "0x1937F10", Offset = "0x1936F10", VA = "0x181937F10")] public IFNLKKABKEB CV2SetSpeed(GGLMKLIJBHG CHKKEHOKPJP, float EJHELOHKGCF) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06015DA4 RID: 89508 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6015DA4")] [Address(RVA = "0x1937E80", Offset = "0x1936E80", VA = "0x181937E80")] public IFNLKKABKEB CV2SetColor(GGLMKLIJBHG CHKKEHOKPJP, int GJAINANBOCB) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x17003C44 RID: 15428 // (get) Token: 0x06015DA5 RID: 89509 RVA: 0x005168F0 File Offset: 0x00514AF0 [Token(Token = "0x17003C44")] private MCAEIANPGOL OBHLNKHEHEN { [Token(Token = "0x6015DA5")] [Address(RVA = "0x1938B10", Offset = "0x1937B10", VA = "0x181938B10", Slot = "18")] get { /* An exception occurred when decompiling this method (06015DA5) ICSharpCode.Decompiler.DecompilerException: Error decompiling MCAEIANPGOL RecRoom.Core.Creation.ParticleEmitter::JPHPDHGLKLN() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:BGDADOHKJMD(var_0_05, ldsfld:BGDADOHKJMD(GHFIPBGLBID::k__BackingField)) } 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: 0x06015DA6 RID: 89510 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6015DA6")] [Address(RVA = "0x1938310", Offset = "0x1937310", VA = "0x181938310", Slot = "19")] private IFNLKKABKEB EKLANAAAJGK(GGLMKLIJBHG CHKKEHOKPJP) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06015DA7 RID: 89511 RVA: 0x00516904 File Offset: 0x00514B04 [Token(Token = "0x6015DA7")] [Address(RVA = "0x193A0F0", Offset = "0x19390F0", VA = "0x18193A0F0")] public ParticleEmitter() { Dictionary dictionary = new Dictionary(); this.CBACPNPFKKB = dictionary; base..ctor(); } // Token: 0x06015DA8 RID: 89512 RVA: 0x00516924 File Offset: 0x00514B24 [Token(Token = "0x6015DA8")] [Address(RVA = "0x1938CE0", Offset = "0x1937CE0", VA = "0x181938CE0")] [CompilerGenerated] private void LJMJFKENMHN(CreationObjectSettingFriendlyIntControl GCCLEJOGCCE) { string text = GCCLEJOGCCE.PropertyDescription.text; Func func = new Func(this.EPIEHKHMOEN); Action action = new Action(this.AGNCDAIBFLD); } // Token: 0x06015DA9 RID: 89513 RVA: 0x00516960 File Offset: 0x00514B60 [Token(Token = "0x6015DA9")] [Address(RVA = "0x1937FA0", Offset = "0x1936FA0", VA = "0x181937FA0")] [CompilerGenerated] private void DLIEKNIBBBP(CreationObjectSettingBooleanUIControl GCCLEJOGCCE) { string text = GCCLEJOGCCE.PropertyDescription.text; Func func = new Func(this.MMJFLHPPOLG); Action action = new Action(this.KMFFNAFBGNJ); } // Token: 0x06015DAA RID: 89514 RVA: 0x0051699C File Offset: 0x00514B9C [Token(Token = "0x6015DAA")] [Address(RVA = "0x1938EF0", Offset = "0x1937EF0", VA = "0x181938EF0")] [CompilerGenerated] private void MPEGIMJNGON(CreationObjectSettingBooleanUIControl GCCLEJOGCCE) { string text = GCCLEJOGCCE.PropertyDescription.text; Func func = new Func(this.DDCCAOGLJAF); Action action = new Action(this.HDCOBAJHGCP); } // Token: 0x06015DAB RID: 89515 RVA: 0x005169D8 File Offset: 0x00514BD8 [Token(Token = "0x6015DAB")] [Address(RVA = "0x19382B0", Offset = "0x19372B0", VA = "0x1819382B0")] [CompilerGenerated] private bool EBPIMBDDIKK() { ControlPanelCircuitObject controlPanelCircuitObject = this.controlPanelCircuitObject; int num = 0; return !(controlPanelCircuitObject != num); } // Token: 0x06015DAC RID: 89516 RVA: 0x005169F8 File Offset: 0x00514BF8 [Token(Token = "0x6015DAC")] [Address(RVA = "0x19382B0", Offset = "0x19372B0", VA = "0x1819382B0")] [CompilerGenerated] private bool EMBDLMOJALI() { ControlPanelCircuitObject controlPanelCircuitObject = this.controlPanelCircuitObject; int num = 0; return !(controlPanelCircuitObject != num); } // Token: 0x0400E556 RID: 58710 [Token(Token = "0x400E556")] private const InputSlot MAAANKFGDAN = InputSlot.C; // Token: 0x0400E557 RID: 58711 [Token(Token = "0x400E557")] private const InputSlot OOIOFHFOAAF = InputSlot.M; // Token: 0x0400E558 RID: 58712 [Token(Token = "0x400E558")] private const InputSlot ADNFKJLCJNK = InputSlot.Y; // Token: 0x0400E559 RID: 58713 [Token(Token = "0x400E559")] private const InputSlot MBCFCDKMOAM = InputSlot.K; // Token: 0x0400E55A RID: 58714 [FieldOffset(Offset = "0x40")] [Token(Token = "0x400E55A")] [SerializeField] private SandboxParticleEffect[] particleEffects; // Token: 0x0400E55B RID: 58715 [FieldOffset(Offset = "0x48")] [Token(Token = "0x400E55B")] private PooledParticle APMFIIJFEGM; // Token: 0x0400E55C RID: 58716 [FieldOffset(Offset = "0x50")] [Token(Token = "0x400E55C")] private Dictionary CBACPNPFKKB; // Token: 0x0400E55D RID: 58717 [FieldOffset(Offset = "0x58")] [Token(Token = "0x400E55D")] private KFBABPAPIMB JAIBDIBHJCM; // Token: 0x0400E55E RID: 58718 [FieldOffset(Offset = "0x60")] [Token(Token = "0x400E55E")] private CreationObject IEKKOJLFHNC; // Token: 0x0400E55F RID: 58719 [FieldOffset(Offset = "0x68")] [Token(Token = "0x400E55F")] [SerializeField] [NKNLDEIPALE(FHBJCBPFODN.Self, false, false, false)] private SandboxColorable sandboxColorable; // Token: 0x0400E560 RID: 58720 [FieldOffset(Offset = "0x70")] [Token(Token = "0x400E560")] [SerializeField] [NKNLDEIPALE(FHBJCBPFODN.Self, false, false, false)] private CircuitEventNodeDisplay circuitNode; // Token: 0x0400E561 RID: 58721 [FieldOffset(Offset = "0x78")] [Token(Token = "0x400E561")] [SerializeField] private ControlPanelCircuitObject controlPanelCircuitObject; // Token: 0x0400E562 RID: 58722 [FieldOffset(Offset = "0x80")] [Token(Token = "0x400E562")] private AKBHELGFNFF KGBGCHLGHIK; // Token: 0x0400E563 RID: 58723 [FieldOffset(Offset = "0x88")] [Token(Token = "0x400E563")] private AKBHELGFNFF FELNBMICNMF; // Token: 0x0400E564 RID: 58724 [FieldOffset(Offset = "0x90")] [Token(Token = "0x400E564")] private AKBHELGFNFF DAOLMNCAGHM; // Token: 0x0400E565 RID: 58725 [FieldOffset(Offset = "0x98")] [Token(Token = "0x400E565")] private AKBHELGFNFF KHLHCBPJKLM; // Token: 0x0400E566 RID: 58726 [FieldOffset(Offset = "0xA0")] [Token(Token = "0x400E566")] private AKBHELGFNFF MDPNJMAOHEM; // Token: 0x0400E567 RID: 58727 [FieldOffset(Offset = "0xA8")] [Token(Token = "0x400E567")] private AKBHELGFNFF CHGNNMEFDCH; // Token: 0x0400E568 RID: 58728 [FieldOffset(Offset = "0xB0")] [Token(Token = "0x400E568")] private KLLMCPFPIIE GEFMIBPBAFN; } }