using System; using System.Runtime.InteropServices; using Cpp2IlInjected; using UnityEngine; namespace RecRoom.Core.Creation.Circuits { // Token: 0x02002C56 RID: 11350 [Token(Token = "0x2002C56")] [StructLayout(3)] public class CircuitConnectionScaleController : MonoBehaviour { // Token: 0x06013FAB RID: 81835 RVA: 0x004CAFE4 File Offset: 0x004C91E4 [Token(Token = "0x6013FAB")] [Address(RVA = "0x176D090", Offset = "0x176BA90", VA = "0x18176D090")] private void OnEnable() { this.OHAGFAAMIBM(); } // Token: 0x06013FAC RID: 81836 RVA: 0x004CAFF8 File Offset: 0x004C91F8 [Token(Token = "0x6013FAC")] [Address(RVA = "0x176C150", Offset = "0x176AB50", VA = "0x18176C150")] private void Awake() { Tool tool = this.tool; ActionEvent objectDeformed = tool.creationObject.ObjectDeformed; if (objectDeformed != 0) { Action action = new Action(this.OHAGFAAMIBM); int num = 0; objectDeformed.Add(action, num != 0); } ActionEvent objectScaled = tool.creationObject.ObjectScaled; if (objectScaled != 0) { Action action2 = new Action(this.OHAGFAAMIBM); int num2 = 0; objectScaled.Add(action2, num2 != 0); } Collider collider = this.connectedBounds; int num3 = 0; if (!(collider != num3)) { SimpleVolume simpleVolume = this.connectedBoundsSimple; int num4 = 0; if (!(simpleVolume != num4)) { goto IL_9F; } } Transform transform = this.connectedBounds.transform; this.AMLMCPBIEEP = transform; IL_9F: Collider collider2 = this.connectedBounds; int num5 = 0; if (collider2 == 0 || collider2 != 0) { } Vector3 one = Vector3.one; Collider collider3 = this.connectedBounds; int num6 = 0; if (!(collider3 != num6)) { SimpleVolume simpleVolume2 = this.connectedBoundsSimple; int num7 = 0; if (!(simpleVolume2 != num7)) { goto IL_FC; } SimpleVolume simpleVolume3 = this.connectedBoundsSimple; } Collider collider4 = this.connectedBounds; IL_FC: Transform amlmcpbieep = this.AMLMCPBIEEP; Vector3 vector; float z = vector.z; this.GJLENLBIICM.z = z; CircuitConnectionPoint[] componentsInChildren = base.transform.GetComponentsInChildren(true); this.CNPNIJHKMDP = componentsInChildren; int length = componentsInChildren.Length; if (num5 < length) { CircuitConnectionPoint circuitConnectionPoint = componentsInChildren[num5]; num5++; circuitConnectionPoint.k__BackingField = false; circuitConnectionPoint.k__BackingField = 3.1f; } Transform amlmcpbieep2 = this.AMLMCPBIEEP; Vector3 vector2; float z2 = vector2.z; this.NNFCCHEDEBN.z = z2; float lossyUniformScale = base.transform.GetLossyUniformScale(); this.MEFNJEOHGCN = lossyUniformScale; CircuitConnectionScaleController.AGAGPLFEPLO agagplfeplo = this.HKNBKOEPHKI(); this.JEEFOBCMMJC = agagplfeplo; Transform transform2 = base.transform; CircuitConnectionScaleController.CAINCCMGIJB cainccmgijb; this.ANLFJLAJHGG = cainccmgijb; Transform transform3 = base.transform; CircuitConnectionScaleController.CAINCCMGIJB cainccmgijb2; this.ABFMNNMHOMG = cainccmgijb2; this.OHAGFAAMIBM(); } // Token: 0x06013FAD RID: 81837 RVA: 0x004CB1D8 File Offset: 0x004C93D8 [Token(Token = "0x6013FAD")] [Address(RVA = "0x176C880", Offset = "0x176B280", VA = "0x18176C880")] private CircuitConnectionScaleController.AGAGPLFEPLO HKNBKOEPHKI() { CircuitConnectionPoint[] cnpnijhkmdp = this.CNPNIJHKMDP; int length = cnpnijhkmdp.Length; Transform transform = cnpnijhkmdp[1].transform; Vector3 vector; float z = vector.z; Transform transform2 = this.CNPNIJHKMDP[0].transform; Vector3 vector2; float z2 = vector2.z; Vector3 vector3; float z3 = vector3.z; Transform transform3 = this.CNPNIJHKMDP[0].transform; Vector3 vector4; float z4 = vector4.z; throw new NullReferenceException(); } // Token: 0x06013FAE RID: 81838 RVA: 0x004CB258 File Offset: 0x004C9458 [Token(Token = "0x6013FAE")] [Address(RVA = "0x176C6C0", Offset = "0x176B0C0", VA = "0x18176C6C0")] private void CFLALAPHNOH() { Transform transform = base.transform; Vector3 vector; float z = vector.z; CircuitConnectionScaleController.CAINCCMGIJB cainccmgijb; this.ANLFJLAJHGG = cainccmgijb; Transform transform2 = base.transform; Vector3 vector2; float z2 = vector2.z; CircuitConnectionScaleController.CAINCCMGIJB cainccmgijb2; this.ABFMNNMHOMG = cainccmgijb2; } // Token: 0x06013FAF RID: 81839 RVA: 0x004CB29C File Offset: 0x004C949C [Token(Token = "0x6013FAF")] [Address(RVA = "0x176BF10", Offset = "0x176A910", VA = "0x18176BF10")] private CircuitConnectionScaleController.CAINCCMGIJB AAPBKMDHMMO(Vector3 MJGHDCCDCDF, Transform LJFLOJFOHLA) { /* An exception occurred when decompiling this method (06013FAF) ICSharpCode.Decompiler.DecompilerException: Error decompiling RecRoom.Core.Creation.Circuits.CircuitConnectionScaleController/CAINCCMGIJB RecRoom.Core.Creation.Circuits.CircuitConnectionScaleController::AAPBKMDHMMO(UnityEngine.Vector3,UnityEngine.Transform) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_2D: stloc:ArgumentOutOfRangeException(var_10_3B, newobj:ArgumentOutOfRangeException(ArgumentOutOfRangeException::.ctor, ldstr:string("axis"), ldloc:CAINCCMGIJB[exp:object](var_9), ldloc:int32[exp:string](var_11))) stloc:int32(var_11, ldc.i4:int32(0)) } 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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 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: 0x06013FB0 RID: 81840 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6013FB0")] [Address(RVA = "0x176CB00", Offset = "0x176B500", VA = "0x18176CB00")] private float NOGJEJIGLJO(Vector3 OJJOHDIFMEG, CircuitConnectionScaleController.CAINCCMGIJB GLHHBDHELAO) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06013FB1 RID: 81841 RVA: 0x004CB2E8 File Offset: 0x004C94E8 [Token(Token = "0x6013FB1")] [Address(RVA = "0x176C770", Offset = "0x176B170", VA = "0x18176C770")] private Vector3 DAIMLDAHBNF(Transform NOJPOHPCCNG, CircuitConnectionScaleController.CAINCCMGIJB GLHHBDHELAO) { Vector3 vector; float z = vector.z; throw new NullReferenceException(); } // Token: 0x06013FB2 RID: 81842 RVA: 0x004CB314 File Offset: 0x004C9514 [Token(Token = "0x6013FB2")] [Address(RVA = "0x176CD30", Offset = "0x176B730", VA = "0x18176CD30")] private void OHAGFAAMIBM() { Transform amlmcpbieep = this.AMLMCPBIEEP; int num = 0; if (!(amlmcpbieep == num)) { Transform amlmcpbieep2 = this.AMLMCPBIEEP; float z = this.GJLENLBIICM.z; Vector3 vector; float z2 = vector.z; CircuitConnectionPoint[] cnpnijhkmdp = this.CNPNIJHKMDP; Vector3 vector2; float z3 = vector2.z; int num2 = Mathf.Max(cnpnijhkmdp.Length, 1); Transform transform = base.transform; float z4 = this.NNFCCHEDEBN.z; float z5 = this.NNFCCHEDEBN.z; CircuitConnectionScaleController.AGAGPLFEPLO jeefobcmmjc = this.JEEFOBCMMJC; } } // Token: 0x06013FB3 RID: 81843 RVA: 0x004CB3A0 File Offset: 0x004C95A0 [Token(Token = "0x6013FB3")] [Address(RVA = "0x176CB20", Offset = "0x176B520", VA = "0x18176CB20")] private void OEOCMIGCCEG(Transform JADEFNMNPJA, int PFBGBGMHKIK, float ABOALLDKCFJ, float LHJMLPEJMII, float IIKKBMIKMHF, float AFBPHNDNOKL, CircuitConnectionScaleController.AGAGPLFEPLO FNJKNLMCJNO = CircuitConnectionScaleController.AGAGPLFEPLO.Horizontal) { int num = 0; if (!(JADEFNMNPJA == num)) { float num2 = Mathf.Clamp(Mathf.Lerp(ABOALLDKCFJ, ABOALLDKCFJ, 0.4f), 0.2f, 3.5f); JADEFNMNPJA.SetLossyUniformScale(ABOALLDKCFJ); } } // Token: 0x06013FB4 RID: 81844 RVA: 0x004CB3E0 File Offset: 0x004C95E0 [Token(Token = "0x6013FB4")] [Address(RVA = "0x176CF90", Offset = "0x176B990", VA = "0x18176CF90")] private void OnDestroy() { Tool tool = this.tool; ActionEvent objectDeformed = tool.creationObject.ObjectDeformed; if (objectDeformed != 0) { Action action = new Action(this.OHAGFAAMIBM); objectDeformed.Remove(action); } ActionEvent objectScaled = tool.creationObject.ObjectScaled; if (objectScaled != 0) { Action action2 = new Action(this.OHAGFAAMIBM); objectScaled.Remove(action2); } } // Token: 0x06013FB5 RID: 81845 RVA: 0x004CB444 File Offset: 0x004C9644 [Token(Token = "0x6013FB5")] [Address(RVA = "0x3C1210", Offset = "0x3BFC10", VA = "0x1803C1210")] public CircuitConnectionScaleController() { } // Token: 0x0400D6F8 RID: 55032 [Token(Token = "0x400D6F8")] private const float GJMMHGLGLIO = 0.2f; // Token: 0x0400D6F9 RID: 55033 [Token(Token = "0x400D6F9")] private const float JEKIMDJLBAE = 3.5f; // Token: 0x0400D6FA RID: 55034 [Token(Token = "0x400D6FA")] private const float EPGIIPKANCN = 3.1f; // Token: 0x0400D6FB RID: 55035 [Token(Token = "0x400D6FB")] private const float NNLABCNMABN = 0.4f; // Token: 0x0400D6FC RID: 55036 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x400D6FC")] [SerializeField] [DDPIINEJFMD(JIBDPHMGEGO.SelfAndParent, false, false)] private Tool tool; // Token: 0x0400D6FD RID: 55037 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x400D6FD")] [SerializeField] [Tooltip("Collider used to determine circuit connection bounds. Either this field OR the 'connectedBoundsSimple' must be set.")] private Collider connectedBounds; // Token: 0x0400D6FE RID: 55038 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x400D6FE")] [SerializeField] [Tooltip("Simple Volume used to determine circuit connection bounds. Either this field OR the 'connectedBounds' must be set.")] private SimpleVolume connectedBoundsSimple; // Token: 0x0400D6FF RID: 55039 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x400D6FF")] private CircuitConnectionPoint[] CNPNIJHKMDP; // Token: 0x0400D700 RID: 55040 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x400D700")] private CircuitConnectionScaleController.CAINCCMGIJB ANLFJLAJHGG; // Token: 0x0400D701 RID: 55041 [global::Cpp2IlInjected.FieldOffset(Offset = "0x3C")] [Token(Token = "0x400D701")] private CircuitConnectionScaleController.CAINCCMGIJB ABFMNNMHOMG; // Token: 0x0400D702 RID: 55042 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x400D702")] private CircuitConnectionScaleController.AGAGPLFEPLO JEEFOBCMMJC; // Token: 0x0400D703 RID: 55043 [global::Cpp2IlInjected.FieldOffset(Offset = "0x44")] [Token(Token = "0x400D703")] private Vector3 GJLENLBIICM; // Token: 0x0400D704 RID: 55044 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x400D704")] private Transform AMLMCPBIEEP; // Token: 0x0400D705 RID: 55045 [global::Cpp2IlInjected.FieldOffset(Offset = "0x58")] [Token(Token = "0x400D705")] private Vector3 NNFCCHEDEBN; // Token: 0x0400D706 RID: 55046 [global::Cpp2IlInjected.FieldOffset(Offset = "0x64")] [Token(Token = "0x400D706")] private float MEFNJEOHGCN; // Token: 0x02002C57 RID: 11351 [Token(Token = "0x2002C57")] private enum CAINCCMGIJB { // Token: 0x0400D708 RID: 55048 [Token(Token = "0x400D708")] X, // Token: 0x0400D709 RID: 55049 [Token(Token = "0x400D709")] Y, // Token: 0x0400D70A RID: 55050 [Token(Token = "0x400D70A")] Z, // Token: 0x0400D70B RID: 55051 [Token(Token = "0x400D70B")] Num } // Token: 0x02002C58 RID: 11352 [Token(Token = "0x2002C58")] private enum AGAGPLFEPLO { // Token: 0x0400D70D RID: 55053 [Token(Token = "0x400D70D")] Vertical, // Token: 0x0400D70E RID: 55054 [Token(Token = "0x400D70E")] Horizontal } } }