using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using Cpp2IlInjected; using RecRoom.Circuits; using UnityEngine; namespace RecRoom.Core.Creation.Circuits { // Token: 0x02003211 RID: 12817 [Token(Token = "0x2003211")] public abstract class CircuitConnectionPoint : CircuitConnectionPointBase { // Token: 0x17003CBB RID: 15547 // (get) Token: 0x06015FD1 RID: 90065 RVA: 0x00520BA4 File Offset: 0x0051EDA4 [Token(Token = "0x17003CBB")] public override InputSlot? MNIEHHMNFFE { [Token(Token = "0x6015FD1")] [Address(RVA = "0x43E630", Offset = "0x43D430", VA = "0x18043E630", Slot = "22")] get { } } // Token: 0x17003CBC RID: 15548 // (get) Token: 0x06015FD2 RID: 90066 RVA: 0x00520BB4 File Offset: 0x0051EDB4 [Token(Token = "0x17003CBC")] public override OutputSlot? MDMBMHINCLJ { [Token(Token = "0x6015FD2")] [Address(RVA = "0x43E630", Offset = "0x43D430", VA = "0x18043E630", Slot = "23")] get { } } // Token: 0x17003CBD RID: 15549 // (get) Token: 0x06015FD3 RID: 90067 RVA: 0x00520BC4 File Offset: 0x0051EDC4 [Token(Token = "0x17003CBD")] public override Tool PBBJCLJPFMI { [Token(Token = "0x6015FD3")] [Address(RVA = "0xED7AF0", Offset = "0xED68F0", VA = "0x180ED7AF0", Slot = "8")] get { CircuitNodeDisplay nodeDisplay; do { nodeDisplay = this.NodeDisplay; } while (nodeDisplay == 0); return nodeDisplay.Tool; } } // Token: 0x140001F3 RID: 499 // (add) Token: 0x06015FD4 RID: 90068 RVA: 0x00520BE4 File Offset: 0x0051EDE4 // (remove) Token: 0x06015FD5 RID: 90069 RVA: 0x00520C0C File Offset: 0x0051EE0C [Token(Token = "0x140001F3")] public event CircuitConnectionPoint.COGKPLDHHCB LOPDLFLHHFE { [Token(Token = "0x6015FD4")] [Address(RVA = "0xED7920", Offset = "0xED6720", VA = "0x180ED7920")] [CompilerGenerated] add { CircuitConnectionPoint.COGKPLDHHCB lopdlflhhfe; Delegate @delegate; do { lopdlflhhfe = this.LOPDLFLHHFE; @delegate = Delegate.Combine(lopdlflhhfe, value); } while (@delegate != 0 && @delegate == 0); while (@delegate != lopdlflhhfe) { } } [Token(Token = "0x6015FD5")] [Address(RVA = "0xED7B10", Offset = "0xED6910", VA = "0x180ED7B10")] [CompilerGenerated] remove { CircuitConnectionPoint.COGKPLDHHCB lopdlflhhfe; Delegate @delegate; do { lopdlflhhfe = this.LOPDLFLHHFE; @delegate = Delegate.Remove(lopdlflhhfe, value); } while (@delegate != 0 && @delegate == 0); while (@delegate != lopdlflhhfe) { } } } // Token: 0x17003CBE RID: 15550 // (get) Token: 0x06015FD6 RID: 90070 RVA: 0x00520C34 File Offset: 0x0051EE34 [Token(Token = "0x17003CBE")] public override Color BLLLCAAJBHC { [Token(Token = "0x6015FD6")] [Address(RVA = "0xED79C0", Offset = "0xED67C0", VA = "0x180ED79C0", Slot = "20")] get { } } // Token: 0x17003CBF RID: 15551 // (get) Token: 0x06015FD7 RID: 90071 RVA: 0x00520C44 File Offset: 0x0051EE44 [Token(Token = "0x17003CBF")] public override bool CJIMJENNIPE { [Token(Token = "0x6015FD7")] [Address(RVA = "0x460D40", Offset = "0x45FB40", VA = "0x180460D40", Slot = "21")] get { return true; } } // Token: 0x17003CC0 RID: 15552 // (get) Token: 0x06015FD8 RID: 90072 RVA: 0x00520C54 File Offset: 0x0051EE54 // (set) Token: 0x06015FD9 RID: 90073 RVA: 0x00520C68 File Offset: 0x0051EE68 [Token(Token = "0x17003CC0")] public bool AELHMFPDAGB { [Token(Token = "0x6015FD8")] [Address(RVA = "0x536440", Offset = "0x535240", VA = "0x180536440")] get; [Token(Token = "0x6015FD9")] [Address(RVA = "0x536B70", Offset = "0x535970", VA = "0x180536B70")] set; } // Token: 0x17003CC1 RID: 15553 // (get) Token: 0x06015FDA RID: 90074 RVA: 0x00520C7C File Offset: 0x0051EE7C // (set) Token: 0x06015FDB RID: 90075 RVA: 0x00520C90 File Offset: 0x0051EE90 [Token(Token = "0x17003CC1")] public float EPGIIPKANCN { [Token(Token = "0x6015FDA")] [Address(RVA = "0xED7AE0", Offset = "0xED68E0", VA = "0x180ED7AE0")] get; [Token(Token = "0x6015FDB")] [Address(RVA = "0xED7BB0", Offset = "0xED69B0", VA = "0x180ED7BB0")] set; } // Token: 0x06015FDC RID: 90076 RVA: 0x00520CA4 File Offset: 0x0051EEA4 [Token(Token = "0x6015FDC")] [Address(RVA = "0xED74A0", Offset = "0xED62A0", VA = "0x180ED74A0")] public void UpdateColor() { MeshRenderer[] componentsInChildren = base.GetComponentsInChildren(); int num = 0; int length = componentsInChildren.Length; if (num < length) { MeshRenderer meshRenderer = componentsInChildren[num]; this.UpdateRendererColor(meshRenderer, true); num++; } } // Token: 0x06015FDD RID: 90077 RVA: 0x00520CE0 File Offset: 0x0051EEE0 [Token(Token = "0x6015FDD")] [Address(RVA = "0xED7540", Offset = "0xED6340", VA = "0x180ED7540")] public void UpdateRendererColor(Renderer CHEJPOIMMCK, bool FLGHMHFNFMO = true) { Color red = Color.red; if (!this.CJIMJENNIPE) { if (this.MyInputSlot == 0) { goto IL_29; } InputSlot? myInputSlot = this.MyInputSlot; } bool isCircuitPoint = this.CJIMJENNIPE; IL_29: if (this.POJKKILEGBC == (ulong)0L) { MaterialPropertyBlock materialPropertyBlock = new MaterialPropertyBlock(); this.POJKKILEGBC = materialPropertyBlock; } if (FLGHMHFNFMO) { Material sharedMaterial = CHEJPOIMMCK.GetSharedMaterial(); int cchofpafeho = PAMNDKEGFFG.CCHOFPAFEHO; if (sharedMaterial.HasProperty(cchofpafeho)) { Material sharedMaterial2 = CHEJPOIMMCK.GetSharedMaterial(); } } MaterialPropertyBlock pojkkilegbc = this.POJKKILEGBC; CHEJPOIMMCK.Internal_GetPropertyBlock(pojkkilegbc); MaterialPropertyBlock pojkkilegbc2 = this.POJKKILEGBC; MaterialPropertyBlock pojkkilegbc3 = this.POJKKILEGBC; CHEJPOIMMCK.Internal_SetPropertyBlock(pojkkilegbc3); } // Token: 0x06015FDE RID: 90078 RVA: 0x00520D88 File Offset: 0x0051EF88 [Token(Token = "0x6015FDE")] [Address(RVA = "0xED6B70", Offset = "0xED5970", VA = "0x180ED6B70", Slot = "14")] public override void ConnectionStart(ConnectionCreationContext LHOMKMINCHH, [Optional] ConnectionPoint.PGHEPJALOOK CEAGPJIOMJP) { int num = 0; base.ConnectionStart(LHOMKMINCHH, CEAGPJIOMJP); bool blocked = this.OODOADMDPCK; bool flag; if (!flag && this.CJIMJENNIPE) { Dictionary inputs = this.Node.Inputs; bool isCircuitPoint = this.CJIMJENNIPE; bool flag2; if (!flag2) { List groupInterfaceConnections = this.GroupInterfaceConnections; CircuitConnectionPoint.COGKPLDHHCB lopdlflhhfe = this.LOPDLFLHHFE; if (lopdlflhhfe == 0) { goto IL_B4; } lopdlflhhfe(this); } if (num.ToString() != 0) { } CircuitNodeDisplay circuitNodeDisplay = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG.VisualFor(num); if (!circuitNodeDisplay.Tool.LBPNBENCCHK) { CircuitManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG; CircuitNode node = this.Node; bool isCircuitPoint2 = this.CJIMJENNIPE; CircuitConnectionPoint.COGKPLDHHCB lopdlflhhfe2 = this.LOPDLFLHHFE; if (lopdlflhhfe2 != 0) { lopdlflhhfe2(this); } Dictionary outputSlotDisplays = circuitNodeDisplay.OutputSlotDisplays; } } IL_B4: if (CEAGPJIOMJP != 0) { int num2 = 0; CEAGPJIOMJP((GBDECALBCOP)((uint)3), num2); } } // Token: 0x06015FDF RID: 90079 RVA: 0x00520E60 File Offset: 0x0051F060 [Token(Token = "0x6015FDF")] [Address(RVA = "0xED64D0", Offset = "0xED52D0", VA = "0x180ED64D0", Slot = "15")] public override void ConnectionEnd(ConnectionCreationContext LHOMKMINCHH, ConnectionPoint HDPMJFANOPG, ConnectionPoint GFMAOEPEFKD, [Optional] ConnectionPoint.PGHEPJALOOK CEAGPJIOMJP) { CircuitConnectionPoint component2; for (;;) { int num = 0; int num2 = 0; if (HDPMJFANOPG != num2) { CircuitConnectionPoint component = HDPMJFANOPG.GetComponent(); } int num3 = 0; if (GFMAOEPEFKD != num3) { component2 = GFMAOEPEFKD.GetComponent(); } if (num != this) { return; } int num4 = 0; if (!(num != num4)) { return; } int num5 = 0; if (!(component2 != num5) || !(HDPMJFANOPG != GFMAOEPEFKD)) { return; } bool flag; if (flag || component2.NodeDisplay.Tool.LBPNBENCCHK) { goto IL_144; } object obj; if (obj != 0 && component2.CJIMJENNIPE) { bool isCircuitPoint = component2.CJIMJENNIPE; bool flag2; if (flag2) { break; } CircuitManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG; CircuitNode node = component2.Node; bool isCircuitPoint2 = component2.CJIMJENNIPE; } string text; while (text == 0) { } if (component2.MyInputSlot != 0) { CircuitNode node2 = component2.Node; InputSlot? myInputSlot = component2.MyInputSlot; bool flag3; if (!flag3) { goto IL_12B; } CircuitManager instance2 = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG; if (this.LOPDLFLHHFE != 0) { goto IL_12B; } } } CircuitManager instance3 = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG; CircuitNode node3 = component2.Node; bool isCircuitPoint3 = component2.CJIMJENNIPE; CircuitConnectionPoint.COGKPLDHHCB lopdlflhhfe = this.LOPDLFLHHFE; if (lopdlflhhfe != 0) { lopdlflhhfe(component2); } return; IL_12B: CircuitManager instance4 = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG; CircuitNode node4 = component2.Node; InputSlot? myInputSlot2 = component2.MyInputSlot; IL_144: throw new NullReferenceException(); } // Token: 0x06015FE0 RID: 90080 RVA: 0x00520FB8 File Offset: 0x0051F1B8 [Token(Token = "0x6015FE0")] [Address(RVA = "0xED73E0", Offset = "0xED61E0", VA = "0x180ED73E0")] private static bool MEJACKPPPAM(CircuitNode LAEAGPKCAIH, OutputSlot OIPIEKDLDMJ, CircuitNode DFKHHCOHANN, InputSlot DECEAGNPDJL) { Dictionary inputs = DFKHHCOHANN.Inputs; bool flag; if (flag) { int k__BackingField = LAEAGPKCAIH.k__BackingField; return true; } throw new NullReferenceException(); } // Token: 0x06015FE1 RID: 90081 RVA: 0x00520FE4 File Offset: 0x0051F1E4 [Token(Token = "0x6015FE1")] [Address(RVA = "0xED7300", Offset = "0xED6100", VA = "0x180ED7300", Slot = "25")] public override bool IsInputConnected() { if (this.CJIMJENNIPE) { CircuitNode node = this.Node; if (node != 0) { List groupInterfaceConnections = this.GroupInterfaceConnections; return true; } } throw new NullReferenceException(); } // Token: 0x06015FE2 RID: 90082 RVA: 0x0052102C File Offset: 0x0051F22C [Token(Token = "0x6015FE2")] [Address(RVA = "0xED70F0", Offset = "0xED5EF0", VA = "0x180ED70F0", Slot = "24")] public override bool GetInputConnection(out CircuitConnectionPointBase OADEJGCDPCD) { int num = 0; if (this.Node != num && this.CJIMJENNIPE) { int size = this.GroupInterfaceConnections._size; Dictionary inputs = this.Node.Inputs; bool isCircuitPoint = this.CJIMJENNIPE; bool flag; if (flag && num != 0) { if (num.ToString() == 0) { CircuitManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG; } CircuitOutputConnectionPoint circuitOutputConnectionPoint = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG.VisualFor(num).OutputSlotDisplays[num]; return true; } } throw new NullReferenceException(); } // Token: 0x06015FE3 RID: 90083 RVA: 0x005210B8 File Offset: 0x0051F2B8 [Token(Token = "0x6015FE3")] [Address(RVA = "0xED6EC0", Offset = "0xED5CC0", VA = "0x180ED6EC0", Slot = "26")] public override string GetDescription() { int num = 0; if (this.Node != num) { if (!this.CJIMJENNIPE) { if (this.MyInputSlot == 0) { goto IL_75; } CircuitNode node = this.Node; NodeMetadata k__BackingField = node.k__BackingField; int length = node.k__BackingField.OutputMetadata.Length; if (num >= length) { goto IL_75; } num += 2; num += num; InputSlot? myInputSlot = this.MyInputSlot; num++; } CircuitNode node2 = this.Node; if (num < node2) { num += 2; num += num; bool isCircuitPoint = this.CJIMJENNIPE; num++; } IL_75: return string.Empty; } return string.Empty; } // Token: 0x06015FE4 RID: 90084 RVA: 0x0052114C File Offset: 0x0051F34C [Token(Token = "0x6015FE4")] [Address(RVA = "0xED78B0", Offset = "0xED66B0", VA = "0x180ED78B0")] protected CircuitConnectionPoint() { List list = new List(); this.GroupInterfaceConnections = list; this.AELHMFPDAGB = true; this.EPGIIPKANCN = 1f; base..ctor(); } // Token: 0x0400E705 RID: 59141 [global::Cpp2IlInjected.FieldOffset(Offset = "0x60")] [Token(Token = "0x400E705")] [OCIDFHDICIP(JIBDPHMGEGO.SelfAndParent, false, false, false)] public CircuitNodeDisplay NodeDisplay; // Token: 0x0400E706 RID: 59142 [global::Cpp2IlInjected.FieldOffset(Offset = "0x68")] [Token(Token = "0x400E706")] public CircuitNode Node; // Token: 0x0400E707 RID: 59143 [global::Cpp2IlInjected.FieldOffset(Offset = "0x70")] [Token(Token = "0x400E707")] public List GroupInterfaceConnections; // Token: 0x0400E70B RID: 59147 [global::Cpp2IlInjected.FieldOffset(Offset = "0x88")] [Token(Token = "0x400E70B")] private MaterialPropertyBlock POJKKILEGBC; // Token: 0x02003212 RID: 12818 [Token(Token = "0x2003212")] public sealed class COGKPLDHHCB : MulticastDelegate { // Token: 0x06015FE5 RID: 90085 RVA: 0x00521180 File Offset: 0x0051F380 [Token(Token = "0x6015FE5")] [Address(RVA = "0x448ED0", Offset = "0x447CD0", VA = "0x180448ED0")] public COGKPLDHHCB(object FEDFKKMABOG, IntPtr APAICGIHAGJ) { this.method = APAICGIHAGJ; this.m_target = FEDFKKMABOG; } // Token: 0x06015FE6 RID: 90086 RVA: 0x0052119C File Offset: 0x0051F39C [Token(Token = "0x6015FE6")] [Address(RVA = "0x4D7E10", Offset = "0x4D6C10", VA = "0x1804D7E10", Slot = "13")] public void Invoke(CircuitConnectionPoint BJDBOFJIOBB) { if (this.delegates != 0) { } uint num; if (num != (uint)0) { throw new ExecutionEngineException(); } } // Token: 0x06015FE7 RID: 90087 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6015FE7")] [Address(RVA = "0x457150", Offset = "0x455F50", VA = "0x180457150", Slot = "14")] public IAsyncResult BeginInvoke(CircuitConnectionPoint BJDBOFJIOBB, AsyncCallback AFLPGGJMPOE, object FEDFKKMABOG) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06015FE8 RID: 90088 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6015FE8")] [Address(RVA = "0x448B70", Offset = "0x447970", VA = "0x180448B70", Slot = "15")] public void EndInvoke(IAsyncResult GIAOBLMEMMI) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } } } }