416 lines
15 KiB
C#
416 lines
15 KiB
C#
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;
|
|
}
|
|
}
|