Files
niko 8fc35183db a
2026-04-11 22:19:20 +02:00

367 lines
14 KiB
C#

using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Core.Creation.Circuits
{
// Token: 0x02003214 RID: 12820
[Token(Token = "0x2003214")]
public class CircuitConnectionScaleController : MonoBehaviour
{
// Token: 0x06015FF3 RID: 90099 RVA: 0x0052142C File Offset: 0x0051F62C
[Token(Token = "0x6015FF3")]
[Address(RVA = "0xED8D40", Offset = "0xED7B40", VA = "0x180ED8D40")]
private void OnEnable()
{
this.OHAGFAAMIBM();
}
// Token: 0x06015FF4 RID: 90100 RVA: 0x00521440 File Offset: 0x0051F640
[Token(Token = "0x6015FF4")]
[Address(RVA = "0xED7E00", Offset = "0xED6C00", VA = "0x180ED7E00")]
private void Awake()
{
Tool tool = this.tool;
OKNNKFGFODL objectDeformed = tool.creationObject.ObjectDeformed;
if (objectDeformed != 0)
{
Action action = new Action(this.OHAGFAAMIBM);
int num = 0;
objectDeformed.BPAJKKAGPKB(action, num != 0);
}
OKNNKFGFODL objectScaled = tool.creationObject.ObjectScaled;
if (objectScaled != 0)
{
Action action2 = new Action(this.OHAGFAAMIBM);
int num2 = 0;
objectScaled.BPAJKKAGPKB(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<CircuitConnectionPoint>(true);
this.CNPNIJHKMDP = componentsInChildren;
int length = componentsInChildren.Length;
if (num5 < length)
{
CircuitConnectionPoint circuitConnectionPoint = componentsInChildren[num5];
num5++;
circuitConnectionPoint.<EIDKPLEAFCJ>k__BackingField = false;
circuitConnectionPoint.<OIKKFPEMFJJ>k__BackingField = 3.1f;
}
Transform amlmcpbieep2 = this.AMLMCPBIEEP;
Vector3 vector2;
float z2 = vector2.z;
this.NNFCCHEDEBN.z = z2;
float num8 = base.transform.LACCAFFAOIG();
this.MEFNJEOHGCN = num8;
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: 0x06015FF5 RID: 90101 RVA: 0x00521620 File Offset: 0x0051F820
[Token(Token = "0x6015FF5")]
[Address(RVA = "0xED8530", Offset = "0xED7330", VA = "0x180ED8530")]
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: 0x06015FF6 RID: 90102 RVA: 0x005216A0 File Offset: 0x0051F8A0
[Token(Token = "0x6015FF6")]
[Address(RVA = "0xED8370", Offset = "0xED7170", VA = "0x180ED8370")]
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: 0x06015FF7 RID: 90103 RVA: 0x005216E4 File Offset: 0x0051F8E4
[Token(Token = "0x6015FF7")]
[Address(RVA = "0xED7BC0", Offset = "0xED69C0", VA = "0x180ED7BC0")]
private CircuitConnectionScaleController.CAINCCMGIJB AAPBKMDHMMO(Vector3 MJGHDCCDCDF, Transform LJFLOJFOHLA)
{
/*
An exception occurred when decompiling this method (06015FF7)
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 1660
*/;
}
// Token: 0x06015FF8 RID: 90104 RVA: 0x00521730 File Offset: 0x0051F930
[Token(Token = "0x6015FF8")]
[Address(RVA = "0xED87B0", Offset = "0xED75B0", VA = "0x180ED87B0")]
private float NOGJEJIGLJO(Vector3 OJJOHDIFMEG, CircuitConnectionScaleController.CAINCCMGIJB GLHHBDHELAO)
{
return OJJOHDIFMEG[(int)GLHHBDHELAO];
}
// Token: 0x06015FF9 RID: 90105 RVA: 0x00521748 File Offset: 0x0051F948
[Token(Token = "0x6015FF9")]
[Address(RVA = "0xED8420", Offset = "0xED7220", VA = "0x180ED8420")]
private Vector3 DAIMLDAHBNF(Transform NOJPOHPCCNG, CircuitConnectionScaleController.CAINCCMGIJB GLHHBDHELAO)
{
Vector3 vector;
float z = vector.z;
throw new NullReferenceException();
}
// Token: 0x06015FFA RID: 90106 RVA: 0x00521774 File Offset: 0x0051F974
[Token(Token = "0x6015FFA")]
[Address(RVA = "0xED89E0", Offset = "0xED77E0", VA = "0x180ED89E0")]
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;
float num3;
float num4;
float num5;
float num6;
this.OEOCMIGCCEG(transform, num2, num3, num4, num5, num6, jeefobcmmjc);
}
}
// Token: 0x06015FFB RID: 90107 RVA: 0x00521814 File Offset: 0x0051FA14
[Token(Token = "0x6015FFB")]
[Address(RVA = "0xED87D0", Offset = "0xED75D0", VA = "0x180ED87D0")]
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.CAIHJLKEPIF(ABOALLDKCFJ);
}
}
// Token: 0x06015FFC RID: 90108 RVA: 0x00521854 File Offset: 0x0051FA54
[Token(Token = "0x6015FFC")]
[Address(RVA = "0xED8C40", Offset = "0xED7A40", VA = "0x180ED8C40")]
private void OnDestroy()
{
Tool tool = this.tool;
OKNNKFGFODL objectDeformed = tool.creationObject.ObjectDeformed;
if (objectDeformed != 0)
{
Action action = new Action(this.OHAGFAAMIBM);
objectDeformed.BIHKNNPGGKP(action);
}
OKNNKFGFODL objectScaled = tool.creationObject.ObjectScaled;
if (objectScaled != 0)
{
Action action2 = new Action(this.OHAGFAAMIBM);
objectScaled.BIHKNNPGGKP(action2);
}
}
// Token: 0x06015FFD RID: 90109 RVA: 0x005218B8 File Offset: 0x0051FAB8
[Token(Token = "0x6015FFD")]
[Address(RVA = "0x74EA40", Offset = "0x74D840", VA = "0x18074EA40")]
public CircuitConnectionScaleController()
{
}
// Token: 0x0400E70C RID: 59148
[Token(Token = "0x400E70C")]
private const float GJMMHGLGLIO = 0.2f;
// Token: 0x0400E70D RID: 59149
[Token(Token = "0x400E70D")]
private const float JEKIMDJLBAE = 3.5f;
// Token: 0x0400E70E RID: 59150
[Token(Token = "0x400E70E")]
private const float EPGIIPKANCN = 3.1f;
// Token: 0x0400E70F RID: 59151
[Token(Token = "0x400E70F")]
private const float NNLABCNMABN = 0.4f;
// Token: 0x0400E710 RID: 59152
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x400E710")]
[SerializeField]
[DDPIINEJFMD(JIBDPHMGEGO.SelfAndParent, false, false, false)]
private Tool tool;
// Token: 0x0400E711 RID: 59153
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x400E711")]
[SerializeField]
[Tooltip("Collider used to determine circuit connection bounds. Either this field OR the 'connectedBoundsSimple' must be set.")]
private Collider connectedBounds;
// Token: 0x0400E712 RID: 59154
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x400E712")]
[SerializeField]
[Tooltip("Simple Volume used to determine circuit connection bounds. Either this field OR the 'connectedBounds' must be set.")]
private SimpleVolume connectedBoundsSimple;
// Token: 0x0400E713 RID: 59155
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x400E713")]
private CircuitConnectionPoint[] CNPNIJHKMDP;
// Token: 0x0400E714 RID: 59156
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x400E714")]
private CircuitConnectionScaleController.CAINCCMGIJB ANLFJLAJHGG;
// Token: 0x0400E715 RID: 59157
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x400E715")]
private CircuitConnectionScaleController.CAINCCMGIJB ABFMNNMHOMG;
// Token: 0x0400E716 RID: 59158
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x400E716")]
private CircuitConnectionScaleController.AGAGPLFEPLO JEEFOBCMMJC;
// Token: 0x0400E717 RID: 59159
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x400E717")]
private Vector3 GJLENLBIICM;
// Token: 0x0400E718 RID: 59160
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x400E718")]
private Transform AMLMCPBIEEP;
// Token: 0x0400E719 RID: 59161
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x400E719")]
private Vector3 NNFCCHEDEBN;
// Token: 0x0400E71A RID: 59162
[FieldOffset(Offset = "0x64")]
[Token(Token = "0x400E71A")]
private float MEFNJEOHGCN;
// Token: 0x02003215 RID: 12821
[Token(Token = "0x2003215")]
private enum CAINCCMGIJB
{
// Token: 0x0400E71C RID: 59164
[Token(Token = "0x400E71C")]
X,
// Token: 0x0400E71D RID: 59165
[Token(Token = "0x400E71D")]
Y,
// Token: 0x0400E71E RID: 59166
[Token(Token = "0x400E71E")]
Z,
// Token: 0x0400E71F RID: 59167
[Token(Token = "0x400E71F")]
Num
}
// Token: 0x02003216 RID: 12822
[Token(Token = "0x2003216")]
private enum AGAGPLFEPLO
{
// Token: 0x0400E721 RID: 59169
[Token(Token = "0x400E721")]
Vertical,
// Token: 0x0400E722 RID: 59170
[Token(Token = "0x400E722")]
Horizontal
}
}
}