using System; using System.Collections.Generic; using System.Linq; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Threading; using System.Threading.Tasks; using Cpp2IlInjected; using Google.Protobuf; using Photon.Pun; using Photon.Realtime; using RecRoom.Circuits; using RecRoom.Circuits.Protobuf; using RecRoom.Circuits.Utils; using RecRoom.Core.Creation.Circuits; using RecRoom.Networking.RPC; using UnityEngine; namespace RecRoom { // Token: 0x02001C7D RID: 7293 [Token(Token = "0x2001C7D")] [StructLayout(3)] public class CircuitManager : NetworkedSingletonMonoBehaviour { // Token: 0x140000D3 RID: 211 // (add) Token: 0x0600C381 RID: 50049 RVA: 0x002E1FB0 File Offset: 0x002E01B0 // (remove) Token: 0x0600C382 RID: 50050 RVA: 0x002E1FD8 File Offset: 0x002E01D8 [Token(Token = "0x140000D3")] public event Action JCEAGHCOPHB { [Token(Token = "0x600C381")] [Address(RVA = "0x1736160", Offset = "0x1734B60", VA = "0x181736160")] [CompilerGenerated] add { Action jceaghcophb; Delegate @delegate; do { jceaghcophb = this.JCEAGHCOPHB; @delegate = Delegate.Combine(jceaghcophb, value); } while (@delegate != 0 && @delegate == 0); while (@delegate != jceaghcophb) { } } [Token(Token = "0x600C382")] [Address(RVA = "0x1736200", Offset = "0x1734C00", VA = "0x181736200")] [CompilerGenerated] remove { Action jceaghcophb; Delegate @delegate; do { jceaghcophb = this.JCEAGHCOPHB; @delegate = Delegate.Remove(jceaghcophb, value); } while (@delegate != 0 && @delegate == 0); while (@delegate != jceaghcophb) { } } } // Token: 0x17001E94 RID: 7828 // (get) Token: 0x0600C383 RID: 50051 RVA: 0x002E2000 File Offset: 0x002E0200 [Token(Token = "0x17001E94")] public CircuitLinkVisual MJCELMKHIPM { [Token(Token = "0x600C383")] [Address(RVA = "0x3EDEA0", Offset = "0x3EC8A0", VA = "0x1803EDEA0")] get { return this.circuitLinkVisualPrefab; } } // Token: 0x17001E95 RID: 7829 // (get) Token: 0x0600C384 RID: 50052 RVA: 0x002E2014 File Offset: 0x002E0214 [Token(Token = "0x17001E95")] public bool COCCKGLCBGO { [Token(Token = "0x600C384")] [Address(RVA = "0x566D80", Offset = "0x565780", VA = "0x180566D80")] get { return this.CIIMFCIPPHN; } } // Token: 0x0600C385 RID: 50053 RVA: 0x002E2028 File Offset: 0x002E0228 [Token(Token = "0x600C385")] [Address(RVA = "0x1731060", Offset = "0x172FA60", VA = "0x181731060", Slot = "13")] protected override void Awake() { Delegate delegate4; for (;;) { base.Awake(); ActionEvent onPhotonPlayerConnected = PhotonNetwork.OnPhotonPlayerConnected; Action action = new Action(this.OnPhotonPlayerConnected); PhotonNetwork.OnPhotonPlayerConnected = onPhotonPlayerConnected + action; ActionEvent onMasterClientSwitched = PhotonNetwork.OnMasterClientSwitched; Action action2 = new Action(this.OnMasterClientSwitched); PhotonNetwork.OnMasterClientSwitched = onMasterClientSwitched + action2; CircuitNode.NodeConnectionChanged onNodesConnectedEvent = CircuitNode.OnNodesConnectedEvent; CircuitNode.NodeConnectionChanged nodeConnectionChanged = new CircuitNode.NodeConnectionChanged(this.ICHIECOABAI); Delegate @delegate = Delegate.Combine(onNodesConnectedEvent, nodeConnectionChanged); int num = 0; if (@delegate == 0 || @delegate != 0) { CircuitNode.OnNodesConnectedEvent = num; CircuitNode.NodeConnectionChanged onNodesDisconnectedEvent = CircuitNode.OnNodesDisconnectedEvent; CircuitNode.NodeConnectionChanged nodeConnectionChanged2 = new CircuitNode.NodeConnectionChanged(this.AIBKMLHMPGE); Delegate delegate2 = Delegate.Combine(onNodesDisconnectedEvent, nodeConnectionChanged2); if (delegate2 == 0 || delegate2 != 0) { CircuitNode.OnNodesDisconnectedEvent = delegate2; CircuitNode.NodeLifecycleEvent onNodeInstantiatedEvent = CircuitNode.OnNodeInstantiatedEvent; CircuitNode.NodeLifecycleEvent nodeLifecycleEvent = new CircuitNode.NodeLifecycleEvent(this.OEIGNGEAMMB); Delegate delegate3 = Delegate.Combine(onNodeInstantiatedEvent, nodeLifecycleEvent); if (delegate3 == 0 || delegate3 != 0) { CircuitNode.OnNodeInstantiatedEvent = delegate3; CircuitNode.NodeLifecycleEvent onNodeDestroyedEvent = CircuitNode.OnNodeDestroyedEvent; CircuitNode.NodeLifecycleEvent nodeLifecycleEvent2 = new CircuitNode.NodeLifecycleEvent(this.NAOALJJNBIP); delegate4 = Delegate.Combine(onNodeDestroyedEvent, nodeLifecycleEvent2); if (delegate4 == 0 || delegate4 != 0) { break; } } } } } CircuitNode.OnNodeDestroyedEvent = delegate4; CircuitDebug.OnLogEvent += this.GDGBOJODKIH; CircuitDebug.OnLogExceptionEvent += this.FPJNLLAOCDH; if (!string.IsNullOrEmpty(this.sceneNodeGraphs)) { string text = this.sceneNodeGraphs; MessageParser parser = CircuitNodeGraphCollectionData._parser; ByteString byteString = ByteString.FromBase64(text); CircuitNodeGraphCollectionData circuitNodeGraphCollectionData = parser.ParseFrom(byteString); } CircuitNodeGraphCollectionData circuitNodeGraphCollectionData2 = new CircuitNodeGraphCollectionData(); MLDJDPHKGBO.BCGOBNMHOML bcgobnmhoml = new MLDJDPHKGBO.BCGOBNMHOML(); JAPOCJCDIJN.PLNPFMNHAFG plnpfmnhafg = new JAPOCJCDIJN.PLNPFMNHAFG(this.HCEJFKGCJEI); MLDJDPHKGBO.BCGOBNMHOML bcgobnmhoml2 = bcgobnmhoml.BAPEJOFOPCL(MJAPEGGDLJA.PRE_INSTANTIATE_OBJECTS, plnpfmnhafg); JAPOCJCDIJN.PLNPFMNHAFG plnpfmnhafg2 = new JAPOCJCDIJN.PLNPFMNHAFG(this.EJGELFJACEC); MLDJDPHKGBO.BCGOBNMHOML bcgobnmhoml3 = bcgobnmhoml.BAPEJOFOPCL((MJAPEGGDLJA)((uint)1024), plnpfmnhafg2); Action action3 = new Action(this.FDLDIDDNGGI); MLDJDPHKGBO.BCGOBNMHOML bcgobnmhoml4 = bcgobnmhoml.OALOBMKPPKL(action3); IDisposable disposable = MLDJDPHKGBO.ENNCEBJFFMB(this, bcgobnmhoml); this.KOPFBBKDNBA = disposable; bool isMasterClient = PhotonNetwork.IsMasterClient; this.PPECNBFCKAI = isMasterClient; } // Token: 0x0600C386 RID: 50054 RVA: 0x002E2224 File Offset: 0x002E0424 [Token(Token = "0x600C386")] [Address(RVA = "0x1734160", Offset = "0x1732B60", VA = "0x181734160", Slot = "14")] protected override void OnDestroy() { Delegate delegate4; for (;;) { base.OnDestroy(); if (this.KOPFBBKDNBA != 0) { } ActionEvent onPhotonPlayerConnected = PhotonNetwork.OnPhotonPlayerConnected; Action action = new Action(this.OnPhotonPlayerConnected); PhotonNetwork.OnPhotonPlayerConnected = onPhotonPlayerConnected - action; ActionEvent onMasterClientSwitched = PhotonNetwork.OnMasterClientSwitched; Action action2 = new Action(this.OnMasterClientSwitched); PhotonNetwork.OnMasterClientSwitched = onMasterClientSwitched - action2; CircuitNode.NodeConnectionChanged onNodesConnectedEvent = CircuitNode.OnNodesConnectedEvent; CircuitNode.NodeConnectionChanged nodeConnectionChanged = new CircuitNode.NodeConnectionChanged(this.ICHIECOABAI); Delegate @delegate = Delegate.Remove(onNodesConnectedEvent, nodeConnectionChanged); if (@delegate == 0 || @delegate != 0) { CircuitNode.OnNodesConnectedEvent = @delegate; CircuitNode.NodeConnectionChanged onNodesDisconnectedEvent = CircuitNode.OnNodesDisconnectedEvent; CircuitNode.NodeConnectionChanged nodeConnectionChanged2 = new CircuitNode.NodeConnectionChanged(this.AIBKMLHMPGE); Delegate delegate2 = Delegate.Remove(onNodesDisconnectedEvent, nodeConnectionChanged2); if (delegate2 == 0 || delegate2 != 0) { CircuitNode.OnNodesDisconnectedEvent = delegate2; CircuitNode.NodeLifecycleEvent onNodeInstantiatedEvent = CircuitNode.OnNodeInstantiatedEvent; CircuitNode.NodeLifecycleEvent nodeLifecycleEvent = new CircuitNode.NodeLifecycleEvent(this.OEIGNGEAMMB); Delegate delegate3 = Delegate.Remove(onNodeInstantiatedEvent, nodeLifecycleEvent); if (delegate3 == 0 || delegate3 != 0) { CircuitNode.OnNodeInstantiatedEvent = delegate3; CircuitNode.NodeLifecycleEvent onNodeDestroyedEvent = CircuitNode.OnNodeDestroyedEvent; CircuitNode.NodeLifecycleEvent nodeLifecycleEvent2 = new CircuitNode.NodeLifecycleEvent(this.NAOALJJNBIP); delegate4 = Delegate.Remove(onNodeDestroyedEvent, nodeLifecycleEvent2); if (delegate4 == 0 || delegate4 != 0) { break; } } } } } CircuitNode.OnNodeDestroyedEvent = delegate4; CircuitDebug.OnLogEvent -= this.GDGBOJODKIH; CircuitDebug.OnLogExceptionEvent -= this.FPJNLLAOCDH; CircuitNodeGraph.DestroyAll(); } // Token: 0x0600C387 RID: 50055 RVA: 0x002E2378 File Offset: 0x002E0578 [Token(Token = "0x600C387")] [Address(RVA = "0x1732070", Offset = "0x1730A70", VA = "0x181732070")] private MLDJDPHKGBO.BCGOBNMHOML GOECFFJNKIN() { MLDJDPHKGBO.BCGOBNMHOML bcgobnmhoml = new MLDJDPHKGBO.BCGOBNMHOML(); JAPOCJCDIJN.PLNPFMNHAFG plnpfmnhafg = new JAPOCJCDIJN.PLNPFMNHAFG(this.HCEJFKGCJEI); MLDJDPHKGBO.BCGOBNMHOML bcgobnmhoml2 = bcgobnmhoml.BAPEJOFOPCL(MJAPEGGDLJA.PRE_INSTANTIATE_OBJECTS, plnpfmnhafg); JAPOCJCDIJN.PLNPFMNHAFG plnpfmnhafg2 = new JAPOCJCDIJN.PLNPFMNHAFG(this.EJGELFJACEC); MLDJDPHKGBO.BCGOBNMHOML bcgobnmhoml3 = bcgobnmhoml.BAPEJOFOPCL((MJAPEGGDLJA)((uint)1024), plnpfmnhafg2); Action action = new Action(this.FDLDIDDNGGI); MLDJDPHKGBO.BCGOBNMHOML bcgobnmhoml4 = bcgobnmhoml.OALOBMKPPKL(action); return bcgobnmhoml; } // Token: 0x0600C388 RID: 50056 RVA: 0x002E23E0 File Offset: 0x002E05E0 [Token(Token = "0x600C388")] [Address(RVA = "0x1732180", Offset = "0x1730B80", VA = "0x181732180")] private Task HCEJFKGCJEI(MJAPEGGDLJA MFPEMJDIIFA, COINPCHOMPP NIPIIJAKGPJ, DBFIJENOPDA NDGHFBJEFPI, CancellationToken ABPMJNFACCG) { if (!this.CIIMFCIPPHN) { this.ONJHOMLMJIN = false; } this.CIIMFCIPPHN = true; return Task.CompletedTask; } // Token: 0x0600C389 RID: 50057 RVA: 0x002E240C File Offset: 0x002E060C [Token(Token = "0x600C389")] [Address(RVA = "0x1731EA0", Offset = "0x17308A0", VA = "0x181731EA0")] private Task EJGELFJACEC(MJAPEGGDLJA MFPEMJDIIFA, COINPCHOMPP HNPBHLIOFNC, DBFIJENOPDA ABADFLCBFIJ, CancellationToken NDAAKGFBPKE) { this.CIFEAJMAHKI(); return Task.CompletedTask; } // Token: 0x0600C38A RID: 50058 RVA: 0x002E2428 File Offset: 0x002E0628 [Token(Token = "0x600C38A")] [Address(RVA = "0x17317E0", Offset = "0x17301E0", VA = "0x1817317E0")] private void CIFEAJMAHKI() { bool ciimfcipphn = this.CIIMFCIPPHN; this.CIIMFCIPPHN = false; if (ciimfcipphn && this.ONJHOMLMJIN) { Debug.Log("Detected dirty circuits while networking was paused. Reinitializing..."); this.EAOOKKOAAOA(); } this.JEDKLLALJNC = true; } // Token: 0x0600C38B RID: 50059 RVA: 0x002E2468 File Offset: 0x002E0668 [Token(Token = "0x600C38B")] [Address(RVA = "0x1735F10", Offset = "0x1734910", VA = "0x181735F10")] private void Update() { if (this.JEDKLLALJNC) { this.HFCBKGMPDJF(); if (Time.time > -0.01f) { float jkoehdnhmhg = this.JKOEHDNHMHG; this.GPDGCLIOACB = jkoehdnhmhg; this.JKOEHDNHMHG = jkoehdnhmhg; this.GCLEJFPGJMA = jkoehdnhmhg; this.IIAFCELJPGM(); ulong num; this.DJBNFHDOJPA = num; } } } // Token: 0x0600C38C RID: 50060 RVA: 0x002E24BC File Offset: 0x002E06BC [Token(Token = "0x600C38C")] [Address(RVA = "0x1733100", Offset = "0x1731B00", VA = "0x181733100")] private void IIAFCELJPGM() { ActionEvent preEvaluateEvent = CircuitManager.PreEvaluateEvent; int num = 0; preEvaluateEvent.Invoke(num != 0); int serverTimestamp = PhotonNetwork.ServerTimestamp; bool isMasterClient = PhotonNetwork.IsMasterClient; CircuitNodeGraph.Update(serverTimestamp, isMasterClient); if (PhotonNetwork.IsMasterClient && this.IPJPFINCBDA()) { int length = PhotonNetwork.PlayerListOthers.Length; if (length == 0) { byte[] array = new byte[0]; } byte[] array2 = CircuitNodeGraph.SerializeRuntimeState(); this.PJLDOBOIEOP(); if (length != 0) { byte[] array3 = CircuitNodeGraph.SerializePostEvaluateState(); PhotonView photonView = base.photonView; RPCActions.RPCAction rpcaction = new RPCActions.RPCAction(this.RpcUpdateRuntimeState); photonView.RpcOthers(rpcaction, array2, array3); } } } // Token: 0x0600C38D RID: 50061 RVA: 0x002E256C File Offset: 0x002E076C [Token(Token = "0x600C38D")] [Address(RVA = "0x17321E0", Offset = "0x1730BE0", VA = "0x1817321E0")] private void HFCBKGMPDJF() { for (;;) { int num = 0; if (!CircuitVisibilityBehaviour.AHLIKHKCFLF) { break; } Dictionary gimobfffgpb = this.GIMOBFFFGPB; Dictionary.Enumerator enumerator; if (enumerator != 0) { int num2 = 0; CircuitNodeDisplay circuitNodeDisplay; if (!(circuitNodeDisplay == num2)) { int num3 = 0; CircuitNodeDisplay circuitNodeDisplay2; if (!(circuitNodeDisplay2 == num3) && !circuitNodeDisplay.KAGPFEMFNBH) { int num4 = 0; bool flag; if (!circuitNodeDisplay2.KAGPFEMFNBH && !flag && !circuitNodeDisplay2.IsInputVisualSuppressed((InputSlot)num4)) { int num5 = 0; if (!circuitNodeDisplay.OutputSlotDisplays.ContainsKey(num5)) { } Vector3[] dpabcpkahno = this.DPABCPKAHNO; Transform transform = circuitNodeDisplay.OutputSlotDisplays[num5].transform; Vector3 vector; float z = vector.z; dpabcpkahno[1] = z; Dictionary inputSlotDisplays = circuitNodeDisplay2.InputSlotDisplays; bool flag2; if (flag2) { Vector3[] dpabcpkahno2 = this.DPABCPKAHNO; Dictionary inputSlotDisplays2 = circuitNodeDisplay2.InputSlotDisplays; CircuitInputConnectionPoint circuitInputConnectionPoint; Transform transform2 = circuitInputConnectionPoint.transform; Vector3 vector2; float z2 = vector2.z; dpabcpkahno2[2] = z2; ulong num6; if (num6 != (ulong)0L) { Vector3[] dpabcpkahno3 = this.DPABCPKAHNO; int num7 = PhotonNetwork.ServerTimestamp; int num8; num7 -= num8; int num9 = 0; float num11; float num10 = Mathf.Max(num11, (float)num9); Color white = Color.white; Color white2 = Color.white; } } } } } } if (num == -1) { goto IL_163; } HashSet eomahefkijc = this.EOMAHEFKIJC; HashSet.Enumerator enumerator2; bool flag3; if (enumerator2 != 0) { bool flag4; flag3 = !flag4; Vector3 vector3; float z3 = vector3.z; Vector3 vector4; float z4 = vector4.z; goto IL_163; } IL_16B: num++; if (num != -1) { } if (!flag3) { break; } continue; IL_163: if (!flag3) { goto IL_16B; } goto IL_212; } return; IL_212: throw new NullReferenceException(); } // Token: 0x0600C38E RID: 50062 RVA: 0x002E27A4 File Offset: 0x002E09A4 [Token(Token = "0x600C38E")] [Address(RVA = "0x1733DB0", Offset = "0x17327B0", VA = "0x181733DB0")] private void NFIMAIKAMOH(CircuitLinkVisual DKJBEMEFGIO, bool HKDOEHHNGCH, CircuitGroupInterfaceNode.IFEJCGJCOGE FKBDJLMLLMJ, Vector3 DDHPAFKBMON) { int num = 0; bool flag = DKJBEMEFGIO != num; if (flag) { if (!HKDOEHHNGCH || flag || !flag) { DKJBEMEFGIO.circuitVisibilityObject.JDHFIMAMNFF = true; throw new NullReferenceException(); } CircuitVisibilityBehaviour circuitVisibilityObject = DKJBEMEFGIO.circuitVisibilityObject; int num2 = 0; circuitVisibilityObject.JDHFIMAMNFF = num2 != 0; Vector3[] dpabcpkahno = this.DPABCPKAHNO; Vector3[] dpabcpkahno2 = this.DPABCPKAHNO; Vector3[] dpabcpkahno3 = this.DPABCPKAHNO; CircuitOutputConnectionPoint circuitOutputConnectionPoint; Transform transform = circuitOutputConnectionPoint.transform; Vector3[] dpabcpkahno4 = this.DPABCPKAHNO; CircuitInputConnectionPoint circuitInputConnectionPoint; Transform transform2 = circuitInputConnectionPoint.transform; Vector3 vector; float z = vector.z; dpabcpkahno4[2] = z; LineRenderer lineRenderer = DKJBEMEFGIO.lineRenderer; Vector3[] dpabcpkahno5 = this.DPABCPKAHNO; lineRenderer.SetPositions(dpabcpkahno5); } } // Token: 0x0600C38F RID: 50063 RVA: 0x002E2854 File Offset: 0x002E0A54 [Token(Token = "0x600C38F")] [Address(RVA = "0x1733320", Offset = "0x1731D20", VA = "0x181733320")] private bool IPJPFINCBDA() { int num2; do { int num = 0; num2 = 0; List allGraphs = CircuitNodeGraph.AllGraphs; List.Enumerator enumerator; if (enumerator != 0) { } if (num2 != -1) { if (enumerator == (ulong)58L) { } if (num == 56) { break; } } } while (num2 != 0); throw new NullReferenceException(); } // Token: 0x0600C390 RID: 50064 RVA: 0x002E2894 File Offset: 0x002E0A94 [Token(Token = "0x600C390")] [Address(RVA = "0x1734740", Offset = "0x1733140", VA = "0x181734740")] private void PJLDOBOIEOP() { int num; do { num = 0; List allGraphs = CircuitNodeGraph.AllGraphs; List.Enumerator enumerator; if (enumerator != 0) { bool isMasterClient = PhotonNetwork.IsMasterClient; } if (num != -1) { } } while (num != 0); } // Token: 0x0600C391 RID: 50065 RVA: 0x002E28CC File Offset: 0x002E0ACC [Token(Token = "0x600C391")] [Address(RVA = "0x1735CE0", Offset = "0x17346E0", VA = "0x181735CE0")] [PunRPC] protected void RpcUpdateRuntimeState(byte[] MGHCGIJLCDL, byte[] EKFEBKKDLOF, PhotonMessageInfo BNICGLLLMOL) { if (this.PPECNBFCKAI) { CircuitNodeGraph.DeserializeRuntimeState(MGHCGIJLCDL); CircuitNodeGraph.DeserializePostEvaluateState(EKFEBKKDLOF); this.PJLDOBOIEOP(); } } // Token: 0x0600C392 RID: 50066 RVA: 0x002E28FC File Offset: 0x002E0AFC [Token(Token = "0x600C392")] [Address(RVA = "0x17348D0", Offset = "0x17332D0", VA = "0x1817348D0")] public void PauseNetworking() { if (!this.CIIMFCIPPHN) { this.ONJHOMLMJIN = false; return; } this.CIIMFCIPPHN = true; } // Token: 0x0600C393 RID: 50067 RVA: 0x002E2924 File Offset: 0x002E0B24 [Token(Token = "0x600C393")] [Address(RVA = "0x1735E90", Offset = "0x1734890", VA = "0x181735E90")] public void UnpauseNetworking() { bool ciimfcipphn = this.CIIMFCIPPHN; this.CIIMFCIPPHN = false; if (ciimfcipphn && this.ONJHOMLMJIN) { Debug.Log("Detected dirty circuits while networking was paused. Reinitializing..."); this.EAOOKKOAAOA(); return; } } // Token: 0x0600C394 RID: 50068 RVA: 0x002E2960 File Offset: 0x002E0B60 [Token(Token = "0x600C394")] [Address(RVA = "0x1735DA0", Offset = "0x17347A0", VA = "0x181735DA0")] public void SetVisualFor(CircuitNode IKFLAODDALD, CircuitNodeDisplay JNAGKBOCNDL) { if (IKFLAODDALD.ToString() == 0) { Dictionary cemlibclnkl = this.CEMLIBCLNKL; int k__BackingField = IKFLAODDALD.k__BackingField; cemlibclnkl[k__BackingField] = JNAGKBOCNDL; return; } throw new NullReferenceException(); } // Token: 0x0600C395 RID: 50069 RVA: 0x002E29B0 File Offset: 0x002E0BB0 [Token(Token = "0x600C395")] [Address(RVA = "0x1734AE0", Offset = "0x17334E0", VA = "0x181734AE0")] public void RemoveVisualFor(CircuitNode IKFLAODDALD) { if (IKFLAODDALD != 0) { Dictionary cemlibclnkl = this.CEMLIBCLNKL; int k__BackingField = IKFLAODDALD.k__BackingField; bool flag = cemlibclnkl.Remove(k__BackingField); } } // Token: 0x0600C396 RID: 50070 RVA: 0x002E29E0 File Offset: 0x002E0BE0 [Token(Token = "0x600C396")] [Address(RVA = "0x1B5A730", Offset = "0x1B59130", VA = "0x181B5A730")] public T VisualFor(CircuitNode) where T : CircuitNodeDisplay { /* An exception occurred when decompiling this method (0600C396) ICSharpCode.Decompiler.DecompilerException: Error decompiling T RecRoom.CircuitManager::VisualFor(RecRoom.Circuits.CircuitNode) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_37: stloc:InvalidOperationException(var_5_41, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("You should not be asking for a visual for a virtual node!"))) } 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: 0x0600C397 RID: 50071 RVA: 0x002E2A30 File Offset: 0x002E0C30 [Token(Token = "0x600C397")] [Address(RVA = "0x1734EE0", Offset = "0x17338E0", VA = "0x181734EE0")] public void RequestMasterInstantiateNode(Type OHEHDIDHCFP, [Optional] int? KNAFEPGBFJD) { Guid id = CircuitNodeUuidAttribute.GetFromType(OHEHDIDHCFP).Id; this.RequestMasterInstantiateNode(id, KNAFEPGBFJD); } // Token: 0x0600C398 RID: 50072 RVA: 0x002E2A58 File Offset: 0x002E0C58 [Token(Token = "0x600C398")] [Address(RVA = "0x1734DB0", Offset = "0x17337B0", VA = "0x181734DB0")] public void RequestMasterInstantiateNode(CircuitNodeType OHEHDIDHCFP, [Optional] int? KNAFEPGBFJD) { int num = 0; this.RequestMasterInstantiateNode(num, KNAFEPGBFJD); } // Token: 0x0600C399 RID: 50073 RVA: 0x002E2A78 File Offset: 0x002E0C78 [Token(Token = "0x600C399")] [Address(RVA = "0x1734E20", Offset = "0x1733820", VA = "0x181734E20")] public void RequestMasterInstantiateNode(Guid OHEHDIDHCFP, [Optional] int? KNAFEPGBFJD) { PhotonView photonView = base.photonView; RPCActions.RPCAction rpcaction = new RPCActions.RPCAction(this.RpcMasterInstantiateNode); } // Token: 0x0600C39A RID: 50074 RVA: 0x002E2AA0 File Offset: 0x002E0CA0 [Token(Token = "0x600C39A")] [Address(RVA = "0x17357F0", Offset = "0x17341F0", VA = "0x1817357F0")] [PunRPC] private void RpcMasterInstantiateNode(Guid OHEHDIDHCFP, int? KNAFEPGBFJD) { if (PhotonNetwork.IsMasterClient) { int num = CircuitNode.NewNodeId(); Guid guid = Guid.NewGuid(); PhotonView photonView = base.photonView; RPCActions.RPCAction rpcaction = new RPCActions.RPCAction(this.RpcInstantiateNode); } } // Token: 0x0600C39B RID: 50075 RVA: 0x002E2AE4 File Offset: 0x002E0CE4 [Token(Token = "0x600C39B")] [Address(RVA = "0x1735460", Offset = "0x1733E60", VA = "0x181735460")] [PunRPC] private void RpcInstantiateNode(Guid OHEHDIDHCFP, int JNKFPEJCCNP, Guid GICMIHBGKHO, PhotonMessageInfo BNICGLLLMOL) { if (this.PPECNBFCKAI) { this.ONJHOMLMJIN = true; } } // Token: 0x0600C39C RID: 50076 RVA: 0x002E2B08 File Offset: 0x002E0D08 [Token(Token = "0x600C39C")] [Address(RVA = "0x1733900", Offset = "0x1732300", VA = "0x181733900")] public void MasterLocalInstantiateNode(Type OHEHDIDHCFP, [Optional] int? KNAFEPGBFJD) { if (PhotonNetwork.IsMasterClient) { CircuitNodeUuidAttribute fromType = CircuitNodeUuidAttribute.GetFromType(OHEHDIDHCFP); int num = CircuitNode.NewNodeId(); Guid guid = Guid.NewGuid(); if (this.PPECNBFCKAI) { Guid id = fromType.Id; this.ONJHOMLMJIN = true; } } } // Token: 0x0600C39D RID: 50077 RVA: 0x002E2B54 File Offset: 0x002E0D54 [Token(Token = "0x600C39D")] [Address(RVA = "0x1733540", Offset = "0x1731F40", VA = "0x181733540")] private void KAOBJCMFNHC(Guid OHEHDIDHCFP, int JNKFPEJCCNP, Guid GICMIHBGKHO) { if (this.PPECNBFCKAI) { this.ONJHOMLMJIN = true; } } // Token: 0x0600C39E RID: 50078 RVA: 0x002E2B74 File Offset: 0x002E0D74 [Token(Token = "0x600C39E")] [Address(RVA = "0x1734C10", Offset = "0x1733610", VA = "0x181734C10")] public void RequestMasterDestroyNode(int JNKFPEJCCNP) { if (JNKFPEJCCNP == 0) { Debug.LogWarning("Attempting to delete NULL_CIRCUIT_NODE_ID"); return; } PhotonView photonView = base.photonView; RPCActions.RPCAction rpcaction = new RPCActions.RPCAction(this.RpcMasterDestroyNode); photonView.RpcMaster(rpcaction, JNKFPEJCCNP); } // Token: 0x0600C39F RID: 50079 RVA: 0x002E2BB4 File Offset: 0x002E0DB4 [Token(Token = "0x600C39F")] [Address(RVA = "0x1733680", Offset = "0x1732080", VA = "0x181733680")] public void MasterCopyNodeSettings(int JNKFPEJCCNP, CircuitNodeData IEODLAPKDDC) { if (PhotonNetwork.IsMasterClient) { PhotonView photonView = base.photonView; RPCActions.RPCAction rpcaction = new RPCActions.RPCAction(this.CopyNodeSettings); byte[] array = IEODLAPKDDC.ToByteArray(); photonView.RpcAll(rpcaction, JNKFPEJCCNP, array); } } // Token: 0x0600C3A0 RID: 50080 RVA: 0x002E2BF8 File Offset: 0x002E0DF8 [Token(Token = "0x600C3A0")] [Address(RVA = "0x1731C50", Offset = "0x1730650", VA = "0x181731C50")] [PunRPC] private void CopyNodeSettings(int JNKFPEJCCNP, byte[] IAGLEHFMFMB) { CircuitNodeData circuitNodeData = CircuitNodeData._parser.ParseFrom(IAGLEHFMFMB); CircuitNode circuitNode = CircuitNode.Find(JNKFPEJCCNP); if (circuitNode == 0) { Debug.LogWarning("Couldn't copy settings to unknown node"); return; } circuitNode.CopySettings(circuitNodeData); } // Token: 0x0600C3A1 RID: 50081 RVA: 0x002E2C34 File Offset: 0x002E0E34 [Token(Token = "0x600C3A1")] [Address(RVA = "0x1735620", Offset = "0x1734020", VA = "0x181735620")] [PunRPC] private void RpcMasterDestroyNode(int JNKFPEJCCNP) { if (PhotonNetwork.IsMasterClient && this.LIFCBOKJMKE(JNKFPEJCCNP) && !this.CIIMFCIPPHN) { PhotonView photonView = base.photonView; RPCActions.RPCAction rpcaction = new RPCActions.RPCAction(this.RpcDestroyNode); photonView.RpcOthers(rpcaction, JNKFPEJCCNP); } } // Token: 0x0600C3A2 RID: 50082 RVA: 0x002E2C80 File Offset: 0x002E0E80 [Token(Token = "0x600C3A2")] [Address(RVA = "0x17353A0", Offset = "0x1733DA0", VA = "0x1817353A0")] [PunRPC] private void RpcDestroyNode(int JNKFPEJCCNP, PhotonMessageInfo BNICGLLLMOL) { if (this.PPECNBFCKAI) { bool flag = this.LIFCBOKJMKE(JNKFPEJCCNP); } } // Token: 0x0600C3A3 RID: 50083 RVA: 0x002E2CA4 File Offset: 0x002E0EA4 [Token(Token = "0x600C3A3")] [Address(RVA = "0x1733810", Offset = "0x1732210", VA = "0x181733810")] public void MasterLocalDestroyNode(int JNKFPEJCCNP) { if (PhotonNetwork.IsMasterClient) { bool flag = this.LIFCBOKJMKE(JNKFPEJCCNP); } } // Token: 0x0600C3A4 RID: 50084 RVA: 0x002E2CC4 File Offset: 0x002E0EC4 [Token(Token = "0x600C3A4")] [Address(RVA = "0x1733590", Offset = "0x1731F90", VA = "0x181733590")] private bool LIFCBOKJMKE(int JNKFPEJCCNP) { if (!this.PPECNBFCKAI) { return; } CircuitNode circuitNode = CircuitNode.Find(JNKFPEJCCNP); if (circuitNode != 0) { this.ONJHOMLMJIN = true; return true; } Debug.LogError("Attempting to destroy invalid node id: " + circuitNode); } // Token: 0x0600C3A5 RID: 50085 RVA: 0x002E2D00 File Offset: 0x002E0F00 [Token(Token = "0x600C3A5")] [Address(RVA = "0x1734B40", Offset = "0x1733540", VA = "0x181734B40")] public void RequestMasterConnectNodes(int CNFJOAFCFKC, OutputSlot OIPIEKDLDMJ, int IKGNOOIOKLC, InputSlot DECEAGNPDJL) { PhotonView photonView = base.photonView; RPCActions.RPCAction rpcaction = new RPCActions.RPCAction(this.RpcMasterConnectNodes); } // Token: 0x0600C3A6 RID: 50086 RVA: 0x002E2D28 File Offset: 0x002E0F28 [Token(Token = "0x600C3A6")] [Address(RVA = "0x1735500", Offset = "0x1733F00", VA = "0x181735500")] [PunRPC] private void RpcMasterConnectNodes(int CNFJOAFCFKC, OutputSlot OIPIEKDLDMJ, int IKGNOOIOKLC, InputSlot DECEAGNPDJL) { bool flag; if (PhotonNetwork.IsMasterClient && flag) { PhotonView photonView = base.photonView; RPCActions.RPCAction rpcaction = new RPCActions.RPCAction(this.RpcConnectNodes); } } // Token: 0x0600C3A7 RID: 50087 RVA: 0x002E2D60 File Offset: 0x002E0F60 [Token(Token = "0x600C3A7")] [Address(RVA = "0x1735310", Offset = "0x1733D10", VA = "0x181735310")] [PunRPC] private void RpcConnectNodes(int CNFJOAFCFKC, OutputSlot OIPIEKDLDMJ, int IKGNOOIOKLC, InputSlot DECEAGNPDJL, PhotonMessageInfo BNICGLLLMOL) { } // Token: 0x0600C3A8 RID: 50088 RVA: 0x002E2D74 File Offset: 0x002E0F74 [Token(Token = "0x600C3A8")] [Address(RVA = "0x1733770", Offset = "0x1732170", VA = "0x181733770")] public void MasterLocalConnectNodes(int CNFJOAFCFKC, OutputSlot OIPIEKDLDMJ, int IKGNOOIOKLC, InputSlot DECEAGNPDJL) { if (PhotonNetwork.IsMasterClient) { } } // Token: 0x0600C3A9 RID: 50089 RVA: 0x002E2D8C File Offset: 0x002E0F8C [Token(Token = "0x600C3A9")] [Address(RVA = "0x1732B50", Offset = "0x1731550", VA = "0x181732B50")] private bool HLFBAHOMKLJ(int CNFJOAFCFKC, OutputSlot OIPIEKDLDMJ, int IKGNOOIOKLC, InputSlot DECEAGNPDJL) { if (this.PPECNBFCKAI) { CircuitNode circuitNode = CircuitNode.Find(CNFJOAFCFKC); CircuitNode circuitNode2 = CircuitNode.Find(CNFJOAFCFKC); if (circuitNode != 0 && circuitNode2 != 0) { this.ONJHOMLMJIN = true; } Debug.LogError("Invalid output node id"); return; } } // Token: 0x0600C3AA RID: 50090 RVA: 0x002E2DCC File Offset: 0x002E0FCC [Token(Token = "0x600C3AA")] [Address(RVA = "0x1734CF0", Offset = "0x17336F0", VA = "0x181734CF0")] public void RequestMasterDisconnectNode(int JNKFPEJCCNP, InputSlot DECEAGNPDJL) { PhotonView photonView = base.photonView; RPCActions.RPCAction rpcaction = new RPCActions.RPCAction(this.RpcMasterDisconnectNode); } // Token: 0x0600C3AB RID: 50091 RVA: 0x002E2DF4 File Offset: 0x002E0FF4 [Token(Token = "0x600C3AB")] [Address(RVA = "0x1735700", Offset = "0x1734100", VA = "0x181735700")] [PunRPC] private void RpcMasterDisconnectNode(int JNKFPEJCCNP, InputSlot DECEAGNPDJL) { bool flag; if (PhotonNetwork.IsMasterClient && flag) { PhotonView photonView = base.photonView; RPCActions.RPCAction rpcaction = new RPCActions.RPCAction(this.RpcDisconnectNode); } } // Token: 0x0600C3AC RID: 50092 RVA: 0x002E2E2C File Offset: 0x002E102C [Token(Token = "0x600C3AC")] [Address(RVA = "0x1735400", Offset = "0x1733E00", VA = "0x181735400")] [PunRPC] private void RpcDisconnectNode(int JNKFPEJCCNP, InputSlot DECEAGNPDJL, PhotonMessageInfo BNICGLLLMOL) { } // Token: 0x0600C3AD RID: 50093 RVA: 0x002E2E40 File Offset: 0x002E1040 [Token(Token = "0x600C3AD")] [Address(RVA = "0x1733880", Offset = "0x1732280", VA = "0x181733880")] public void MasterLocalDisconnectNodes(int IKGNOOIOKLC, InputSlot DECEAGNPDJL) { if (PhotonNetwork.IsMasterClient) { } } // Token: 0x0600C3AE RID: 50094 RVA: 0x002E2E58 File Offset: 0x002E1058 [Token(Token = "0x600C3AE")] [Address(RVA = "0x1731710", Offset = "0x1730110", VA = "0x181731710")] private bool BPIMKDMNECL(int JNKFPEJCCNP, InputSlot DECEAGNPDJL) { if (!this.PPECNBFCKAI) { return; } if (CircuitNode.Find(JNKFPEJCCNP) != 0) { this.ONJHOMLMJIN = true; return true; } Debug.LogError("Invalid node id"); } // Token: 0x0600C3AF RID: 50095 RVA: 0x002E2E8C File Offset: 0x002E108C [Token(Token = "0x600C3AF")] [Address(RVA = "0x1734F30", Offset = "0x1733930", VA = "0x181734F30")] public void RequestMasterModifyNode(int JNKFPEJCCNP, Dictionary CBEHIEJOHJB) { PhotonView photonView = base.photonView; RPCActions.RPCAction> rpcaction = new RPCActions.RPCAction(this.RpcMasterModifyNode); photonView.RpcMaster>(rpcaction, JNKFPEJCCNP, CBEHIEJOHJB); } // Token: 0x0600C3B0 RID: 50096 RVA: 0x002E2EBC File Offset: 0x002E10BC [Token(Token = "0x600C3B0")] [Address(RVA = "0x1735970", Offset = "0x1734370", VA = "0x181735970")] [PunRPC] private void RpcMasterModifyNode(int JNKFPEJCCNP, Dictionary CBEHIEJOHJB) { if (PhotonNetwork.IsMasterClient) { PhotonView photonView = base.photonView; RPCActions.RPCAction, PhotonMessageInfo> rpcaction = new RPCActions.RPCAction(this.RpcModifyNode); photonView.RpcAll>(rpcaction, JNKFPEJCCNP, CBEHIEJOHJB); } } // Token: 0x0600C3B1 RID: 50097 RVA: 0x002E2EF8 File Offset: 0x002E10F8 [Token(Token = "0x600C3B1")] [Address(RVA = "0x1735A50", Offset = "0x1734450", VA = "0x181735A50")] [PunRPC] private void RpcModifyNode(int JNKFPEJCCNP, Dictionary CBEHIEJOHJB, PhotonMessageInfo BNICGLLLMOL) { this.BHFBMPMNLJJ(JNKFPEJCCNP, CBEHIEJOHJB); } // Token: 0x0600C3B2 RID: 50098 RVA: 0x002E2F14 File Offset: 0x002E1114 [Token(Token = "0x600C3B2")] [Address(RVA = "0x1733A30", Offset = "0x1732430", VA = "0x181733A30")] public void MasterLocalModifyNode(int JNKFPEJCCNP, Dictionary CBEHIEJOHJB) { if (this.PPECNBFCKAI && PhotonNetwork.IsMasterClient && this.PPECNBFCKAI) { CircuitNode circuitNode = CircuitNode.Find(JNKFPEJCCNP); if (circuitNode != 0) { circuitNode.ModifyNode(CBEHIEJOHJB); this.ONJHOMLMJIN = true; } } } // Token: 0x0600C3B3 RID: 50099 RVA: 0x002E2F58 File Offset: 0x002E1158 [Token(Token = "0x600C3B3")] [Address(RVA = "0x1731680", Offset = "0x1730080", VA = "0x181731680")] private void BHFBMPMNLJJ(int JNKFPEJCCNP, Dictionary CBEHIEJOHJB) { if (this.PPECNBFCKAI) { CircuitNode circuitNode = CircuitNode.Find(JNKFPEJCCNP); if (circuitNode != 0) { circuitNode.ModifyNode(CBEHIEJOHJB); this.ONJHOMLMJIN = true; } } } // Token: 0x0600C3B4 RID: 50100 RVA: 0x002E2F88 File Offset: 0x002E1188 [Token(Token = "0x600C3B4")] [Address(RVA = "0x17348F0", Offset = "0x17332F0", VA = "0x1817348F0")] public void Reinitialize(CircuitNodeGraphCollectionData ABADFLCBFIJ, out Dictionary DDOMAKJGBKL) { this.JEDKLLALJNC = false; CircuitNodeGraph.DeserializeAll(ABADFLCBFIJ, out DDOMAKJGBKL); this.EAOOKKOAAOA(); } // Token: 0x0600C3B5 RID: 50101 RVA: 0x002E2FAC File Offset: 0x002E11AC [Token(Token = "0x600C3B5")] [Address(RVA = "0x17334C0", Offset = "0x1731EC0", VA = "0x1817334C0")] public void InitializeNewGraph(CircuitNodeGraphData ABADFLCBFIJ, out Dictionary DDOMAKJGBKL) { CircuitNodeGraph circuitNodeGraph = CircuitNodeGraph.Deserialize(ABADFLCBFIJ, true, out DDOMAKJGBKL); this.EAOOKKOAAOA(); } // Token: 0x0600C3B6 RID: 50102 RVA: 0x002E2FC8 File Offset: 0x002E11C8 [Token(Token = "0x600C3B6")] [Address(RVA = "0x1731D90", Offset = "0x1730790", VA = "0x181731D90")] private void EAOOKKOAAOA() { if (PhotonNetwork.IsMasterClient) { CircuitNodeGraphCollectionData circuitNodeGraphCollectionData = CircuitNodeGraph.PersistAll(0); byte[] array = CircuitNodeGraph.SerializeRuntimeState(); PhotonView photonView = base.photonView; RPCActions.RPCAction rpcaction = new RPCActions.RPCAction(this.RpcReinitializeCircuits); photonView.RpcOthers(rpcaction, circuitNodeGraphCollectionData, array); } } // Token: 0x0600C3B7 RID: 50103 RVA: 0x002E3018 File Offset: 0x002E1218 [Token(Token = "0x600C3B7")] [Address(RVA = "0x1731860", Offset = "0x1730260", VA = "0x181731860")] private void CMIAGFDFGOF(Photon.Realtime.Player IEKDDPPNFPF) { if (PhotonNetwork.IsMasterClient) { CircuitNodeGraphCollectionData circuitNodeGraphCollectionData = CircuitNodeGraph.PersistAll(0); byte[] array = CircuitNodeGraph.SerializeRuntimeState(); PhotonView photonView = base.photonView; RPCActions.RPCAction rpcaction = new RPCActions.RPCAction(this.RpcReinitializeCircuits); photonView.RpcPlayer(IEKDDPPNFPF, rpcaction, circuitNodeGraphCollectionData, array); } } // Token: 0x0600C3B8 RID: 50104 RVA: 0x002E3068 File Offset: 0x002E1268 [Token(Token = "0x600C3B8")] [Address(RVA = "0x1735AB0", Offset = "0x17344B0", VA = "0x181735AB0")] [PunRPC] private void RpcReinitializeCircuits(CircuitNodeGraphCollectionData HNDKICABMMI, byte[] MGHCGIJLCDL, PhotonMessageInfo BNICGLLLMOL) { int num = 0; CircuitNodeGraph.DeserializeAll(HNDKICABMMI, num); CircuitNodeGraph.DeserializeRuntimeState(MGHCGIJLCDL); this.PJLDOBOIEOP(); this.PPECNBFCKAI = true; bool flag; if (flag) { } Debug.LogError("Error reinitializing circuits for RoomDataBlobName:" + ""); SessionManager instance = SingletonMonoBehaviour.Instance; int num2 = 0; instance.BootLocalPlayerToDormRoom("Room was out of sync!", SessionManager.BDPNOBGNGNI.CIRCUIT_REINITIALIZE_ERROR, num2 != 0); } // Token: 0x0600C3B9 RID: 50105 RVA: 0x002E30C8 File Offset: 0x002E12C8 [Token(Token = "0x600C3B9")] [Address(RVA = "0xCDEFF0", Offset = "0xCDD9F0", VA = "0x180CDEFF0")] public void NotifyCircuitVisibilityChanged() { Action jceaghcophb = this.JCEAGHCOPHB; if (jceaghcophb != 0) { jceaghcophb(); return; } } // Token: 0x0600C3BA RID: 50106 RVA: 0x002E30E8 File Offset: 0x002E12E8 [Token(Token = "0x600C3BA")] [Address(RVA = "0x17345D0", Offset = "0x1732FD0", VA = "0x1817345D0")] private void OnPhotonPlayerConnected(Photon.Realtime.Player IEKDDPPNFPF) { if (PhotonNetwork.IsMasterClient && PhotonNetwork.IsMasterClient) { CircuitNodeGraphCollectionData circuitNodeGraphCollectionData = CircuitNodeGraph.PersistAll(0); byte[] array = CircuitNodeGraph.SerializeRuntimeState(); PhotonView photonView = base.photonView; RPCActions.RPCAction rpcaction = new RPCActions.RPCAction(this.RpcReinitializeCircuits); photonView.RpcPlayer(IEKDDPPNFPF, rpcaction, circuitNodeGraphCollectionData, array); } } // Token: 0x0600C3BB RID: 50107 RVA: 0x002E3144 File Offset: 0x002E1344 [Token(Token = "0x600C3BB")] [Address(RVA = "0x1734560", Offset = "0x1732F60", VA = "0x181734560")] private void OnMasterClientSwitched(Photon.Realtime.Player EFABHEGDDAP) { if (PhotonNetwork.IsMasterClient) { this.EAOOKKOAAOA(); return; } } // Token: 0x0600C3BC RID: 50108 RVA: 0x002E3164 File Offset: 0x002E1364 [Token(Token = "0x600C3BC")] [Address(RVA = "0x1732C70", Offset = "0x1731670", VA = "0x181732C70")] private void ICHIECOABAI(CircuitNode LIDHFLLOGLP, CircuitNode BFCLHKAAILB, InputSlot DECEAGNPDJL, OutputSlot OIPIEKDLDMJ) { this.ONJHOMLMJIN = true; CircuitLink circuitLink; if (!this.GIMOBFFFGPB.ContainsKey(circuitLink)) { CircuitLinkVisual circuitLinkVisual = global::UnityEngine.Object.Instantiate(this.circuitLinkVisualPrefab); GameObject gameObject = circuitLinkVisual.gameObject; object[] array = new object[5]; if ("CircuitLink [" != 0) { } array[0] = "CircuitLink ["; int num = LIDHFLLOGLP.k__BackingField; if (num != 0) { } array[1] = num; if ("=>" != 0) { } array[2] = "=>"; int k__BackingField = BFCLHKAAILB.k__BackingField; num = k__BackingField; if (k__BackingField != 0) { } array[3] = num; if ("]" != 0) { } array[4] = "]"; string text = string.Concat(array); gameObject.name = text; Transform transform = circuitLinkVisual.transform; Transform transform2 = base.transform; int num2 = 0; transform.SetParent(transform2, num2 != 0); Transform transform3 = circuitLinkVisual.transform; float z = Vector3.zero.z; this.GIMOBFFFGPB[circuitLink] = circuitLinkVisual; LineRenderer lineRenderer = circuitLinkVisual.lineRenderer; LineRenderer lineRenderer2 = circuitLinkVisual.lineRenderer; } } // Token: 0x0600C3BD RID: 50109 RVA: 0x002E327C File Offset: 0x002E147C [Token(Token = "0x600C3BD")] [Address(RVA = "0x1730DF0", Offset = "0x172F7F0", VA = "0x181730DF0")] private void AIBKMLHMPGE(CircuitNode LIDHFLLOGLP, CircuitNode BFCLHKAAILB, InputSlot DECEAGNPDJL, OutputSlot OIPIEKDLDMJ) { this.ONJHOMLMJIN = true; Dictionary gimobfffgpb = this.GIMOBFFFGPB; bool flag; if (flag) { GameObject gameObject; global::UnityEngine.Object.Destroy(gameObject); } CircuitLink circuitLink; bool flag2 = this.GIMOBFFFGPB.Remove(circuitLink); } // Token: 0x0600C3BE RID: 50110 RVA: 0x002E32B8 File Offset: 0x002E14B8 [Token(Token = "0x600C3BE")] [Address(RVA = "0x1734100", Offset = "0x1732B00", VA = "0x181734100")] private void OEIGNGEAMMB(CircuitNode IKFLAODDALD) { this.ONJHOMLMJIN = true; CFLMJLFBOKH.MGOFLCHMDNN(); } // Token: 0x0600C3BF RID: 50111 RVA: 0x002E32D4 File Offset: 0x002E14D4 [Token(Token = "0x600C3BF")] [Address(RVA = "0x1733B10", Offset = "0x1732510", VA = "0x181733B10")] private void NAOALJJNBIP(CircuitNode IKFLAODDALD) { int num; do { num = 0; this.ONJHOMLMJIN = true; CFLMJLFBOKH.MGOFLCHMDNN(); Dictionary.KeyCollection keys = this.GIMOBFFFGPB.Keys; Func func = delegate(CircuitLink link) { CircuitNode sourceNode = link.SourceNode; int k__BackingField = IKFLAODDALD.k__BackingField; return sourceNode.k__BackingField == k__BackingField || link.DestNode.k__BackingField == k__BackingField; }; List list = Enumerable.ToList(Enumerable.Where(keys, func)); List.Enumerator enumerator; if (enumerator != 0) { Dictionary gimobfffgpb = this.GIMOBFFFGPB; bool flag; if (flag) { GameObject gameObject; global::UnityEngine.Object.Destroy(gameObject); } Dictionary gimobfffgpb2 = this.GIMOBFFFGPB; } if (num != -1) { } } while (num != 0); } // Token: 0x0600C3C0 RID: 50112 RVA: 0x002E3364 File Offset: 0x002E1564 [Token(Token = "0x600C3C0")] [Address(RVA = "0x1734FF0", Offset = "0x17339F0", VA = "0x181734FF0")] public void RequestVisualsForGroupInterfaceNode(CircuitGroupInterfaceNode NPKMPILEMDL, bool INCIKDOJPFB) { if (INCIKDOJPFB) { } CircuitLinkVisual k__BackingField = NPKMPILEMDL.k__BackingField; int num = 0; if (!(k__BackingField != num)) { CircuitLinkVisual circuitLinkVisual = global::UnityEngine.Object.Instantiate(this.circuitLinkVisualPrefab); LineRenderer lineRenderer = circuitLinkVisual.lineRenderer; Color white = Color.white; string text2; if (!INCIKDOJPFB) { CircuitGroupInterfaceNode.IFEJCGJCOGE aklicfaflgb = NPKMPILEMDL.AKLICFAFLGB; if (white != 0) { } CircuitGroupInterfaceNode.IFEJCGJCOGE aklicfaflgb2 = NPKMPILEMDL.AKLICFAFLGB; string text = "interfaceNode"; if (white != 0) { text = "empty"; } GameObject gameObject = circuitLinkVisual.gameObject; text2 = "CircuitGroupLink [external " + text + "]"; gameObject.name = text2; NPKMPILEMDL.k__BackingField = circuitLinkVisual; } CircuitGroupInterfaceNode.IFEJCGJCOGE gpljlmmnlkk = NPKMPILEMDL.GPLJLMMNLKK; if (text2 != 0) { } CircuitGroupInterfaceNode.IFEJCGJCOGE gpljlmmnlkk2 = NPKMPILEMDL.GPLJLMMNLKK; string text3 = "interfaceNode"; if (text2 != 0) { text3 = "empty"; } GameObject gameObject2 = circuitLinkVisual.gameObject; string text4 = "CircuitGroupLink [internal " + text3 + "]"; gameObject2.name = text4; NPKMPILEMDL.k__BackingField = circuitLinkVisual; Transform transform = circuitLinkVisual.transform; Transform transform2 = base.transform; int num2 = 0; transform.SetParent(transform2, num2 != 0); Transform transform3 = circuitLinkVisual.transform; float z = Vector3.zero.z; if (!this.EOMAHEFKIJC.Contains(NPKMPILEMDL)) { bool flag = this.EOMAHEFKIJC.Add(NPKMPILEMDL); } } } // Token: 0x0600C3C1 RID: 50113 RVA: 0x002E34AC File Offset: 0x002E16AC [Token(Token = "0x600C3C1")] [Address(RVA = "0x1734970", Offset = "0x1733370", VA = "0x181734970")] public void RelinquishAllVisualsForGroupInterfaceNode(CircuitGroupInterfaceNode NPKMPILEMDL) { CircuitLinkVisual k__BackingField = NPKMPILEMDL.k__BackingField; int num = 0; if (k__BackingField != num) { global::UnityEngine.Object.Destroy(NPKMPILEMDL.k__BackingField.gameObject); NPKMPILEMDL.k__BackingField = (ulong)0L; } CircuitLinkVisual k__BackingField = NPKMPILEMDL.k__BackingField; int num2 = 0; if (k__BackingField != num2) { global::UnityEngine.Object.Destroy(NPKMPILEMDL.k__BackingField.gameObject); NPKMPILEMDL.k__BackingField = (ulong)0L; } bool flag = this.EOMAHEFKIJC.Remove(NPKMPILEMDL); } // Token: 0x0600C3C2 RID: 50114 RVA: 0x002E3528 File Offset: 0x002E1728 [Token(Token = "0x600C3C2")] [Address(RVA = "0x1731AE0", Offset = "0x17304E0", VA = "0x181731AE0")] public static Color ColorFromOutput(OutputSlot OIPIEKDLDMJ) { Color red = Color.red; Color green = Color.green; Color cyan = Color.cyan; Color magenta = Color.magenta; Color yellow = Color.yellow; Color black = Color.black; Color white = Color.white; while (18446744073709551607UL == (ulong)1L) { } int num = 0; Color blue = Color.blue; if (18446744073709551607UL < (ulong)1L) { } if (18446744073709551607UL < (ulong)1L) { } if (18446744073709551607UL <= (ulong)1L || 18446744073709551607UL < (ulong)1L) { } if (18446744073709551607UL == (ulong)1L) { } MessageParser parser = CircuitNodeData._parser; if (CircuitNode.Find(num) == 0) { Debug.LogWarning("Couldn't copy settings to unknown node"); } throw new NullReferenceException(); } // Token: 0x0600C3C3 RID: 50115 RVA: 0x002E35B8 File Offset: 0x002E17B8 [Token(Token = "0x600C3C3")] [Address(RVA = "0x1731980", Offset = "0x1730380", VA = "0x181731980")] public static Color ColorFromInput(InputSlot DECEAGNPDJL) { /* An exception occurred when decompiling this method (0600C3C3) ICSharpCode.Decompiler.DecompilerException: Error decompiling UnityEngine.Color RecRoom.CircuitManager::ColorFromInput(RecRoom.Circuits.InputSlot) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:Color(var_0_05, callgetter:Color(Color::get_red)) stloc:Color(var_1_0B, callgetter:Color(Color::get_green)) stloc:Color(var_2_11, callgetter:Color(Color::get_blue)) stloc:Color(var_3_17, callgetter:Color(Color::get_cyan)) stloc:Color(var_4_1D, callgetter:Color(Color::get_magenta)) stloc:Color(var_5_24, callgetter:Color(Color::get_yellow)) stloc:Color(var_6_2B, callgetter:Color(Color::get_black)) stloc:Color(var_7_32, callgetter:Color(Color::get_white)) stloc:Color(var_8_39, callgetter:Color(Color::get_white)) } 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: 0x0600C3C4 RID: 50116 RVA: 0x002E3600 File Offset: 0x002E1800 [Token(Token = "0x600C3C4")] [Address(RVA = "0x1730F00", Offset = "0x172F900", VA = "0x181730F00")] private void AKIHFPLNKPH() { if (!string.IsNullOrEmpty(this.sceneNodeGraphs)) { string text = this.sceneNodeGraphs; MessageParser parser = CircuitNodeGraphCollectionData._parser; ByteString byteString = ByteString.FromBase64(text); CircuitNodeGraphCollectionData circuitNodeGraphCollectionData = parser.ParseFrom(byteString); } CircuitNodeGraphCollectionData circuitNodeGraphCollectionData2 = new CircuitNodeGraphCollectionData(); } // Token: 0x0600C3C5 RID: 50117 RVA: 0x002E3648 File Offset: 0x002E1848 [Token(Token = "0x600C3C5")] [Address(RVA = "0x1731FB0", Offset = "0x17309B0", VA = "0x181731FB0")] private void GDGBOJODKIH(CircuitLogLevel NIIDNDCGMDD, string NGPMADFHHKP) { if (NIIDNDCGMDD == CircuitLogLevel.Warning) { Debug.LogWarning(NGPMADFHHKP); return; } if (NIIDNDCGMDD != CircuitLogLevel.Error) { Debug.Log(NGPMADFHHKP); return; } } // Token: 0x0600C3C6 RID: 50118 RVA: 0x002E3670 File Offset: 0x002E1870 [Token(Token = "0x600C3C6")] [Address(RVA = "0x1731F10", Offset = "0x1730910", VA = "0x181731F10")] private void FPJNLLAOCDH(Exception CHKKEHOKPJP, string NGPMADFHHKP) { Debug.LogError(NGPMADFHHKP); Debug.LogException(CHKKEHOKPJP); } // Token: 0x0600C3C7 RID: 50119 RVA: 0x002E368C File Offset: 0x002E188C [Token(Token = "0x600C3C7")] [Address(RVA = "0x1736070", Offset = "0x1734A70", VA = "0x181736070")] public CircuitManager() { Dictionary dictionary = new Dictionary(); this.CEMLIBCLNKL = dictionary; Dictionary dictionary2 = new Dictionary(); this.GIMOBFFFGPB = dictionary2; HashSet hashSet = new HashSet(); this.EOMAHEFKIJC = hashSet; this.JKOEHDNHMHG = 0.1f; Vector3[] array = new Vector3[2]; this.DPABCPKAHNO = array; base..ctor(); } // Token: 0x0600C3C8 RID: 50120 RVA: 0x002E36E0 File Offset: 0x002E18E0 // Note: this type is marked as 'beforefieldinit'. [Token(Token = "0x600C3C8")] [Address(RVA = "0x1736010", Offset = "0x1734A10", VA = "0x181736010")] static CircuitManager() { int num; ActionEvent actionEvent = new ActionEvent(32, num != 0); num = 0; CircuitManager.PreEvaluateEvent = actionEvent; } // Token: 0x0600C3C9 RID: 50121 RVA: 0x002E3700 File Offset: 0x002E1900 [Token(Token = "0x600C3C9")] [Address(RVA = "0x1731F00", Offset = "0x1730900", VA = "0x181731F00")] [CompilerGenerated] private void FDLDIDDNGGI(Task LIMOILDIGKF) { this.CIFEAJMAHKI(); } // Token: 0x0400815A RID: 33114 [Token(Token = "0x400815A")] public static ActionEvent PreEvaluateEvent; // Token: 0x0400815C RID: 33116 [Token(Token = "0x400815C")] private const float EHNGGBNEMOA = 0.1f; // Token: 0x0400815D RID: 33117 [Token(Token = "0x400815D")] private const float LNPMCAKDPPP = 0.01f; // Token: 0x0400815E RID: 33118 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x400815E")] [SerializeField] private CircuitLinkVisual circuitLinkVisualPrefab; // Token: 0x0400815F RID: 33119 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x400815F")] [SerializeField] [HideInInspector] private string sceneNodeGraphs; // Token: 0x04008160 RID: 33120 [global::Cpp2IlInjected.FieldOffset(Offset = "0x58")] [Token(Token = "0x4008160")] private bool ONJHOMLMJIN; // Token: 0x04008161 RID: 33121 [global::Cpp2IlInjected.FieldOffset(Offset = "0x59")] [Token(Token = "0x4008161")] private bool CIIMFCIPPHN; // Token: 0x04008162 RID: 33122 [global::Cpp2IlInjected.FieldOffset(Offset = "0x60")] [Token(Token = "0x4008162")] private IDisposable KOPFBBKDNBA; // Token: 0x04008163 RID: 33123 [global::Cpp2IlInjected.FieldOffset(Offset = "0x68")] [Token(Token = "0x4008163")] private Dictionary CEMLIBCLNKL; // Token: 0x04008164 RID: 33124 [global::Cpp2IlInjected.FieldOffset(Offset = "0x70")] [Token(Token = "0x4008164")] private Dictionary GIMOBFFFGPB; // Token: 0x04008165 RID: 33125 [global::Cpp2IlInjected.FieldOffset(Offset = "0x78")] [Token(Token = "0x4008165")] private HashSet EOMAHEFKIJC; // Token: 0x04008166 RID: 33126 [global::Cpp2IlInjected.FieldOffset(Offset = "0x80")] [Token(Token = "0x4008166")] private bool PPECNBFCKAI; // Token: 0x04008167 RID: 33127 [global::Cpp2IlInjected.FieldOffset(Offset = "0x84")] [Token(Token = "0x4008167")] private float GCLEJFPGJMA; // Token: 0x04008168 RID: 33128 [global::Cpp2IlInjected.FieldOffset(Offset = "0x88")] [Token(Token = "0x4008168")] private float? DJBNFHDOJPA; // Token: 0x04008169 RID: 33129 [global::Cpp2IlInjected.FieldOffset(Offset = "0x90")] [Token(Token = "0x4008169")] private float JKOEHDNHMHG; // Token: 0x0400816A RID: 33130 [global::Cpp2IlInjected.FieldOffset(Offset = "0x94")] [Token(Token = "0x400816A")] private float GPDGCLIOACB; // Token: 0x0400816B RID: 33131 [global::Cpp2IlInjected.FieldOffset(Offset = "0x98")] [Token(Token = "0x400816B")] private bool JEDKLLALJNC; // Token: 0x0400816C RID: 33132 [global::Cpp2IlInjected.FieldOffset(Offset = "0xA0")] [Token(Token = "0x400816C")] private Vector3[] DPABCPKAHNO; // Token: 0x02001C7E RID: 7294 [Token(Token = "0x2001C7E")] [CompilerGenerated] private sealed class HGJHCLAEPMI { // Token: 0x0600C3CA RID: 50122 RVA: 0x002E3714 File Offset: 0x002E1914 [Token(Token = "0x600C3CA")] [Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")] public HGJHCLAEPMI() { } // Token: 0x0600C3CB RID: 50123 RVA: 0x002E3728 File Offset: 0x002E1928 [Token(Token = "0x600C3CB")] [Address(RVA = "0x1739130", Offset = "0x1737B30", VA = "0x181739130")] internal bool b__0(CircuitLink link) { CircuitNode sourceNode = link.SourceNode; int k__BackingField = this.node.k__BackingField; return sourceNode.k__BackingField == k__BackingField || link.DestNode.k__BackingField == k__BackingField; } // Token: 0x0400816D RID: 33133 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x400816D")] public CircuitNode node; } } }