using System; using System.Runtime.InteropServices; using Cpp2IlInjected; using RecRoom; using UnityEngine; // Token: 0x020002B5 RID: 693 [Token(Token = "0x20002B5")] [StructLayout(3)] public class SphericalConstraintRigidbodyPickup : RigidbodyPickup { // Token: 0x17000333 RID: 819 // (get) Token: 0x060014EC RID: 5356 RVA: 0x00058A28 File Offset: 0x00056C28 [Token(Token = "0x17000333")] public override Vector3 EHAINJEAMKF { [Token(Token = "0x60014EC")] [Address(RVA = "0x1D62740", Offset = "0x1D61140", VA = "0x181D62740", Slot = "16")] get { Vector3 vector; float z = vector.z; int num = 0; int num2 = 0; bool flag; if (!flag) { Vector3 vector2; float z2 = vector2.z; float num4; if (z2 != 0f) { float num3 = Mathf.Min(num4, (float)num2); } Vector3 vector3 = MathExt.SphericalPointDegreestoCartesian(num4, (float)num2, (float)num); Vector3 vector4; float z3 = vector4.z; } throw new NullReferenceException(); } } // Token: 0x17000334 RID: 820 // (get) Token: 0x060014ED RID: 5357 RVA: 0x00058A80 File Offset: 0x00056C80 [Token(Token = "0x17000334")] public override Quaternion IKNMCIEGEHH { [Token(Token = "0x60014ED")] [Address(RVA = "0x1D62A00", Offset = "0x1D61400", VA = "0x181D62A00", Slot = "17")] get { bool flag; if (!flag) { Vector3 vector; float z = vector.z; Vector3 vector2; float z2 = vector2.z; Vector3 vector3; float z3 = vector3.z; } throw new NullReferenceException(); } } // Token: 0x060014EE RID: 5358 RVA: 0x00058AB4 File Offset: 0x00056CB4 [Token(Token = "0x60014EE")] [Address(RVA = "0x1D61960", Offset = "0x1D60360", VA = "0x181D61960", Slot = "13")] protected override void Awake() { base.Awake(); Transform transform = this.sphereOrigin; int num = 0; if (transform != num && this.automaticallyCalculateSphereRadius) { Transform transform2 = this.sphereOrigin; Transform transform3 = base.transform; Vector3 vector; float z = vector.z; Vector3 vector2; float z2 = vector2.z; } } // Token: 0x060014EF RID: 5359 RVA: 0x00058B0C File Offset: 0x00056D0C [Token(Token = "0x60014EF")] [Address(RVA = "0x1D61C80", Offset = "0x1D60680", VA = "0x181D61C80")] public void GetCurrentNormalizedPitchYaw(out float IFGAIOODCCB, out float IHGEPMLDNIF) { Transform transform = this.sphereOrigin; int num = 0; if (!(transform == num)) { RigidbodyEx afebljoibbc = this.AFEBLJOIBBC; Transform transform2 = this.sphereOrigin; Vector3 vector; float z = vector.z; Vector3 vector2; float z2 = vector2.z; float maxLimitedAngle = this.pitchConstraint.MaxLimitedAngle; float num2; IFGAIOODCCB.m_value = num2; float maxLimitedAngle2 = this.yawConstraint.MaxLimitedAngle; float num3; IHGEPMLDNIF.m_value = num3; } int num4 = 0; IFGAIOODCCB.m_value = (float)num4; IHGEPMLDNIF.m_value = (float)num4; } // Token: 0x060014F0 RID: 5360 RVA: 0x00058B98 File Offset: 0x00056D98 [Token(Token = "0x60014F0")] [Address(RVA = "0x1D61C50", Offset = "0x1D60650", VA = "0x181D61C50")] public float GetAbsoluteYawFromNormalizedYaw(float IHGEPMLDNIF) { float maxLimitedAngle = this.yawConstraint.MaxLimitedAngle; float num; return num; } // Token: 0x060014F1 RID: 5361 RVA: 0x00058BB4 File Offset: 0x00056DB4 [Token(Token = "0x60014F1")] [Address(RVA = "0x1D61C20", Offset = "0x1D60620", VA = "0x181D61C20")] public float GetAbsolutePitchFromNormalizedPitch(float IFGAIOODCCB) { float maxLimitedAngle = this.pitchConstraint.MaxLimitedAngle; float num; return num; } // Token: 0x060014F2 RID: 5362 RVA: 0x00058BD0 File Offset: 0x00056DD0 [Token(Token = "0x60014F2")] [Address(RVA = "0x1D61EA0", Offset = "0x1D608A0", VA = "0x181D61EA0")] public float GetNormalizedYawFromAbsoluteYaw(float HCHMEANOIBI) { float maxLimitedAngle = this.yawConstraint.MaxLimitedAngle; float num; return num; } // Token: 0x060014F3 RID: 5363 RVA: 0x00058BEC File Offset: 0x00056DEC [Token(Token = "0x60014F3")] [Address(RVA = "0x1D61E70", Offset = "0x1D60870", VA = "0x181D61E70")] public float GetNormalizedPitchFromAbsolutePitch(float DOHLECBFEKL) { float maxLimitedAngle = this.pitchConstraint.MaxLimitedAngle; float num; return num; } // Token: 0x060014F4 RID: 5364 RVA: 0x00058C08 File Offset: 0x00056E08 [Token(Token = "0x60014F4")] [Address(RVA = "0x1D61810", Offset = "0x1D60210", VA = "0x181D61810")] public void AuthoritySetNormalizedPitchYaw(float LOAODMKBMDC, float KDGKECCHEPD) { int num = 0; this.OnDestroy(); if (base.hasAuthority) { Transform transform = this.sphereOrigin; int num2 = 0; if (!(transform == num2)) { RigidbodyEx afebljoibbc = this.AFEBLJOIBBC; this.AFEBLJOIBBC.MEJCMIKAJCD = num; } } } // Token: 0x060014F5 RID: 5365 RVA: 0x00058C54 File Offset: 0x00056E54 [Token(Token = "0x60014F5")] [Address(RVA = "0x1D61ED0", Offset = "0x1D608D0", VA = "0x181D61ED0")] public Quaternion GetRotationFromNormalizedYawPitch(float NGKDOBJANBC, float NALPFONGMIK) { } // Token: 0x060014F6 RID: 5366 RVA: 0x00058C64 File Offset: 0x00056E64 [Token(Token = "0x60014F6")] [Address(RVA = "0x1D61F20", Offset = "0x1D60920", VA = "0x181D61F20")] public void GetTransformFromNormalizedYawPitch(float LOAODMKBMDC, float KDGKECCHEPD, out Vector3 DDHPAFKBMON, out Quaternion IGPENJBJADK) { RigidbodyEx afebljoibbc = this.AFEBLJOIBBC; Transform transform = this.sphereOrigin; int num = 0; float num2 = this.MGIFAIEOOMG(LOAODMKBMDC, num); float num3 = this.MGIFAIEOOMG(LOAODMKBMDC, num); float num4 = this.DJCFIBHPJOH(LOAODMKBMDC, num); float num5 = this.DJCFIBHPJOH(LOAODMKBMDC, num); if (this.positionConstraint != SphericalConstraintRigidbodyPickup.CCMCOINFNBP.SPHERE_SURFACE) { num5 = LOAODMKBMDC; float num6 = Mathf.Min(num5, LOAODMKBMDC); } Vector3 vector = MathExt.SphericalPointDegreestoCartesian(num5, LOAODMKBMDC, KDGKECCHEPD); Transform transform2 = this.sphereOrigin; Vector3 vector2; float z = vector2.z; DDHPAFKBMON.z = z; Transform transform3 = this.sphereOrigin; } // Token: 0x060014F7 RID: 5367 RVA: 0x00058CF4 File Offset: 0x00056EF4 [Token(Token = "0x60014F7")] [Address(RVA = "0x1D623F0", Offset = "0x1D60DF0", VA = "0x181D623F0")] private void LAFCIJFNLHL(Vector3 GHBPCACOCOL, out float HJKLGANFOPL, out float MDKCMHIBFAD, out float OMLBPICLALA) { float z = GHBPCACOCOL.z; } // Token: 0x060014F8 RID: 5368 RVA: 0x00058D08 File Offset: 0x00056F08 [Token(Token = "0x60014F8")] [Address(RVA = "0x1D625B0", Offset = "0x1D60FB0", VA = "0x181D625B0")] private Vector3 MJPKINGIPEF(float HJKLGANFOPL, float MDKCMHIBFAD, float OMLBPICLALA) { /* An exception occurred when decompiling this method (060014F8) ICSharpCode.Decompiler.DecompilerException: Error decompiling UnityEngine.Vector3 SphericalConstraintRigidbodyPickup::MJPKINGIPEF(System.Single,System.Single,System.Single) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:float32(var_2_06, ldfld:float32(Vector3::z, ldloc:Vector3[exp:valuetype [UnityEngine.CoreModule]UnityEngine.Vector3&](var_1))) } 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: 0x060014F9 RID: 5369 RVA: 0x00058D1C File Offset: 0x00056F1C [Token(Token = "0x60014F9")] [Address(RVA = "0x1D622E0", Offset = "0x1D60CE0", VA = "0x181D622E0")] private void KEEHCHFLOEK(ref float HJKLGANFOPL, ref float MDKCMHIBFAD, ref float OMLBPICLALA) { float maxLimitedAngle = this.pitchConstraint.MaxLimitedAngle; float num; HJKLGANFOPL.m_value = num; float maxLimitedAngle2 = this.yawConstraint.MaxLimitedAngle; float num2; MDKCMHIBFAD.m_value = num2; SphericalConstraintRigidbodyPickup.CCMCOINFNBP ccmcoinfnbp = this.positionConstraint; float num3 = this.sphereRadius; if (ccmcoinfnbp == SphericalConstraintRigidbodyPickup.CCMCOINFNBP.SPHERE_SURFACE) { OMLBPICLALA.m_value = num3; } float num4; OMLBPICLALA.m_value = num4; } // Token: 0x060014FA RID: 5370 RVA: 0x00058D74 File Offset: 0x00056F74 [Token(Token = "0x60014FA")] [Address(RVA = "0x1D61A70", Offset = "0x1D60470", VA = "0x181D61A70")] private float DJCFIBHPJOH(float ABMABCNKBCN, SphericalConstraintRigidbodyPickup.AngularMovementConstraint MCDCCMIJPMC) { float maxLimitedAngle = MCDCCMIJPMC.MaxLimitedAngle; return ABMABCNKBCN; } // Token: 0x060014FB RID: 5371 RVA: 0x00058DB8 File Offset: 0x00056FB8 [Token(Token = "0x60014FB")] [Address(RVA = "0x1476E20", Offset = "0x1475820", VA = "0x181476E20")] private float OMLPHBMEJGI(float ABMABCNKBCN) { if (ABMABCNKBCN <= 180f) { return ABMABCNKBCN; } return ABMABCNKBCN; } // Token: 0x060014FC RID: 5372 RVA: 0x00058DD0 File Offset: 0x00056FD0 [Token(Token = "0x60014FC")] [Address(RVA = "0x1D616E0", Offset = "0x1D600E0", VA = "0x181D616E0")] private float AGOOLMBOBMB(float ABMABCNKBCN, SphericalConstraintRigidbodyPickup.AngularMovementConstraint MCDCCMIJPMC) { float maxLimitedAngle = MCDCCMIJPMC.MaxLimitedAngle; if (ABMABCNKBCN <= 180f) { } if (ABMABCNKBCN <= 180f) { } float num; return num; } // Token: 0x060014FD RID: 5373 RVA: 0x00058DF8 File Offset: 0x00056FF8 [Token(Token = "0x60014FD")] [Address(RVA = "0x1D62480", Offset = "0x1D60E80", VA = "0x181D62480")] private float MGIFAIEOOMG(float BHPFIKKDLJE, SphericalConstraintRigidbodyPickup.AngularMovementConstraint MCDCCMIJPMC) { float maxLimitedAngle = MCDCCMIJPMC.MaxLimitedAngle; return Mathf.Lerp(-180f, 180f, BHPFIKKDLJE); } // Token: 0x060014FE RID: 5374 RVA: 0x00058E2C File Offset: 0x0005702C [Token(Token = "0x60014FE")] [Address(RVA = "0x1D61B90", Offset = "0x1D60590", VA = "0x181D61B90")] private float EHGKCBCHKJD(float BJAKFKBMOAD, SphericalConstraintRigidbodyPickup.CCMCOINFNBP MCDCCMIJPMC) { if (MCDCCMIJPMC == SphericalConstraintRigidbodyPickup.CCMCOINFNBP.SPHERE_SURFACE) { } return Mathf.Min(BJAKFKBMOAD, BJAKFKBMOAD); } // Token: 0x060014FF RID: 5375 RVA: 0x00058E44 File Offset: 0x00057044 [Token(Token = "0x60014FF")] [Address(RVA = "0x1D62650", Offset = "0x1D61050", VA = "0x181D62650")] public SphericalConstraintRigidbodyPickup() { this.pitchConstraint.MaxLimitedAngle = typeof(SphericalConstraintRigidbodyPickup.AngularMovementConstraint).TypeHandle; this.rollConstraint.MaxLimitedAngle = typeof(SphericalConstraintRigidbodyPickup.AngularMovementConstraint).TypeHandle; base..ctor(); } // Token: 0x0400108D RID: 4237 [global::Cpp2IlInjected.FieldOffset(Offset = "0xD8")] [Token(Token = "0x400108D")] [Header("Sphere")] public Transform sphereOrigin; // Token: 0x0400108E RID: 4238 [global::Cpp2IlInjected.FieldOffset(Offset = "0xE0")] [Token(Token = "0x400108E")] [Header("Position Constraint")] public SphericalConstraintRigidbodyPickup.CCMCOINFNBP positionConstraint; // Token: 0x0400108F RID: 4239 [global::Cpp2IlInjected.FieldOffset(Offset = "0xE4")] [Token(Token = "0x400108F")] public bool automaticallyCalculateSphereRadius = true; // Token: 0x04001090 RID: 4240 [global::Cpp2IlInjected.FieldOffset(Offset = "0xE8")] [Token(Token = "0x4001090")] public float sphereRadius = 1f; // Token: 0x04001091 RID: 4241 [global::Cpp2IlInjected.FieldOffset(Offset = "0xEC")] [Token(Token = "0x4001091")] [Header("Rotational Constraints")] public SphericalConstraintRigidbodyPickup.AngularMovementConstraint yawConstraint; // Token: 0x04001092 RID: 4242 [global::Cpp2IlInjected.FieldOffset(Offset = "0xF8")] [Token(Token = "0x4001092")] public SphericalConstraintRigidbodyPickup.AngularMovementConstraint pitchConstraint; // Token: 0x04001093 RID: 4243 [global::Cpp2IlInjected.FieldOffset(Offset = "0x104")] [Token(Token = "0x4001093")] public SphericalConstraintRigidbodyPickup.AngularMovementConstraint rollConstraint; // Token: 0x020002B6 RID: 694 [Token(Token = "0x20002B6")] public enum ONLCHPKDBCD { // Token: 0x04001095 RID: 4245 [Token(Token = "0x4001095")] LOCKED, // Token: 0x04001096 RID: 4246 [Token(Token = "0x4001096")] LIMITED, // Token: 0x04001097 RID: 4247 [Token(Token = "0x4001097")] FREE } // Token: 0x020002B7 RID: 695 [Token(Token = "0x20002B7")] public enum CCMCOINFNBP { // Token: 0x04001099 RID: 4249 [Token(Token = "0x4001099")] SPHERE_SURFACE, // Token: 0x0400109A RID: 4250 [Token(Token = "0x400109A")] SPHERE_VOLUME } // Token: 0x020002B8 RID: 696 [Token(Token = "0x20002B8")] [Serializable] public struct AngularMovementConstraint { // Token: 0x0400109B RID: 4251 [global::Cpp2IlInjected.FieldOffset(Offset = "0x0")] [Token(Token = "0x400109B")] public SphericalConstraintRigidbodyPickup.ONLCHPKDBCD Mode; // Token: 0x0400109C RID: 4252 [global::Cpp2IlInjected.FieldOffset(Offset = "0x4")] [Token(Token = "0x400109C")] [Header("Limited")] public float MinLimitedAngle; // Token: 0x0400109D RID: 4253 [global::Cpp2IlInjected.FieldOffset(Offset = "0x8")] [Token(Token = "0x400109D")] public float MaxLimitedAngle; // Token: 0x0400109E RID: 4254 [Token(Token = "0x400109E")] public static SphericalConstraintRigidbodyPickup.AngularMovementConstraint Default; } }