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

918 lines
35 KiB
C#

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<int> 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<bool> 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<int> 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<float> 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<float> 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<bool> 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<bool> 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<int> synchronizedField;
this.KGBGCHLGHIK = synchronizedField;
Action action2 = new Action(this.KFNKOCDFKJI);
SynchronizedField<bool> synchronizedField2;
this.FELNBMICNMF = synchronizedField2;
SynchronizedField<bool> synchronizedField3;
this.CHGNNMEFDCH = synchronizedField3;
SynchronizedField<int> synchronizedField4;
this.DAOLMNCAGHM = synchronizedField4;
Action action3 = new Action(this.BEIBCGMIPDH);
SynchronizedField<float> synchronizedField5;
this.KHLHCBPJKLM = synchronizedField5;
Action action4 = new Action(this.OCKMIBOOFCH);
SynchronizedField<float> synchronizedField6;
this.MDPNJMAOHEM = synchronizedField6;
Action action5 = new Action(this.ONNAGNGLJAG);
SandboxParticleEffect[] array = this.particleEffects;
SynchronizedField<bool> synchronizedField7;
this.GEFMIBPBAFN = synchronizedField7;
if (num < array.Length)
{
Dictionary<string, FLCFOLDCOJJ> 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<CreationObject>();
int num = 0;
if (component != num)
{
OMKPHDBNLKH<CreationObjectSettingFriendlyIntControl, int>.DEDABHKCIBG <>9__43_ = ParticleEmitter.<>c.<>9__43_0;
if (<>9__43_ == 0)
{
ParticleEmitter.<>c.<>9__43_0 = (MakerPenPaletteConfigScreen editableUIFlow) => editableUIFlow.DefaultEnumUIControlPrefab;
}
OMKPHDBNLKH<CreationObjectSettingFriendlyIntControl, int>.OHINDOLFNMP ohindolfnmp = new OMKPHDBNLKH.OHINDOLFNMP(this.LJMJFKENMHN);
Dictionary<string, FLCFOLDCOJJ> 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<CreationObjectSettingBooleanUIControl, bool>.DEDABHKCIBG dedabhkcibg;
if (ParticleEmitter.<>c.<>9__43_2 == 0)
{
dedabhkcibg = (MakerPenPaletteConfigScreen editableUIFlow) => editableUIFlow.DefaultBoolUIControlPrefab;
ParticleEmitter.<>c.<>9__43_2 = dedabhkcibg;
}
OMKPHDBNLKH<CreationObjectSettingBooleanUIControl, bool>.OHINDOLFNMP ohindolfnmp2 = new OMKPHDBNLKH.OHINDOLFNMP(this.EMBDLMOJALI);
CPNMFOKDBKM cpnmfokdbkm = new CPNMFOKDBKM(dedabhkcibg, ohindolfnmp2, 10);
ILINODKFHEO ilinodkfheo2 = component.AddConfigurableSetting(cpnmfokdbkm);
OMKPHDBNLKH<CreationObjectSettingBooleanUIControl, bool>.DEDABHKCIBG dedabhkcibg2;
if (ParticleEmitter.<>c.<>9__43_4 == 0)
{
dedabhkcibg2 = (MakerPenPaletteConfigScreen editableUIFlow) => editableUIFlow.DefaultBoolUIControlPrefab;
ParticleEmitter.<>c.<>9__43_4 = dedabhkcibg2;
}
OMKPHDBNLKH<CreationObjectSettingBooleanUIControl, bool>.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<int> daolmncaghm = this.DAOLMNCAGHM;
}
SynchronizedField<int> 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<int> 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<bool> 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<bool> 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<int> daolmncaghm = this.DAOLMNCAGHM;
}
SynchronizedField<int> 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.<OAIDPPDMCPA>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.<OAIDPPDMCPA>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<ISchedule> JAEHLGBANHN()
{
/*
An exception occurred when decompiling this method (06013BEE)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IEnumerator`1<RecRoom.Core.ISchedule> 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<PooledParticle>(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<InputSlot, int> updates)
{
ControlPanelCircuitObject controlPanelCircuitObject = this.controlPanelCircuitObject;
int num = 0;
if (!(controlPanelCircuitObject != num))
{
if (updates.ContainsKey((uint)3))
{
int num2 = updates[(uint)3];
SynchronizedField<bool> felnbmicnmf = this.FELNBMICNMF;
if (this.FELNBMICNMF.Get() != 0)
{
this.IENGBFKMMCC();
}
}
if (updates.ContainsKey((uint)4))
{
int num3 = updates[(uint)4];
SynchronizedField<int> daolmncaghm = this.DAOLMNCAGHM;
this.ONNAGNGLJAG();
}
if (updates.ContainsKey((uint)5))
{
int num3 = updates[(uint)5];
SynchronizedField<float> khlhcbpjklm = this.KHLHCBPJKLM;
}
if (updates.ContainsKey((uint)6))
{
int num4 = updates[(uint)6];
SynchronizedField<float> 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<bool> chgnnmefdch = this.CHGNNMEFDCH;
SynchronizedField<bool> 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<None> 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<None> 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<None> 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<None> 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<None> 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<None> 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<CircuitSignal> 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<string, FLCFOLDCOJJ> 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<int> func = new Func(this.EPIEHKHMOEN);
Action<int> 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<bool> func = new Func(this.MMJFLHPPOLG);
Action<bool> 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<bool> func = new Func(this.DDCCAOGLJAF);
Action<bool> 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<string, FLCFOLDCOJJ> 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<int> KGBGCHLGHIK;
// Token: 0x0400D530 RID: 54576
[global::Cpp2IlInjected.FieldOffset(Offset = "0x88")]
[Token(Token = "0x400D530")]
private SynchronizedField<bool> FELNBMICNMF;
// Token: 0x0400D531 RID: 54577
[global::Cpp2IlInjected.FieldOffset(Offset = "0x90")]
[Token(Token = "0x400D531")]
private SynchronizedField<int> DAOLMNCAGHM;
// Token: 0x0400D532 RID: 54578
[global::Cpp2IlInjected.FieldOffset(Offset = "0x98")]
[Token(Token = "0x400D532")]
private SynchronizedField<float> KHLHCBPJKLM;
// Token: 0x0400D533 RID: 54579
[global::Cpp2IlInjected.FieldOffset(Offset = "0xA0")]
[Token(Token = "0x400D533")]
private SynchronizedField<float> MDPNJMAOHEM;
// Token: 0x0400D534 RID: 54580
[global::Cpp2IlInjected.FieldOffset(Offset = "0xA8")]
[Token(Token = "0x400D534")]
private SynchronizedField<bool> CHGNNMEFDCH;
// Token: 0x0400D535 RID: 54581
[global::Cpp2IlInjected.FieldOffset(Offset = "0xB0")]
[Token(Token = "0x400D535")]
private SynchronizedField<bool> GEFMIBPBAFN;
}
}