Files
NobetaSource/Cpp2IL/Assembly-CSharp/RootMotion/FinalIK/IKSolverVR.cs
2023-09-06 22:09:22 +02:00

2678 lines
92 KiB
C#

using System;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.Serialization;
namespace RootMotion.FinalIK
{
// Token: 0x02000442 RID: 1090
[Token(Token = "0x2000442")]
[Serializable]
public class IKSolverVR : IKSolver
{
// Token: 0x06002711 RID: 10001 RVA: 0x00056CE8 File Offset: 0x00054EE8
[Token(Token = "0x6002711")]
[Address(RVA = "0x1678DA0", Offset = "0x16775A0", VA = "0x181678DA0")]
public void SetToReferences(VRIK.References references)
{
if (references.isFilled)
{
Transform[] transforms = references.GetTransforms();
this.solverTransforms = transforms;
Transform transform = this.solverTransforms[3];
int num = 0;
bool flag = transform != num;
Transform[] array = this.solverTransforms;
this.hasChest = flag;
Transform transform2 = array[4];
int num2 = 0;
bool flag2 = transform2 != num2;
Transform[] array2 = this.solverTransforms;
this.hasNeck = flag2;
Transform transform3 = array2[6];
int num3 = 0;
if (!(transform3 != num3))
{
}
Transform transform4 = this.solverTransforms[10];
int num4 = 0;
bool flag3 = transform4 != num4;
this.hasShoulders = flag3;
Transform transform5 = this.solverTransforms[17];
int num5 = 0;
if (!(transform5 != num5))
{
}
Transform transform6 = this.solverTransforms[21];
int num6 = 0;
bool flag4 = transform6 != num6;
this.hasToes = flag4;
Vector3[] array3 = new Vector3[this.solverTransforms.Length];
this.readPositions = array3;
Quaternion[] array4 = new Quaternion[this.solverTransforms.Length];
this.readRotations = array4;
this.DefaultAnimationCurves();
this.GuessHandOrientations(references, true);
return;
}
Debug.LogError("Invalid references, one or more Transforms are missing.");
throw new NullReferenceException();
}
// Token: 0x06002712 RID: 10002 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002712")]
[Address(RVA = "0x16777F0", Offset = "0x1675FF0", VA = "0x1816777F0")]
public void GuessHandOrientations(VRIK.References references, bool onlyIfZero)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002713 RID: 10003 RVA: 0x00056E30 File Offset: 0x00055030
[Token(Token = "0x6002713")]
[Address(RVA = "0x16766D0", Offset = "0x1674ED0", VA = "0x1816766D0")]
public void DefaultAnimationCurves()
{
IKSolverVR.Locomotion locomotion;
do
{
locomotion = this.locomotion;
if (locomotion.stepHeight == (ulong)0L)
{
AnimationCurve animationCurve = new AnimationCurve();
locomotion.stepHeight = animationCurve;
IKSolverVR.Locomotion locomotion2 = this.locomotion;
}
}
while (locomotion.heelHeight != (ulong)0L);
AnimationCurve animationCurve2 = new AnimationCurve();
locomotion.heelHeight = animationCurve2;
if (this.locomotion.stepHeight.keys.Length == 0)
{
AnimationCurve stepHeight = this.locomotion.stepHeight;
Keyframe[] sineKeyframes = IKSolverVR.GetSineKeyframes(0.03f);
stepHeight.keys = sineKeyframes;
}
if (this.locomotion.heelHeight.keys.Length == 0)
{
AnimationCurve heelHeight = this.locomotion.heelHeight;
Keyframe[] sineKeyframes2 = IKSolverVR.GetSineKeyframes(0.03f);
heelHeight.keys = sineKeyframes2;
}
}
// Token: 0x06002714 RID: 10004 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002714")]
[Address(RVA = "0x16760F0", Offset = "0x16748F0", VA = "0x1816760F0")]
public void AddPositionOffset(IKSolverVR.PositionOffset positionOffset, Vector3 value)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002715 RID: 10005 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002715")]
[Address(RVA = "0x1676490", Offset = "0x1674C90", VA = "0x181676490")]
public void AddRotationOffset(IKSolverVR.RotationOffset rotationOffset, Vector3 value)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002716 RID: 10006 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002716")]
[Address(RVA = "0x16765D0", Offset = "0x1674DD0", VA = "0x1816765D0")]
public void AddRotationOffset(IKSolverVR.RotationOffset rotationOffset, Quaternion value)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002717 RID: 10007 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002717")]
[Address(RVA = "0x1675F60", Offset = "0x1674760", VA = "0x181675F60")]
public void AddPlatformMotion(Vector3 deltaPosition, Quaternion deltaRotation, Vector3 platformPivot)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002718 RID: 10008 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002718")]
[Address(RVA = "0x1678C60", Offset = "0x1677460", VA = "0x181678C60")]
public void Reset()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002719 RID: 10009 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002719")]
[Address(RVA = "0x167A9C0", Offset = "0x16791C0", VA = "0x18167A9C0", Slot = "9")]
public override void StoreDefaultLocalState()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600271A RID: 10010 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600271A")]
[Address(RVA = "0x1676870", Offset = "0x1675070", VA = "0x181676870", Slot = "8")]
public override void FixTransforms()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600271B RID: 10011 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600271B")]
[Address(RVA = "0x1677510", Offset = "0x1675D10", VA = "0x181677510", Slot = "6")]
public override IKSolver.Point[] GetPoints()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600271C RID: 10012 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600271C")]
[Address(RVA = "0x16774B0", Offset = "0x1675CB0", VA = "0x1816774B0", Slot = "7")]
public override IKSolver.Point GetPoint(Transform transform)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600271D RID: 10013 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600271D")]
[Address(RVA = "0x1678200", Offset = "0x1676A00", VA = "0x181678200", Slot = "4")]
public override bool IsValid(ref string message)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600271E RID: 10014 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600271E")]
[Address(RVA = "0x1676A20", Offset = "0x1675220", VA = "0x181676A20")]
private Vector3 GetNormal(Transform[] transforms)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600271F RID: 10015 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600271F")]
[Address(RVA = "0x1678020", Offset = "0x1676820", VA = "0x181678020")]
private Vector3 GuessWristToPalmAxis(Transform hand, Transform forearm)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002720 RID: 10016 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002720")]
[Address(RVA = "0x1677B10", Offset = "0x1676310", VA = "0x181677B10")]
private Vector3 GuessPalmToThumbAxis(Transform hand, Transform forearm)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002721 RID: 10017 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002721")]
[Address(RVA = "0x1677680", Offset = "0x1675E80", VA = "0x181677680")]
private static Keyframe[] GetSineKeyframes(float mag)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002722 RID: 10018 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002722")]
[Address(RVA = "0x167AB60", Offset = "0x1679360", VA = "0x18167AB60")]
private void UpdateSolverTransforms()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002723 RID: 10019 RVA: 0x00056EF8 File Offset: 0x000550F8
[Token(Token = "0x6002723")]
[Address(RVA = "0x16784A0", Offset = "0x1676CA0", VA = "0x1816784A0", Slot = "10")]
protected override void OnInitiate()
{
this.UpdateSolverTransforms();
bool flag = this.hasToes;
bool flag2 = this.hasChest;
Quaternion[] array = this.readRotations;
Vector3[] array2 = this.readPositions;
bool flag3 = this.hasShoulders;
bool flag4 = this.hasNeck;
this.Read(array2, array, flag2, flag4, flag3, flag);
}
// Token: 0x06002724 RID: 10020 RVA: 0x00056F48 File Offset: 0x00055148
[Token(Token = "0x6002724")]
[Address(RVA = "0x16784F0", Offset = "0x1676CF0", VA = "0x1816784F0", Slot = "11")]
protected override void OnUpdate()
{
float ikpositionWeight = this.IKPositionWeight;
int num = 0;
if (ikpositionWeight > (float)num)
{
this.UpdateSolverTransforms();
bool flag = this.hasToes;
bool flag2 = this.hasChest;
Quaternion[] array = this.readRotations;
Vector3[] array2 = this.readPositions;
bool flag3 = this.hasShoulders;
bool flag4 = this.hasNeck;
this.Read(array2, array, flag2, flag4, flag3, flag);
this.Solve();
this.Write();
this.WriteTransforms();
return;
}
}
// Token: 0x06002725 RID: 10021 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002725")]
[Address(RVA = "0x167AD20", Offset = "0x1679520", VA = "0x18167AD20")]
private void WriteTransforms()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002726 RID: 10022 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002726")]
[Address(RVA = "0x1678570", Offset = "0x1676D70", VA = "0x181678570")]
private void Read(Vector3[] positions, Quaternion[] rotations, bool hasChest, bool hasNeck, bool hasShoulders, bool hasToes)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002727 RID: 10023 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002727")]
[Address(RVA = "0x16790E0", Offset = "0x16778E0", VA = "0x1816790E0")]
private void Solve()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002728 RID: 10024 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002728")]
[Address(RVA = "0x1677570", Offset = "0x1675D70", VA = "0x181677570")]
private Vector3 GetPosition(int index)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002729 RID: 10025 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002729")]
[Address(RVA = "0x1677630", Offset = "0x1675E30", VA = "0x181677630")]
private Quaternion GetRotation(int index)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x17000252 RID: 594
// (get) Token: 0x0600272A RID: 10026 RVA: 0x00056FBC File Offset: 0x000551BC
// (set) Token: 0x0600272B RID: 10027 RVA: 0x00056FD0 File Offset: 0x000551D0
[Token(Token = "0x17000252")]
[HideInInspector]
public IKSolverVR.VirtualBone rootBone
{
[Token(Token = "0x600272A")]
[Address(RVA = "0x704940", Offset = "0x703140", VA = "0x180704940")]
[CompilerGenerated]
get
{
return this.<rootBone>k__BackingField;
}
[Token(Token = "0x600272B")]
[Address(RVA = "0x704A20", Offset = "0x703220", VA = "0x180704A20")]
[CompilerGenerated]
private set
{
/*
An exception occurred when decompiling this method (0600272B)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void RootMotion.FinalIK.IKSolverVR::set_rootBone(RootMotion.FinalIK.IKSolverVR/VirtualBone)
---> System.Exception: Basic block has to end with unconditional control flow.
{; Block_0:; stfld:VirtualBone(IKSolverVR::<rootBone>k__BackingField, ldloc:IKSolverVR(this), ldloc:VirtualBone(value)); };
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1810
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 344
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 1618
*/;
}
}
// Token: 0x0600272C RID: 10028 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600272C")]
[Address(RVA = "0x167AFE0", Offset = "0x16797E0", VA = "0x18167AFE0")]
private void Write()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600272D RID: 10029 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600272D")]
[Address(RVA = "0x1676D20", Offset = "0x1675520", VA = "0x181676D20")]
private Vector3 GetPelvisOffset()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600272E RID: 10030 RVA: 0x00056FE4 File Offset: 0x000551E4
[Token(Token = "0x600272E")]
[Address(RVA = "0x167B190", Offset = "0x1679990", VA = "0x18167B190")]
public IKSolverVR()
{
Transform[] array = new Transform[0];
this.solverTransforms = array;
Vector3[] array2 = new Vector3[0];
this.readPositions = array2;
Quaternion[] array3 = new Quaternion[0];
this.readRotations = array3;
Vector3[] array4 = new Vector3[2];
this.solvedPositions = array4;
Quaternion[] array5 = new Quaternion[22];
this.solvedRotations = array5;
Quaternion[] array6 = new Quaternion[21];
this.defaultLocalRotations = array6;
this.plantFeet = true;
IKSolverVR.Spine spine = new IKSolverVR.Spine();
this.spine = spine;
IKSolverVR.Arm arm = new IKSolverVR.Arm();
this.leftArm = arm;
IKSolverVR.Arm arm2 = new IKSolverVR.Arm();
this.rightArm = arm2;
IKSolverVR.Leg leg = new IKSolverVR.Leg();
this.leftLeg = leg;
IKSolverVR.Leg leg2 = new IKSolverVR.Leg();
this.rightLeg = leg2;
IKSolverVR.Locomotion locomotion = new IKSolverVR.Locomotion();
this.locomotion = locomotion;
IKSolverVR.Leg[] array7 = new IKSolverVR.Leg[2];
this.legs = array7;
IKSolverVR.Arm[] array8 = new IKSolverVR.Arm[2];
this.arms = array8;
base..ctor();
}
// Token: 0x04003062 RID: 12386
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4003062")]
private Transform[] solverTransforms;
// Token: 0x04003063 RID: 12387
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4003063")]
private bool hasChest;
// Token: 0x04003064 RID: 12388
[FieldOffset(Offset = "0x61")]
[Token(Token = "0x4003064")]
private bool hasNeck;
// Token: 0x04003065 RID: 12389
[FieldOffset(Offset = "0x62")]
[Token(Token = "0x4003065")]
private bool hasShoulders;
// Token: 0x04003066 RID: 12390
[FieldOffset(Offset = "0x63")]
[Token(Token = "0x4003066")]
private bool hasToes;
// Token: 0x04003067 RID: 12391
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4003067")]
private Vector3[] readPositions;
// Token: 0x04003068 RID: 12392
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4003068")]
private Quaternion[] readRotations;
// Token: 0x04003069 RID: 12393
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4003069")]
private Vector3[] solvedPositions;
// Token: 0x0400306A RID: 12394
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x400306A")]
private Quaternion[] solvedRotations;
// Token: 0x0400306B RID: 12395
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x400306B")]
private Vector3 defaultPelvisLocalPosition;
// Token: 0x0400306C RID: 12396
[FieldOffset(Offset = "0x98")]
[Token(Token = "0x400306C")]
private Quaternion[] defaultLocalRotations;
// Token: 0x0400306D RID: 12397
[FieldOffset(Offset = "0xA0")]
[Token(Token = "0x400306D")]
private Vector3 rootV;
// Token: 0x0400306E RID: 12398
[FieldOffset(Offset = "0xAC")]
[Token(Token = "0x400306E")]
private Vector3 rootVelocity;
// Token: 0x0400306F RID: 12399
[FieldOffset(Offset = "0xB8")]
[Token(Token = "0x400306F")]
private Vector3 bodyOffset;
// Token: 0x04003070 RID: 12400
[FieldOffset(Offset = "0xC4")]
[Token(Token = "0x4003070")]
private int supportLegIndex;
// Token: 0x04003071 RID: 12401
[FieldOffset(Offset = "0xC8")]
[Token(Token = "0x4003071")]
[Tooltip("If true, will keep the toes planted even if head target is out of reach.")]
public bool plantFeet;
// Token: 0x04003073 RID: 12403
[FieldOffset(Offset = "0xD8")]
[Token(Token = "0x4003073")]
[Tooltip("The spine solver.")]
public IKSolverVR.Spine spine;
// Token: 0x04003074 RID: 12404
[FieldOffset(Offset = "0xE0")]
[Token(Token = "0x4003074")]
[Tooltip("The left arm solver.")]
public IKSolverVR.Arm leftArm;
// Token: 0x04003075 RID: 12405
[FieldOffset(Offset = "0xE8")]
[Token(Token = "0x4003075")]
[Tooltip("The right arm solver.")]
public IKSolverVR.Arm rightArm;
// Token: 0x04003076 RID: 12406
[FieldOffset(Offset = "0xF0")]
[Token(Token = "0x4003076")]
[Tooltip("The left leg solver.")]
public IKSolverVR.Leg leftLeg;
// Token: 0x04003077 RID: 12407
[FieldOffset(Offset = "0xF8")]
[Token(Token = "0x4003077")]
[Tooltip("The right leg solver.")]
public IKSolverVR.Leg rightLeg;
// Token: 0x04003078 RID: 12408
[FieldOffset(Offset = "0x100")]
[Token(Token = "0x4003078")]
[Tooltip("The procedural locomotion solver.")]
public IKSolverVR.Locomotion locomotion;
// Token: 0x04003079 RID: 12409
[FieldOffset(Offset = "0x108")]
[Token(Token = "0x4003079")]
private IKSolverVR.Leg[] legs;
// Token: 0x0400307A RID: 12410
[FieldOffset(Offset = "0x110")]
[Token(Token = "0x400307A")]
private IKSolverVR.Arm[] arms;
// Token: 0x0400307B RID: 12411
[FieldOffset(Offset = "0x118")]
[Token(Token = "0x400307B")]
private Vector3 headPosition;
// Token: 0x0400307C RID: 12412
[FieldOffset(Offset = "0x124")]
[Token(Token = "0x400307C")]
private Vector3 headDeltaPosition;
// Token: 0x0400307D RID: 12413
[FieldOffset(Offset = "0x130")]
[Token(Token = "0x400307D")]
private Vector3 raycastOriginPelvis;
// Token: 0x0400307E RID: 12414
[FieldOffset(Offset = "0x13C")]
[Token(Token = "0x400307E")]
private Vector3 lastOffset;
// Token: 0x0400307F RID: 12415
[FieldOffset(Offset = "0x148")]
[Token(Token = "0x400307F")]
private Vector3 debugPos1;
// Token: 0x04003080 RID: 12416
[FieldOffset(Offset = "0x154")]
[Token(Token = "0x4003080")]
private Vector3 debugPos2;
// Token: 0x04003081 RID: 12417
[FieldOffset(Offset = "0x160")]
[Token(Token = "0x4003081")]
private Vector3 debugPos3;
// Token: 0x04003082 RID: 12418
[FieldOffset(Offset = "0x16C")]
[Token(Token = "0x4003082")]
private Vector3 debugPos4;
// Token: 0x02000443 RID: 1091
[Token(Token = "0x2000443")]
[Serializable]
public class Arm : IKSolverVR.BodyPart
{
// Token: 0x17000253 RID: 595
// (get) Token: 0x0600272F RID: 10031 RVA: 0x000020D3 File Offset: 0x000002D3
// (set) Token: 0x06002730 RID: 10032 RVA: 0x000570D4 File Offset: 0x000552D4
[Token(Token = "0x17000253")]
public Vector3 position
{
[Token(Token = "0x600272F")]
[Address(RVA = "0x157F970", Offset = "0x157E170", VA = "0x18157F970")]
[CompilerGenerated]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
[Token(Token = "0x6002730")]
[Address(RVA = "0x157F9E0", Offset = "0x157E1E0", VA = "0x18157F9E0")]
[CompilerGenerated]
private set
{
float z = value.z;
this.<position>k__BackingField.z = z;
}
}
// Token: 0x17000254 RID: 596
// (get) Token: 0x06002731 RID: 10033 RVA: 0x000020D3 File Offset: 0x000002D3
// (set) Token: 0x06002732 RID: 10034 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x17000254")]
public Quaternion rotation
{
[Token(Token = "0x6002731")]
[Address(RVA = "0x157F990", Offset = "0x157E190", VA = "0x18157F990")]
[CompilerGenerated]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
[Token(Token = "0x6002732")]
[Address(RVA = "0x157FA00", Offset = "0x157E200", VA = "0x18157FA00")]
[CompilerGenerated]
private set
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x17000255 RID: 597
// (get) Token: 0x06002733 RID: 10035 RVA: 0x000570F4 File Offset: 0x000552F4
[Token(Token = "0x17000255")]
private IKSolverVR.VirtualBone shoulder
{
[Token(Token = "0x6002733")]
[Address(RVA = "0xA91380", Offset = "0xA8FB80", VA = "0x180A91380")]
get
{
return this.bones[0];
}
}
// Token: 0x17000256 RID: 598
// (get) Token: 0x06002734 RID: 10036 RVA: 0x00057114 File Offset: 0x00055314
[Token(Token = "0x17000256")]
private IKSolverVR.VirtualBone upperArm
{
[Token(Token = "0x6002734")]
[Address(RVA = "0x157F9A0", Offset = "0x157E1A0", VA = "0x18157F9A0")]
get
{
return this.bones[1];
}
}
// Token: 0x17000257 RID: 599
// (get) Token: 0x06002735 RID: 10037 RVA: 0x00057134 File Offset: 0x00055334
[Token(Token = "0x17000257")]
private IKSolverVR.VirtualBone forearm
{
[Token(Token = "0x6002735")]
[Address(RVA = "0x157F8F0", Offset = "0x157E0F0", VA = "0x18157F8F0")]
get
{
return this.bones[2];
}
}
// Token: 0x17000258 RID: 600
// (get) Token: 0x06002736 RID: 10038 RVA: 0x00057154 File Offset: 0x00055354
[Token(Token = "0x17000258")]
private IKSolverVR.VirtualBone hand
{
[Token(Token = "0x6002736")]
[Address(RVA = "0x157F930", Offset = "0x157E130", VA = "0x18157F930")]
get
{
return this.bones[3];
}
}
// Token: 0x06002737 RID: 10039 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002737")]
[Address(RVA = "0x157CAD0", Offset = "0x157B2D0", VA = "0x18157CAD0", Slot = "4")]
protected override void OnRead(Vector3[] positions, Quaternion[] rotations, bool hasChest, bool hasNeck, bool hasShoulders, bool hasToes, int rootIndex, int index)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002738 RID: 10040 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002738")]
[Address(RVA = "0x157D5A0", Offset = "0x157BDA0", VA = "0x18157D5A0", Slot = "5")]
public override void PreSolve()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002739 RID: 10041 RVA: 0x00057174 File Offset: 0x00055374
[Token(Token = "0x6002739")]
[Address(RVA = "0x157C280", Offset = "0x157AA80", VA = "0x18157C280", Slot = "7")]
public override void ApplyOffsets()
{
float z = this.handPositionOffset.z;
float z2 = this.<position>k__BackingField.z;
float z3 = this.handPositionOffset.z;
float z4 = this.<position>k__BackingField.z;
float z5 = this.handPositionOffset.z;
this.<position>k__BackingField.z = z4;
}
// Token: 0x0600273A RID: 10042 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600273A")]
[Address(RVA = "0x157D8A0", Offset = "0x157C0A0", VA = "0x18157D8A0")]
public void Solve(bool isLeft)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600273B RID: 10043 RVA: 0x000571CC File Offset: 0x000553CC
[Token(Token = "0x600273B")]
[Address(RVA = "0x157D870", Offset = "0x157C070", VA = "0x18157D870", Slot = "8")]
public override void ResetOffsets()
{
float z = Vector3.zero.z;
this.handPositionOffset.z = z;
}
// Token: 0x0600273C RID: 10044 RVA: 0x000571F0 File Offset: 0x000553F0
[Token(Token = "0x600273C")]
[Address(RVA = "0x157F600", Offset = "0x157DE00", VA = "0x18157F600", Slot = "6")]
public override void Write(ref Vector3[] solvedPositions, ref Quaternion[] solvedRotations)
{
if (this.hasShoulder)
{
IKSolverVR.VirtualBone[] array = this.bones;
int index = this.index;
IKSolverVR.VirtualBone virtualBone = array[0];
array += array;
}
IKSolverVR.VirtualBone virtualBone2 = this.bones[1];
int num = this.index;
num++;
num += 2;
num += num;
IKSolverVR.VirtualBone virtualBone3 = this.bones[2];
int num2 = this.index;
num2 += 2;
num2 += 2;
num2 += num2;
IKSolverVR.VirtualBone[] array2 = this.bones;
IKSolverVR.VirtualBone virtualBone4 = array2[3];
array2 += array2;
}
// Token: 0x0600273D RID: 10045 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600273D")]
[Address(RVA = "0x157C310", Offset = "0x157AB10", VA = "0x18157C310")]
private float DamperValue(float value, float min, float max, float weight = 1f)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600273E RID: 10046 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600273E")]
[Address(RVA = "0x157C3A0", Offset = "0x157ABA0", VA = "0x18157C3A0")]
private Vector3 GetBendNormal(Vector3 dir)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600273F RID: 10047 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600273F")]
[Address(RVA = "0x157F4C0", Offset = "0x157DCC0", VA = "0x18157F4C0")]
private void Visualize(IKSolverVR.VirtualBone bone1, IKSolverVR.VirtualBone bone2, IKSolverVR.VirtualBone bone3, Color color)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002740 RID: 10048 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002740")]
[Address(RVA = "0x157F7D0", Offset = "0x157DFD0", VA = "0x18157F7D0")]
public Arm()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x04003083 RID: 12419
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4003083")]
[Tooltip("The hand target")]
public Transform target;
// Token: 0x04003084 RID: 12420
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4003084")]
[Tooltip("The elbow will be bent towards this Transform if 'Bend Goal Weight' > 0.")]
public Transform bendGoal;
// Token: 0x04003085 RID: 12421
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4003085")]
[Tooltip("Positional weight of the hand target.")]
[Range(0f, 1f)]
public float positionWeight;
// Token: 0x04003086 RID: 12422
[FieldOffset(Offset = "0x5C")]
[Token(Token = "0x4003086")]
[Tooltip("Rotational weight of the hand target")]
[Range(0f, 1f)]
public float rotationWeight;
// Token: 0x04003087 RID: 12423
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4003087")]
[Tooltip("Different techniques for shoulder bone rotation.")]
public IKSolverVR.Arm.ShoulderRotationMode shoulderRotationMode;
// Token: 0x04003088 RID: 12424
[FieldOffset(Offset = "0x64")]
[Token(Token = "0x4003088")]
[Range(0f, 1f)]
[Tooltip("The weight of shoulder rotation")]
public float shoulderRotationWeight;
// Token: 0x04003089 RID: 12425
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4003089")]
[Range(0f, 1f)]
[Tooltip("If greater than 0, will bend the elbow towards the 'Bend Goal' Transform.")]
public float bendGoalWeight;
// Token: 0x0400308A RID: 12426
[FieldOffset(Offset = "0x6C")]
[Token(Token = "0x400308A")]
[Range(-180f, 180f)]
[Tooltip("Angular offset of the elbow bending direction.")]
public float swivelOffset;
// Token: 0x0400308B RID: 12427
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x400308B")]
[Tooltip("Local axis of the hand bone that points from the wrist towards the palm. Used for defining hand bone orientation.")]
public Vector3 wristToPalmAxis;
// Token: 0x0400308C RID: 12428
[FieldOffset(Offset = "0x7C")]
[Token(Token = "0x400308C")]
[Tooltip("Local axis of the hand bone that points from the palm towards the thumb. Used for defining hand bone orientation.")]
public Vector3 palmToThumbAxis;
// Token: 0x0400308D RID: 12429
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x400308D")]
[HideInInspector]
[NonSerialized]
public Vector3 IKPosition;
// Token: 0x0400308E RID: 12430
[FieldOffset(Offset = "0x94")]
[Token(Token = "0x400308E")]
[HideInInspector]
[NonSerialized]
public Quaternion IKRotation;
// Token: 0x0400308F RID: 12431
[FieldOffset(Offset = "0xA4")]
[Token(Token = "0x400308F")]
[HideInInspector]
[NonSerialized]
public Vector3 bendDirection;
// Token: 0x04003090 RID: 12432
[FieldOffset(Offset = "0xB0")]
[Token(Token = "0x4003090")]
[HideInInspector]
[NonSerialized]
public Vector3 handPositionOffset;
// Token: 0x04003093 RID: 12435
[FieldOffset(Offset = "0xD8")]
[Token(Token = "0x4003093")]
private bool hasShoulder;
// Token: 0x04003094 RID: 12436
[FieldOffset(Offset = "0xDC")]
[Token(Token = "0x4003094")]
private Vector3 chestForwardAxis;
// Token: 0x04003095 RID: 12437
[FieldOffset(Offset = "0xE8")]
[Token(Token = "0x4003095")]
private Vector3 chestUpAxis;
// Token: 0x04003096 RID: 12438
[FieldOffset(Offset = "0xF4")]
[Token(Token = "0x4003096")]
private Quaternion chestRotation;
// Token: 0x04003097 RID: 12439
[FieldOffset(Offset = "0x104")]
[Token(Token = "0x4003097")]
private Vector3 chestForward;
// Token: 0x04003098 RID: 12440
[FieldOffset(Offset = "0x110")]
[Token(Token = "0x4003098")]
private Vector3 chestUp;
// Token: 0x04003099 RID: 12441
[FieldOffset(Offset = "0x11C")]
[Token(Token = "0x4003099")]
private Quaternion forearmRelToUpperArm;
// Token: 0x0400309A RID: 12442
[Token(Token = "0x400309A")]
private const float yawOffsetAngle = 45f;
// Token: 0x0400309B RID: 12443
[Token(Token = "0x400309B")]
private const float pitchOffsetAngle = -30f;
// Token: 0x02000444 RID: 1092
[Token(Token = "0x2000444")]
[Serializable]
public enum ShoulderRotationMode
{
// Token: 0x0400309D RID: 12445
[Token(Token = "0x400309D")]
YawPitch,
// Token: 0x0400309E RID: 12446
[Token(Token = "0x400309E")]
FromTo
}
}
// Token: 0x02000445 RID: 1093
[Token(Token = "0x2000445")]
[Serializable]
public abstract class BodyPart
{
// Token: 0x06002741 RID: 10049
[Token(Token = "0x6002741")]
[Address(Slot = "4")]
protected abstract void OnRead(Vector3[] positions, Quaternion[] rotations, bool hasChest, bool hasNeck, bool hasShoulders, bool hasToes, int rootIndex, int index);
// Token: 0x06002742 RID: 10050
[Token(Token = "0x6002742")]
[Address(Slot = "5")]
public abstract void PreSolve();
// Token: 0x06002743 RID: 10051
[Token(Token = "0x6002743")]
[Address(Slot = "6")]
public abstract void Write(ref Vector3[] solvedPositions, ref Quaternion[] solvedRotations);
// Token: 0x06002744 RID: 10052
[Token(Token = "0x6002744")]
[Address(Slot = "7")]
public abstract void ApplyOffsets();
// Token: 0x06002745 RID: 10053
[Token(Token = "0x6002745")]
[Address(Slot = "8")]
public abstract void ResetOffsets();
// Token: 0x17000259 RID: 601
// (get) Token: 0x06002746 RID: 10054 RVA: 0x00057290 File Offset: 0x00055490
// (set) Token: 0x06002747 RID: 10055 RVA: 0x000572A4 File Offset: 0x000554A4
[Token(Token = "0x17000259")]
public float sqrMag
{
[Token(Token = "0x6002746")]
[Address(RVA = "0x470D10", Offset = "0x46F510", VA = "0x180470D10")]
get;
[Token(Token = "0x6002747")]
[Address(RVA = "0x761C10", Offset = "0x760410", VA = "0x180761C10")]
private set;
}
// Token: 0x1700025A RID: 602
// (get) Token: 0x06002748 RID: 10056 RVA: 0x000572B8 File Offset: 0x000554B8
// (set) Token: 0x06002749 RID: 10057 RVA: 0x000572CC File Offset: 0x000554CC
[Token(Token = "0x1700025A")]
public float mag
{
[Token(Token = "0x6002748")]
[Address(RVA = "0x572520", Offset = "0x570D20", VA = "0x180572520")]
get;
[Token(Token = "0x6002749")]
[Address(RVA = "0x761C00", Offset = "0x760400", VA = "0x180761C00")]
private set;
}
// Token: 0x0600274A RID: 10058 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600274A")]
[Address(RVA = "0x157FC40", Offset = "0x157E440", VA = "0x18157FC40")]
public void Read(Vector3[] positions, Quaternion[] rotations, bool hasChest, bool hasNeck, bool hasShoulders, bool hasToes, int rootIndex, int index)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600274B RID: 10059 RVA: 0x000572E0 File Offset: 0x000554E0
[Token(Token = "0x600274B")]
[Address(RVA = "0x157FA70", Offset = "0x157E270", VA = "0x18157FA70")]
public void MovePosition(Vector3 position)
{
IKSolverVR.VirtualBone[] array = this.bones;
IKSolverVR.VirtualBone virtualBone = array[0];
float z = position.z;
float z2 = virtualBone.solverPosition.z;
int num = 0;
int length = array.Length;
if (num < length)
{
IKSolverVR.VirtualBone virtualBone2 = array[num];
float z3 = virtualBone2.solverPosition.z;
num++;
virtualBone2.solverPosition.z = z3;
}
}
// Token: 0x0600274C RID: 10060 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600274C")]
[Address(RVA = "0x157FB70", Offset = "0x157E370", VA = "0x18157FB70")]
public void MoveRotation(Quaternion rotation)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600274D RID: 10061 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600274D")]
[Address(RVA = "0x1580030", Offset = "0x157E830", VA = "0x181580030")]
public void Translate(Vector3 position, Quaternion rotation)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600274E RID: 10062 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600274E")]
[Address(RVA = "0x157FE70", Offset = "0x157E670", VA = "0x18157FE70")]
public void TranslateRoot(Vector3 newRootPos, Quaternion newRootRot)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600274F RID: 10063 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600274F")]
[Address(RVA = "0x157FD40", Offset = "0x157E540", VA = "0x18157FD40")]
public void RotateTo(IKSolverVR.VirtualBone bone, Quaternion rotation, float weight = 1f)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002750 RID: 10064 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002750")]
[Address(RVA = "0x15802C0", Offset = "0x157EAC0", VA = "0x1815802C0")]
public void Visualize(Color color)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002751 RID: 10065 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002751")]
[Address(RVA = "0x1580130", Offset = "0x157E930", VA = "0x181580130")]
public void Visualize()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002752 RID: 10066 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002752")]
[Address(RVA = "0x1580430", Offset = "0x157EC30", VA = "0x181580430")]
protected BodyPart()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x040030A1 RID: 12449
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40030A1")]
[HideInInspector]
public IKSolverVR.VirtualBone[] bones;
// Token: 0x040030A2 RID: 12450
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40030A2")]
protected bool initiated;
// Token: 0x040030A3 RID: 12451
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x40030A3")]
protected Vector3 rootPosition;
// Token: 0x040030A4 RID: 12452
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40030A4")]
protected Quaternion rootRotation;
// Token: 0x040030A5 RID: 12453
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x40030A5")]
protected int index;
}
// Token: 0x02000446 RID: 1094
[Token(Token = "0x2000446")]
[Serializable]
public class Footstep
{
// Token: 0x1700025B RID: 603
// (get) Token: 0x06002753 RID: 10067 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x1700025B")]
public bool isStepping
{
[Token(Token = "0x6002753")]
[Address(RVA = "0x1584520", Offset = "0x1582D20", VA = "0x181584520")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x1700025C RID: 604
// (get) Token: 0x06002754 RID: 10068 RVA: 0x00057354 File Offset: 0x00055554
// (set) Token: 0x06002755 RID: 10069 RVA: 0x00057368 File Offset: 0x00055568
[Token(Token = "0x1700025C")]
public float stepProgress
{
[Token(Token = "0x6002754")]
[Address(RVA = "0x4AB650", Offset = "0x4A9E50", VA = "0x1804AB650")]
get;
[Token(Token = "0x6002755")]
[Address(RVA = "0x4B8FC0", Offset = "0x4B77C0", VA = "0x1804B8FC0")]
private set;
}
// Token: 0x06002756 RID: 10070 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002756")]
[Address(RVA = "0x15843D0", Offset = "0x1582BD0", VA = "0x1815843D0")]
public Footstep(Quaternion rootRotation, Vector3 footPosition, Quaternion footRotation, Vector3 characterSpaceOffset)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002757 RID: 10071 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002757")]
[Address(RVA = "0x1583DF0", Offset = "0x15825F0", VA = "0x181583DF0")]
public void Reset(Quaternion rootRotation, Vector3 footPosition, Quaternion footRotation)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002758 RID: 10072 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002758")]
[Address(RVA = "0x1583E90", Offset = "0x1582690", VA = "0x181583E90")]
public void StepTo(Vector3 p, Quaternion rootRotation)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002759 RID: 10073 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002759")]
[Address(RVA = "0x1584080", Offset = "0x1582880", VA = "0x181584080")]
public void UpdateStepping(Vector3 p, Quaternion rootRotation, float speed)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600275A RID: 10074 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600275A")]
[Address(RVA = "0x1583F10", Offset = "0x1582710", VA = "0x181583F10")]
public void UpdateStanding(Quaternion rootRotation, float minAngle, float speed)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600275B RID: 10075 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600275B")]
[Address(RVA = "0x1584220", Offset = "0x1582A20", VA = "0x181584220")]
public void Update(InterpolationMode interpolation, UnityEvent onStep)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x040030A6 RID: 12454
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40030A6")]
public float stepSpeed;
// Token: 0x040030A7 RID: 12455
[FieldOffset(Offset = "0x14")]
[Token(Token = "0x40030A7")]
public Vector3 characterSpaceOffset;
// Token: 0x040030A8 RID: 12456
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40030A8")]
public Vector3 position;
// Token: 0x040030A9 RID: 12457
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x40030A9")]
public Quaternion rotation;
// Token: 0x040030AA RID: 12458
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x40030AA")]
public Quaternion stepToRootRot;
// Token: 0x040030AB RID: 12459
[FieldOffset(Offset = "0x4C")]
[Token(Token = "0x40030AB")]
public bool isSupportLeg;
// Token: 0x040030AD RID: 12461
[FieldOffset(Offset = "0x54")]
[Token(Token = "0x40030AD")]
public Vector3 stepFrom;
// Token: 0x040030AE RID: 12462
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x40030AE")]
public Vector3 stepTo;
// Token: 0x040030AF RID: 12463
[FieldOffset(Offset = "0x6C")]
[Token(Token = "0x40030AF")]
public Quaternion stepFromRot;
// Token: 0x040030B0 RID: 12464
[FieldOffset(Offset = "0x7C")]
[Token(Token = "0x40030B0")]
public Quaternion stepToRot;
// Token: 0x040030B1 RID: 12465
[FieldOffset(Offset = "0x8C")]
[Token(Token = "0x40030B1")]
private Quaternion footRelativeToRoot;
// Token: 0x040030B2 RID: 12466
[FieldOffset(Offset = "0x9C")]
[Token(Token = "0x40030B2")]
private float supportLegW;
// Token: 0x040030B3 RID: 12467
[FieldOffset(Offset = "0xA0")]
[Token(Token = "0x40030B3")]
private float supportLegWV;
}
// Token: 0x02000447 RID: 1095
[Token(Token = "0x2000447")]
[Serializable]
public class Leg : IKSolverVR.BodyPart
{
// Token: 0x1700025D RID: 605
// (get) Token: 0x0600275C RID: 10076 RVA: 0x000020D3 File Offset: 0x000002D3
// (set) Token: 0x0600275D RID: 10077 RVA: 0x0005737C File Offset: 0x0005557C
[Token(Token = "0x1700025D")]
public Vector3 position
{
[Token(Token = "0x600275C")]
[Address(RVA = "0x1587970", Offset = "0x1586170", VA = "0x181587970")]
[CompilerGenerated]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
[Token(Token = "0x600275D")]
[Address(RVA = "0x15879D0", Offset = "0x15861D0", VA = "0x1815879D0")]
[CompilerGenerated]
private set
{
float z = value.z;
this.<position>k__BackingField.z = z;
}
}
// Token: 0x1700025E RID: 606
// (get) Token: 0x0600275E RID: 10078 RVA: 0x000020D3 File Offset: 0x000002D3
// (set) Token: 0x0600275F RID: 10079 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x1700025E")]
public Quaternion rotation
{
[Token(Token = "0x600275E")]
[Address(RVA = "0x1587990", Offset = "0x1586190", VA = "0x181587990")]
[CompilerGenerated]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
[Token(Token = "0x600275F")]
[Address(RVA = "0x15879F0", Offset = "0x15861F0", VA = "0x1815879F0")]
[CompilerGenerated]
private set
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x1700025F RID: 607
// (get) Token: 0x06002760 RID: 10080 RVA: 0x0005739C File Offset: 0x0005559C
// (set) Token: 0x06002761 RID: 10081 RVA: 0x000573B0 File Offset: 0x000555B0
[Token(Token = "0x1700025F")]
public bool hasToes
{
[Token(Token = "0x6002760")]
[Address(RVA = "0x10CA190", Offset = "0x10C8990", VA = "0x1810CA190")]
get;
[Token(Token = "0x6002761")]
[Address(RVA = "0x15879C0", Offset = "0x15861C0", VA = "0x1815879C0")]
private set;
}
// Token: 0x17000260 RID: 608
// (get) Token: 0x06002762 RID: 10082 RVA: 0x000573C4 File Offset: 0x000555C4
[Token(Token = "0x17000260")]
public IKSolverVR.VirtualBone thigh
{
[Token(Token = "0x6002762")]
[Address(RVA = "0xA91380", Offset = "0xA8FB80", VA = "0x180A91380")]
get
{
return this.bones[0];
}
}
// Token: 0x17000261 RID: 609
// (get) Token: 0x06002763 RID: 10083 RVA: 0x000573E4 File Offset: 0x000555E4
[Token(Token = "0x17000261")]
private IKSolverVR.VirtualBone calf
{
[Token(Token = "0x6002763")]
[Address(RVA = "0x157F9A0", Offset = "0x157E1A0", VA = "0x18157F9A0")]
get
{
return this.bones[1];
}
}
// Token: 0x17000262 RID: 610
// (get) Token: 0x06002764 RID: 10084 RVA: 0x00057404 File Offset: 0x00055604
[Token(Token = "0x17000262")]
private IKSolverVR.VirtualBone foot
{
[Token(Token = "0x6002764")]
[Address(RVA = "0x157F8F0", Offset = "0x157E0F0", VA = "0x18157F8F0")]
get
{
return this.bones[2];
}
}
// Token: 0x17000263 RID: 611
// (get) Token: 0x06002765 RID: 10085 RVA: 0x00057424 File Offset: 0x00055624
[Token(Token = "0x17000263")]
private IKSolverVR.VirtualBone toes
{
[Token(Token = "0x6002765")]
[Address(RVA = "0x157F930", Offset = "0x157E130", VA = "0x18157F930")]
get
{
return this.bones[3];
}
}
// Token: 0x17000264 RID: 612
// (get) Token: 0x06002766 RID: 10086 RVA: 0x00057444 File Offset: 0x00055644
[Token(Token = "0x17000264")]
public IKSolverVR.VirtualBone lastBone
{
[Token(Token = "0x6002766")]
[Address(RVA = "0x1587930", Offset = "0x1586130", VA = "0x181587930")]
get
{
IKSolverVR.VirtualBone[] bones = this.bones;
int num = bones.Length - 1;
return bones[num];
}
}
// Token: 0x17000265 RID: 613
// (get) Token: 0x06002767 RID: 10087 RVA: 0x000020D3 File Offset: 0x000002D3
// (set) Token: 0x06002768 RID: 10088 RVA: 0x00057470 File Offset: 0x00055670
[Token(Token = "0x17000265")]
public Vector3 thighRelativeToPelvis
{
[Token(Token = "0x6002767")]
[Address(RVA = "0x15879A0", Offset = "0x15861A0", VA = "0x1815879A0")]
[CompilerGenerated]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
[Token(Token = "0x6002768")]
[Address(RVA = "0x1587A00", Offset = "0x1586200", VA = "0x181587A00")]
[CompilerGenerated]
private set
{
float z = value.z;
this.<thighRelativeToPelvis>k__BackingField.z = z;
}
}
// Token: 0x06002769 RID: 10089 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002769")]
[Address(RVA = "0x1586160", Offset = "0x1584960", VA = "0x181586160", Slot = "4")]
protected override void OnRead(Vector3[] positions, Quaternion[] rotations, bool hasChest, bool hasNeck, bool hasShoulders, bool hasToes, int rootIndex, int index)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600276A RID: 10090 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600276A")]
[Address(RVA = "0x1586AB0", Offset = "0x15852B0", VA = "0x181586AB0", Slot = "5")]
public override void PreSolve()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600276B RID: 10091 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600276B")]
[Address(RVA = "0x1585500", Offset = "0x1583D00", VA = "0x181585500", Slot = "7")]
public override void ApplyOffsets()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600276C RID: 10092 RVA: 0x00057490 File Offset: 0x00055690
[Token(Token = "0x600276C")]
[Address(RVA = "0x1585E30", Offset = "0x1584630", VA = "0x181585E30")]
private void ApplyPositionOffset(Vector3 offset, float weight)
{
if (0 < (int)weight)
{
float z = this.footPosition.z;
this.footPosition.z = z;
float z2 = this.<position>k__BackingField.z;
this.<position>k__BackingField.z = z2;
}
}
// Token: 0x0600276D RID: 10093 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600276D")]
[Address(RVA = "0x1585F20", Offset = "0x1584720", VA = "0x181585F20")]
private void ApplyRotationOffset(Quaternion offset, float weight)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600276E RID: 10094 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600276E")]
[Address(RVA = "0x1587160", Offset = "0x1585960", VA = "0x181587160")]
public void Solve()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600276F RID: 10095 RVA: 0x000574D4 File Offset: 0x000556D4
[Token(Token = "0x600276F")]
[Address(RVA = "0x15876A0", Offset = "0x1585EA0", VA = "0x1815876A0", Slot = "6")]
public override void Write(ref Vector3[] solvedPositions, ref Quaternion[] solvedRotations)
{
IKSolverVR.VirtualBone[] array = this.bones;
int index = this.index;
IKSolverVR.VirtualBone virtualBone = array[0];
array += array;
IKSolverVR.VirtualBone virtualBone2 = this.bones[1];
int num = this.index;
num++;
num += 2;
num += num;
IKSolverVR.VirtualBone virtualBone3 = this.bones[2];
int num2 = this.index;
num2 += 2;
num2 += 2;
num2 += num2;
if (this.<hasToes>k__BackingField)
{
IKSolverVR.VirtualBone[] array2 = this.bones;
IKSolverVR.VirtualBone virtualBone4 = array2[3];
array2 += array2;
}
}
// Token: 0x06002770 RID: 10096 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002770")]
[Address(RVA = "0x15870F0", Offset = "0x15858F0", VA = "0x1815870F0", Slot = "8")]
public override void ResetOffsets()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002771 RID: 10097 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002771")]
[Address(RVA = "0x1587870", Offset = "0x1586070", VA = "0x181587870")]
public Leg()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x040030B4 RID: 12468
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x40030B4")]
[Tooltip("The toe/foot target.")]
public Transform target;
// Token: 0x040030B5 RID: 12469
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x40030B5")]
[Tooltip("The knee will be bent towards this Transform if 'Bend Goal Weight' > 0.")]
public Transform bendGoal;
// Token: 0x040030B6 RID: 12470
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x40030B6")]
[Tooltip("Positional weight of the toe/foot target.")]
[Range(0f, 1f)]
public float positionWeight;
// Token: 0x040030B7 RID: 12471
[FieldOffset(Offset = "0x5C")]
[Token(Token = "0x40030B7")]
[Tooltip("Rotational weight of the toe/foot target.")]
[Range(0f, 1f)]
public float rotationWeight;
// Token: 0x040030B8 RID: 12472
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x40030B8")]
[Range(0f, 1f)]
[Tooltip("If greater than 0, will bend the knee towards the 'Bend Goal' Transform.")]
public float bendGoalWeight;
// Token: 0x040030B9 RID: 12473
[FieldOffset(Offset = "0x64")]
[Token(Token = "0x40030B9")]
[Range(-180f, 180f)]
[Tooltip("Angular offset of the knee bending direction.")]
public float swivelOffset;
// Token: 0x040030BA RID: 12474
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x40030BA")]
[HideInInspector]
[NonSerialized]
public Vector3 IKPosition;
// Token: 0x040030BB RID: 12475
[FieldOffset(Offset = "0x74")]
[Token(Token = "0x40030BB")]
[HideInInspector]
[NonSerialized]
public Quaternion IKRotation;
// Token: 0x040030BC RID: 12476
[FieldOffset(Offset = "0x84")]
[Token(Token = "0x40030BC")]
[HideInInspector]
[NonSerialized]
public Vector3 footPositionOffset;
// Token: 0x040030BD RID: 12477
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x40030BD")]
[HideInInspector]
[NonSerialized]
public Vector3 heelPositionOffset;
// Token: 0x040030BE RID: 12478
[FieldOffset(Offset = "0x9C")]
[Token(Token = "0x40030BE")]
[HideInInspector]
[NonSerialized]
public Quaternion footRotationOffset;
// Token: 0x040030BF RID: 12479
[FieldOffset(Offset = "0xAC")]
[Token(Token = "0x40030BF")]
[HideInInspector]
[NonSerialized]
public float currentMag;
// Token: 0x040030C4 RID: 12484
[FieldOffset(Offset = "0xDC")]
[Token(Token = "0x40030C4")]
private Vector3 footPosition;
// Token: 0x040030C5 RID: 12485
[FieldOffset(Offset = "0xE8")]
[Token(Token = "0x40030C5")]
private Quaternion footRotation;
// Token: 0x040030C6 RID: 12486
[FieldOffset(Offset = "0xF8")]
[Token(Token = "0x40030C6")]
private Vector3 bendNormal;
// Token: 0x040030C7 RID: 12487
[FieldOffset(Offset = "0x104")]
[Token(Token = "0x40030C7")]
private Quaternion calfRelToThigh;
}
// Token: 0x02000448 RID: 1096
[Token(Token = "0x2000448")]
[Serializable]
public class Locomotion
{
// Token: 0x17000266 RID: 614
// (get) Token: 0x06002772 RID: 10098 RVA: 0x000020D3 File Offset: 0x000002D3
// (set) Token: 0x06002773 RID: 10099 RVA: 0x00057574 File Offset: 0x00055774
[Token(Token = "0x17000266")]
public Vector3 centerOfMass
{
[Token(Token = "0x6002772")]
[Address(RVA = "0x158B0B0", Offset = "0x15898B0", VA = "0x18158B0B0")]
[CompilerGenerated]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
[Token(Token = "0x6002773")]
[Address(RVA = "0x158B230", Offset = "0x1589A30", VA = "0x18158B230")]
[CompilerGenerated]
private set
{
float z = value.z;
this.<centerOfMass>k__BackingField.z = z;
}
}
// Token: 0x06002774 RID: 10100 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002774")]
[Address(RVA = "0x1588530", Offset = "0x1586D30", VA = "0x181588530")]
public void Initiate(Vector3[] positions, Quaternion[] rotations, bool hasToes)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002775 RID: 10101 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002775")]
[Address(RVA = "0x1588AC0", Offset = "0x15872C0", VA = "0x181588AC0")]
public void Reset(Vector3[] positions, Quaternion[] rotations)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002776 RID: 10102 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002776")]
[Address(RVA = "0x1587D00", Offset = "0x1586500", VA = "0x181587D00")]
public void AddDeltaRotation(Quaternion delta, Vector3 pivot)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002777 RID: 10103 RVA: 0x00057594 File Offset: 0x00055794
[Token(Token = "0x6002777")]
[Address(RVA = "0x1587B40", Offset = "0x1586340", VA = "0x181587B40")]
public void AddDeltaPosition(Vector3 delta)
{
float z = delta.z;
IKSolverVR.Footstep[] array = this.footsteps;
int num = 0;
this.lastComPosition.z = z;
int length = array.Length;
if (num < length)
{
IKSolverVR.Footstep footstep = array[num];
float z2 = delta.z;
footstep.position.z = z2;
float z3 = delta.z;
footstep.stepFrom.z = z3;
float z4 = delta.z;
num++;
footstep.stepTo.z = z4;
}
}
// Token: 0x06002778 RID: 10104 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002778")]
[Address(RVA = "0x1588EE0", Offset = "0x15876E0", VA = "0x181588EE0")]
public void Solve(IKSolverVR.VirtualBone rootBone, IKSolverVR.Spine spine, IKSolverVR.Leg leftLeg, IKSolverVR.Leg rightLeg, IKSolverVR.Arm leftArm, IKSolverVR.Arm rightArm, int supportLegIndex, out Vector3 leftFootPosition, out Vector3 rightFootPosition, out Quaternion leftFootRotation, out Quaternion rightFootRotation, out float leftFootOffset, out float rightFootOffset, out float leftHeelOffset, out float rightHeelOffset)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x17000267 RID: 615
// (get) Token: 0x06002779 RID: 10105 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x17000267")]
public Vector3 leftFootstepPosition
{
[Token(Token = "0x6002779")]
[Address(RVA = "0x158B0D0", Offset = "0x15898D0", VA = "0x18158B0D0")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x17000268 RID: 616
// (get) Token: 0x0600277A RID: 10106 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x17000268")]
public Vector3 rightFootstepPosition
{
[Token(Token = "0x600277A")]
[Address(RVA = "0x158B180", Offset = "0x1589980", VA = "0x18158B180")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x17000269 RID: 617
// (get) Token: 0x0600277B RID: 10107 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x17000269")]
public Quaternion leftFootstepRotation
{
[Token(Token = "0x600277B")]
[Address(RVA = "0x158B130", Offset = "0x1589930", VA = "0x18158B130")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x1700026A RID: 618
// (get) Token: 0x0600277C RID: 10108 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x1700026A")]
public Quaternion rightFootstepRotation
{
[Token(Token = "0x600277C")]
[Address(RVA = "0x158B1E0", Offset = "0x15899E0", VA = "0x18158B1E0")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x0600277D RID: 10109 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600277D")]
[Address(RVA = "0x158ADA0", Offset = "0x15895A0", VA = "0x18158ADA0")]
private bool StepBlocked(Vector3 fromPosition, Vector3 toPosition, Vector3 rootPosition)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600277E RID: 10110 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600277E")]
[Address(RVA = "0x15882C0", Offset = "0x1586AC0", VA = "0x1815882C0")]
private bool CanStep()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600277F RID: 10111 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600277F")]
[Address(RVA = "0x1588340", Offset = "0x1586B40", VA = "0x181588340")]
private static bool GetLineSphereCollision(Vector3 lineStart, Vector3 lineEnd, Vector3 sphereCenter, float sphereRadius)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002780 RID: 10112 RVA: 0x00057620 File Offset: 0x00055820
[Token(Token = "0x6002780")]
[Address(RVA = "0x158AF80", Offset = "0x1589780", VA = "0x18158AF80")]
public Locomotion()
{
UnityEvent unityEvent = new UnityEvent();
this.onLeftFootstep = unityEvent;
UnityEvent unityEvent2 = new UnityEvent();
this.onRightFootstep = unityEvent2;
IKSolverVR.Footstep[] array = new IKSolverVR.Footstep[0];
this.footsteps = array;
base..ctor();
}
// Token: 0x040030C8 RID: 12488
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40030C8")]
[Tooltip("Used for blending in/out of procedural locomotion.")]
[Range(0f, 1f)]
public float weight = 1f;
// Token: 0x040030C9 RID: 12489
[FieldOffset(Offset = "0x14")]
[Token(Token = "0x40030C9")]
[Tooltip("Tries to maintain this distance between the legs.")]
public float footDistance = 0.3f;
// Token: 0x040030CA RID: 12490
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40030CA")]
[Tooltip("Makes a step only if step target position is at least this far from the current footstep or the foot does not reach the current footstep anymore or footstep angle is past the 'Angle Threshold'.")]
public float stepThreshold = 0.4f;
// Token: 0x040030CB RID: 12491
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x40030CB")]
[Tooltip("Makes a step only if step target position is at least 'Step Threshold' far from the current footstep or the foot does not reach the current footstep anymore or footstep angle is past this value.")]
public float angleThreshold = 60f;
// Token: 0x040030CC RID: 12492
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40030CC")]
[Tooltip("Multiplies angle of the center of mass - center of pressure vector. Larger value makes the character step sooner if losing balance.")]
public float comAngleMlp = 1f;
// Token: 0x040030CD RID: 12493
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x40030CD")]
[Tooltip("Maximum magnitude of head/hand target velocity used in prediction.")]
public float maxVelocity = 0.4f;
// Token: 0x040030CE RID: 12494
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40030CE")]
[Tooltip("The amount of head/hand target velocity prediction.")]
public float velocityFactor = 0.4f;
// Token: 0x040030CF RID: 12495
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x40030CF")]
[Tooltip("How much can a leg be extended before it is forced to step to another position? 1 means fully stretched.")]
[Range(0.9f, 1f)]
public float maxLegStretch = 1f;
// Token: 0x040030D0 RID: 12496
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40030D0")]
[Tooltip("The speed of lerping the root of the character towards the horizontal mid-point of the footsteps.")]
public float rootSpeed = 20f;
// Token: 0x040030D1 RID: 12497
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x40030D1")]
[Tooltip("The speed of steps.")]
public float stepSpeed = 3f;
// Token: 0x040030D2 RID: 12498
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x40030D2")]
[Tooltip("The height of the foot by normalized step progress (0 - 1).")]
public AnimationCurve stepHeight;
// Token: 0x040030D3 RID: 12499
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x40030D3")]
[Tooltip("The height offset of the heel by normalized step progress (0 - 1).")]
public AnimationCurve heelHeight;
// Token: 0x040030D4 RID: 12500
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x40030D4")]
[Tooltip("Rotates the foot while the leg is not stepping to relax the twist rotation of the leg if ideal rotation is past this angle.")]
[Range(0f, 180f)]
public float relaxLegTwistMinAngle = 20f;
// Token: 0x040030D5 RID: 12501
[FieldOffset(Offset = "0x4C")]
[Token(Token = "0x40030D5")]
[Tooltip("The speed of rotating the foot while the leg is not stepping to relax the twist rotation of the leg.")]
public float relaxLegTwistSpeed = 400f;
// Token: 0x040030D6 RID: 12502
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x40030D6")]
[Tooltip("Interpolation mode of the step.")]
public InterpolationMode stepInterpolation = (InterpolationMode)((ulong)3L);
// Token: 0x040030D7 RID: 12503
[FieldOffset(Offset = "0x54")]
[Token(Token = "0x40030D7")]
[Tooltip("Offset for the approximated center of mass.")]
public Vector3 offset;
// Token: 0x040030D8 RID: 12504
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x40030D8")]
[HideInInspector]
public bool blockingEnabled;
// Token: 0x040030D9 RID: 12505
[FieldOffset(Offset = "0x64")]
[Token(Token = "0x40030D9")]
[HideInInspector]
public LayerMask blockingLayers;
// Token: 0x040030DA RID: 12506
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x40030DA")]
[HideInInspector]
public float raycastRadius = 0.2f;
// Token: 0x040030DB RID: 12507
[FieldOffset(Offset = "0x6C")]
[Token(Token = "0x40030DB")]
[HideInInspector]
public float raycastHeight = 0.2f;
// Token: 0x040030DC RID: 12508
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x40030DC")]
[Tooltip("Called when the left foot has finished a step.")]
public UnityEvent onLeftFootstep;
// Token: 0x040030DD RID: 12509
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x40030DD")]
[Tooltip("Called when the right foot has finished a step")]
public UnityEvent onRightFootstep;
// Token: 0x040030DF RID: 12511
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x40030DF")]
private IKSolverVR.Footstep[] footsteps;
// Token: 0x040030E0 RID: 12512
[FieldOffset(Offset = "0x98")]
[Token(Token = "0x40030E0")]
private Vector3 lastComPosition;
// Token: 0x040030E1 RID: 12513
[FieldOffset(Offset = "0xA4")]
[Token(Token = "0x40030E1")]
private Vector3 comVelocity;
// Token: 0x040030E2 RID: 12514
[FieldOffset(Offset = "0xB0")]
[Token(Token = "0x40030E2")]
private int leftFootIndex;
// Token: 0x040030E3 RID: 12515
[FieldOffset(Offset = "0xB4")]
[Token(Token = "0x40030E3")]
private int rightFootIndex;
}
// Token: 0x02000449 RID: 1097
[Token(Token = "0x2000449")]
[Serializable]
public class Spine : IKSolverVR.BodyPart
{
// Token: 0x1700026B RID: 619
// (get) Token: 0x06002781 RID: 10113 RVA: 0x00057700 File Offset: 0x00055900
[Token(Token = "0x1700026B")]
public IKSolverVR.VirtualBone pelvis
{
[Token(Token = "0x6002781")]
[Address(RVA = "0x1591BD0", Offset = "0x15903D0", VA = "0x181591BD0")]
get
{
IKSolverVR.VirtualBone[] bones = this.bones;
int num = this.pelvisIndex;
return bones[num];
}
}
// Token: 0x1700026C RID: 620
// (get) Token: 0x06002782 RID: 10114 RVA: 0x00057728 File Offset: 0x00055928
[Token(Token = "0x1700026C")]
public IKSolverVR.VirtualBone firstSpineBone
{
[Token(Token = "0x6002782")]
[Address(RVA = "0x1591B10", Offset = "0x1590310", VA = "0x181591B10")]
get
{
IKSolverVR.VirtualBone[] bones = this.bones;
int num = this.spineIndex;
return bones[num];
}
}
// Token: 0x1700026D RID: 621
// (get) Token: 0x06002783 RID: 10115 RVA: 0x00057750 File Offset: 0x00055950
[Token(Token = "0x1700026D")]
public IKSolverVR.VirtualBone chest
{
[Token(Token = "0x6002783")]
[Address(RVA = "0x1591AA0", Offset = "0x15902A0", VA = "0x181591AA0")]
get
{
IKSolverVR.VirtualBone[] bones = this.bones;
if (!this.hasChest)
{
int num = this.spineIndex;
}
int num2 = this.chestIndex;
return bones[num2];
}
}
// Token: 0x1700026E RID: 622
// (get) Token: 0x06002784 RID: 10116 RVA: 0x00057788 File Offset: 0x00055988
[Token(Token = "0x1700026E")]
private IKSolverVR.VirtualBone neck
{
[Token(Token = "0x6002784")]
[Address(RVA = "0x1591B90", Offset = "0x1590390", VA = "0x181591B90")]
get
{
IKSolverVR.VirtualBone[] bones = this.bones;
int num = this.neckIndex;
return bones[num];
}
}
// Token: 0x1700026F RID: 623
// (get) Token: 0x06002785 RID: 10117 RVA: 0x000577B0 File Offset: 0x000559B0
[Token(Token = "0x1700026F")]
public IKSolverVR.VirtualBone head
{
[Token(Token = "0x6002785")]
[Address(RVA = "0x1591B50", Offset = "0x1590350", VA = "0x181591B50")]
get
{
IKSolverVR.VirtualBone[] bones = this.bones;
int num = this.headIndex;
return bones[num];
}
}
// Token: 0x17000270 RID: 624
// (get) Token: 0x06002786 RID: 10118 RVA: 0x000020D3 File Offset: 0x000002D3
// (set) Token: 0x06002787 RID: 10119 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x17000270")]
public Quaternion anchorRotation
{
[Token(Token = "0x6002786")]
[Address(RVA = "0x1591A90", Offset = "0x1590290", VA = "0x181591A90")]
[CompilerGenerated]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
[Token(Token = "0x6002787")]
[Address(RVA = "0x1591C10", Offset = "0x1590410", VA = "0x181591C10")]
[CompilerGenerated]
private set
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x06002788 RID: 10120 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002788")]
[Address(RVA = "0x158EF00", Offset = "0x158D700", VA = "0x18158EF00", Slot = "4")]
protected override void OnRead(Vector3[] positions, Quaternion[] rotations, bool hasChest, bool hasNeck, bool hasShoulders, bool hasToes, int rootIndex, int index)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002789 RID: 10121 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002789")]
[Address(RVA = "0x158FCB0", Offset = "0x158E4B0", VA = "0x18158FCB0", Slot = "5")]
public override void PreSolve()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600278A RID: 10122 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600278A")]
[Address(RVA = "0x158DBD0", Offset = "0x158C3D0", VA = "0x18158DBD0", Slot = "7")]
public override void ApplyOffsets()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600278B RID: 10123 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600278B")]
[Address(RVA = "0x158E760", Offset = "0x158CF60", VA = "0x18158E760")]
private void CalculateChestTargetRotation(IKSolverVR.VirtualBone rootBone, IKSolverVR.Arm[] arms)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600278C RID: 10124 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600278C")]
[Address(RVA = "0x1590470", Offset = "0x158EC70", VA = "0x181590470")]
public void Solve(IKSolverVR.VirtualBone rootBone, IKSolverVR.Leg[] legs, IKSolverVR.Arm[] arms)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600278D RID: 10125 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600278D")]
[Address(RVA = "0x1590010", Offset = "0x158E810", VA = "0x181590010")]
private void SolvePelvis()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600278E RID: 10126 RVA: 0x000577D8 File Offset: 0x000559D8
[Token(Token = "0x600278E")]
[Address(RVA = "0x15915E0", Offset = "0x158FDE0", VA = "0x1815915E0", Slot = "6")]
public override void Write(ref Vector3[] solvedPositions, ref Quaternion[] solvedRotations)
{
int index = this.index;
IKSolverVR.VirtualBone virtualBone = this.bones[0];
IKSolverVR.VirtualBone[] array = this.bones;
int index2 = this.index;
IKSolverVR.VirtualBone virtualBone2 = array[0];
array += array;
IKSolverVR.VirtualBone virtualBone3 = this.bones[1];
int num = this.index;
num++;
num += 2;
num += num;
if (this.hasChest)
{
IKSolverVR.VirtualBone[] bones = this.bones;
int num2 = this.chestIndex;
IKSolverVR.VirtualBone virtualBone4 = bones[num2];
int num3 = this.index;
num3 += 2;
num3 += 2;
num3 += num3;
}
if (this.hasNeck)
{
IKSolverVR.VirtualBone[] bones2 = this.bones;
int num4 = this.neckIndex;
IKSolverVR.VirtualBone virtualBone5 = bones2[num4];
int num5 = this.index;
num5 += 3;
num5 += 2;
num5 += num5;
}
IKSolverVR.VirtualBone[] bones3 = this.bones;
int num6 = this.headIndex;
IKSolverVR.VirtualBone virtualBone6 = bones3[num6];
num6 += 2;
num6 += num6;
}
// Token: 0x0600278F RID: 10127 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600278F")]
[Address(RVA = "0x158FF60", Offset = "0x158E760", VA = "0x18158FF60", Slot = "8")]
public override void ResetOffsets()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002790 RID: 10128 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002790")]
[Address(RVA = "0x158D730", Offset = "0x158BF30", VA = "0x18158D730")]
private void AdjustChestByHands(ref Quaternion chestTargetRotation, IKSolverVR.Arm[] arms)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002791 RID: 10129 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002791")]
[Address(RVA = "0x158E940", Offset = "0x158D140", VA = "0x18158E940")]
public void InverseTranslateToHead(IKSolverVR.Leg[] legs, bool limited, bool useCurrentLegMag, Vector3 offset, float w)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002792 RID: 10130 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002792")]
[Address(RVA = "0x1590F80", Offset = "0x158F780", VA = "0x181590F80")]
private void TranslatePelvis(IKSolverVR.Leg[] legs, Vector3 deltaPosition, Quaternion deltaRotation)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002793 RID: 10131 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002793")]
[Address(RVA = "0x158EB80", Offset = "0x158D380", VA = "0x18158EB80")]
private Vector3 LimitPelvisPosition(IKSolverVR.Leg[] legs, Vector3 pelvisPosition, bool useCurrentLegMag, int it = 2)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002794 RID: 10132 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002794")]
[Address(RVA = "0x158E220", Offset = "0x158CA20", VA = "0x18158E220")]
private void Bend(IKSolverVR.VirtualBone[] bones, int firstIndex, int lastIndex, Quaternion targetRotation, float clampWeight, bool uniformWeight, float w)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002795 RID: 10133 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002795")]
[Address(RVA = "0x158E4B0", Offset = "0x158CCB0", VA = "0x18158E4B0")]
private void Bend(IKSolverVR.VirtualBone[] bones, int firstIndex, int lastIndex, Quaternion targetRotation, Quaternion rotationOffset, float clampWeight, bool uniformWeight, float w)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002796 RID: 10134 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002796")]
[Address(RVA = "0x15918B0", Offset = "0x15900B0", VA = "0x1815918B0")]
public Spine()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x040030E4 RID: 12516
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x40030E4")]
[Tooltip("The head target.")]
public Transform headTarget;
// Token: 0x040030E5 RID: 12517
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x40030E5")]
[Tooltip("The pelvis target, useful with seated rigs.")]
public Transform pelvisTarget;
// Token: 0x040030E6 RID: 12518
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x40030E6")]
[Range(0f, 1f)]
[Tooltip("Positional weight of the head target.")]
public float positionWeight;
// Token: 0x040030E7 RID: 12519
[FieldOffset(Offset = "0x5C")]
[Token(Token = "0x40030E7")]
[Range(0f, 1f)]
[Tooltip("Rotational weight of the head target.")]
public float rotationWeight;
// Token: 0x040030E8 RID: 12520
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x40030E8")]
[Range(0f, 1f)]
[Tooltip("Positional weight of the pelvis target.")]
public float pelvisPositionWeight;
// Token: 0x040030E9 RID: 12521
[FieldOffset(Offset = "0x64")]
[Token(Token = "0x40030E9")]
[Tooltip("Rotational weight of the pelvis target.")]
[Range(0f, 1f)]
public float pelvisRotationWeight;
// Token: 0x040030EA RID: 12522
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x40030EA")]
[Tooltip("If 'Chest Goal Weight' is greater than 0, the chest will be turned towards this Transform.")]
public Transform chestGoal;
// Token: 0x040030EB RID: 12523
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x40030EB")]
[Tooltip("Rotational weight of the chest target.")]
[Range(0f, 1f)]
public float chestGoalWeight;
// Token: 0x040030EC RID: 12524
[FieldOffset(Offset = "0x74")]
[Token(Token = "0x40030EC")]
[Tooltip("Minimum height of the head from the root of the character.")]
public float minHeadHeight;
// Token: 0x040030ED RID: 12525
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x40030ED")]
[Tooltip("Determines how much the body will follow the position of the head.")]
[Range(0f, 1f)]
public float bodyPosStiffness;
// Token: 0x040030EE RID: 12526
[FieldOffset(Offset = "0x7C")]
[Token(Token = "0x40030EE")]
[Tooltip("Determines how much the body will follow the rotation of the head.")]
[Range(0f, 1f)]
public float bodyRotStiffness;
// Token: 0x040030EF RID: 12527
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x40030EF")]
[FormerlySerializedAs("chestRotationWeight")]
[Range(0f, 1f)]
[Tooltip("Determines how much the chest will rotate to the rotation of the head.")]
public float neckStiffness;
// Token: 0x040030F0 RID: 12528
[FieldOffset(Offset = "0x84")]
[Token(Token = "0x40030F0")]
[Tooltip("Clamps chest rotation.")]
[Range(0f, 1f)]
public float chestClampWeight;
// Token: 0x040030F1 RID: 12529
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x40030F1")]
[Tooltip("Clamps head rotation.")]
[Range(0f, 1f)]
public float headClampWeight;
// Token: 0x040030F2 RID: 12530
[FieldOffset(Offset = "0x8C")]
[Token(Token = "0x40030F2")]
[Tooltip("How much will the pelvis maintain it's animated position?")]
[Range(0f, 1f)]
public float maintainPelvisPosition;
// Token: 0x040030F3 RID: 12531
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x40030F3")]
[Tooltip("Will automatically rotate the root of the character if the head target has turned past this angle.")]
[Range(0f, 180f)]
public float maxRootAngle;
// Token: 0x040030F4 RID: 12532
[FieldOffset(Offset = "0x94")]
[Token(Token = "0x40030F4")]
[HideInInspector]
[NonSerialized]
public Vector3 IKPositionHead;
// Token: 0x040030F5 RID: 12533
[FieldOffset(Offset = "0xA0")]
[Token(Token = "0x40030F5")]
[HideInInspector]
[NonSerialized]
public Quaternion IKRotationHead;
// Token: 0x040030F6 RID: 12534
[FieldOffset(Offset = "0xB0")]
[Token(Token = "0x40030F6")]
[HideInInspector]
[NonSerialized]
public Vector3 IKPositionPelvis;
// Token: 0x040030F7 RID: 12535
[FieldOffset(Offset = "0xBC")]
[Token(Token = "0x40030F7")]
[HideInInspector]
[NonSerialized]
public Quaternion IKRotationPelvis;
// Token: 0x040030F8 RID: 12536
[FieldOffset(Offset = "0xCC")]
[Token(Token = "0x40030F8")]
[HideInInspector]
[NonSerialized]
public Vector3 goalPositionChest;
// Token: 0x040030F9 RID: 12537
[FieldOffset(Offset = "0xD8")]
[Token(Token = "0x40030F9")]
[HideInInspector]
[NonSerialized]
public Vector3 pelvisPositionOffset;
// Token: 0x040030FA RID: 12538
[FieldOffset(Offset = "0xE4")]
[Token(Token = "0x40030FA")]
[HideInInspector]
[NonSerialized]
public Vector3 chestPositionOffset;
// Token: 0x040030FB RID: 12539
[FieldOffset(Offset = "0xF0")]
[Token(Token = "0x40030FB")]
[HideInInspector]
[NonSerialized]
public Vector3 headPositionOffset;
// Token: 0x040030FC RID: 12540
[FieldOffset(Offset = "0xFC")]
[Token(Token = "0x40030FC")]
[HideInInspector]
[NonSerialized]
public Quaternion pelvisRotationOffset;
// Token: 0x040030FD RID: 12541
[FieldOffset(Offset = "0x10C")]
[Token(Token = "0x40030FD")]
[HideInInspector]
[NonSerialized]
public Quaternion chestRotationOffset;
// Token: 0x040030FE RID: 12542
[FieldOffset(Offset = "0x11C")]
[Token(Token = "0x40030FE")]
[HideInInspector]
[NonSerialized]
public Quaternion headRotationOffset;
// Token: 0x040030FF RID: 12543
[FieldOffset(Offset = "0x12C")]
[Token(Token = "0x40030FF")]
[HideInInspector]
[NonSerialized]
public Vector3 faceDirection;
// Token: 0x04003100 RID: 12544
[FieldOffset(Offset = "0x138")]
[Token(Token = "0x4003100")]
[HideInInspector]
[NonSerialized]
public Vector3 locomotionHeadPositionOffset;
// Token: 0x04003101 RID: 12545
[FieldOffset(Offset = "0x144")]
[Token(Token = "0x4003101")]
[HideInInspector]
[NonSerialized]
public Vector3 headPosition;
// Token: 0x04003103 RID: 12547
[FieldOffset(Offset = "0x160")]
[Token(Token = "0x4003103")]
private Quaternion headRotation;
// Token: 0x04003104 RID: 12548
[FieldOffset(Offset = "0x170")]
[Token(Token = "0x4003104")]
private Quaternion anchorRelativeToHead;
// Token: 0x04003105 RID: 12549
[FieldOffset(Offset = "0x180")]
[Token(Token = "0x4003105")]
private Quaternion pelvisRelativeRotation;
// Token: 0x04003106 RID: 12550
[FieldOffset(Offset = "0x190")]
[Token(Token = "0x4003106")]
private Quaternion chestRelativeRotation;
// Token: 0x04003107 RID: 12551
[FieldOffset(Offset = "0x1A0")]
[Token(Token = "0x4003107")]
private Vector3 headDeltaPosition;
// Token: 0x04003108 RID: 12552
[FieldOffset(Offset = "0x1AC")]
[Token(Token = "0x4003108")]
private Quaternion pelvisDeltaRotation;
// Token: 0x04003109 RID: 12553
[FieldOffset(Offset = "0x1BC")]
[Token(Token = "0x4003109")]
private Quaternion chestTargetRotation;
// Token: 0x0400310A RID: 12554
[FieldOffset(Offset = "0x1CC")]
[Token(Token = "0x400310A")]
private int pelvisIndex;
// Token: 0x0400310B RID: 12555
[FieldOffset(Offset = "0x1D0")]
[Token(Token = "0x400310B")]
private int spineIndex;
// Token: 0x0400310C RID: 12556
[FieldOffset(Offset = "0x1D4")]
[Token(Token = "0x400310C")]
private int chestIndex;
// Token: 0x0400310D RID: 12557
[FieldOffset(Offset = "0x1D8")]
[Token(Token = "0x400310D")]
private int neckIndex;
// Token: 0x0400310E RID: 12558
[FieldOffset(Offset = "0x1DC")]
[Token(Token = "0x400310E")]
private int headIndex;
// Token: 0x0400310F RID: 12559
[FieldOffset(Offset = "0x1E0")]
[Token(Token = "0x400310F")]
private float length;
// Token: 0x04003110 RID: 12560
[FieldOffset(Offset = "0x1E4")]
[Token(Token = "0x4003110")]
private bool hasChest;
// Token: 0x04003111 RID: 12561
[FieldOffset(Offset = "0x1E5")]
[Token(Token = "0x4003111")]
private bool hasNeck;
// Token: 0x04003112 RID: 12562
[FieldOffset(Offset = "0x1E8")]
[Token(Token = "0x4003112")]
private float headHeight;
// Token: 0x04003113 RID: 12563
[FieldOffset(Offset = "0x1EC")]
[Token(Token = "0x4003113")]
private float sizeMlp;
// Token: 0x04003114 RID: 12564
[FieldOffset(Offset = "0x1F0")]
[Token(Token = "0x4003114")]
private Vector3 chestForward;
}
// Token: 0x0200044A RID: 1098
[Token(Token = "0x200044A")]
[Serializable]
public enum PositionOffset
{
// Token: 0x04003116 RID: 12566
[Token(Token = "0x4003116")]
Pelvis,
// Token: 0x04003117 RID: 12567
[Token(Token = "0x4003117")]
Chest,
// Token: 0x04003118 RID: 12568
[Token(Token = "0x4003118")]
Head,
// Token: 0x04003119 RID: 12569
[Token(Token = "0x4003119")]
LeftHand,
// Token: 0x0400311A RID: 12570
[Token(Token = "0x400311A")]
RightHand,
// Token: 0x0400311B RID: 12571
[Token(Token = "0x400311B")]
LeftFoot,
// Token: 0x0400311C RID: 12572
[Token(Token = "0x400311C")]
RightFoot,
// Token: 0x0400311D RID: 12573
[Token(Token = "0x400311D")]
LeftHeel,
// Token: 0x0400311E RID: 12574
[Token(Token = "0x400311E")]
RightHeel
}
// Token: 0x0200044B RID: 1099
[Token(Token = "0x200044B")]
[Serializable]
public enum RotationOffset
{
// Token: 0x04003120 RID: 12576
[Token(Token = "0x4003120")]
Pelvis,
// Token: 0x04003121 RID: 12577
[Token(Token = "0x4003121")]
Chest,
// Token: 0x04003122 RID: 12578
[Token(Token = "0x4003122")]
Head
}
// Token: 0x0200044C RID: 1100
[Token(Token = "0x200044C")]
[Serializable]
public class VirtualBone
{
// Token: 0x06002797 RID: 10135 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002797")]
[Address(RVA = "0x15957B0", Offset = "0x1593FB0", VA = "0x1815957B0")]
public VirtualBone(Vector3 position, Quaternion rotation)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002798 RID: 10136 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002798")]
[Address(RVA = "0x1593B50", Offset = "0x1592350", VA = "0x181593B50")]
public void Read(Vector3 position, Quaternion rotation)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002799 RID: 10137 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002799")]
[Address(RVA = "0x1595560", Offset = "0x1593D60", VA = "0x181595560")]
public static void SwingRotation(IKSolverVR.VirtualBone[] bones, int index, Vector3 swingTarget, float weight = 1f)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600279A RID: 10138 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600279A")]
[Address(RVA = "0x15937C0", Offset = "0x1591FC0", VA = "0x1815937C0")]
public static float PreSolve(ref IKSolverVR.VirtualBone[] bones)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600279B RID: 10139 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600279B")]
[Address(RVA = "0x1593B80", Offset = "0x1592380", VA = "0x181593B80")]
public static void RotateAroundPoint(IKSolverVR.VirtualBone[] bones, int index, Vector3 point, Quaternion rotation)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600279C RID: 10140 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600279C")]
[Address(RVA = "0x1593D90", Offset = "0x1592590", VA = "0x181593D90")]
public static void RotateBy(IKSolverVR.VirtualBone[] bones, int index, Quaternion rotation)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600279D RID: 10141 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600279D")]
[Address(RVA = "0x1593FB0", Offset = "0x15927B0", VA = "0x181593FB0")]
public static void RotateBy(IKSolverVR.VirtualBone[] bones, Quaternion rotation)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600279E RID: 10142 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600279E")]
[Address(RVA = "0x15941D0", Offset = "0x15929D0", VA = "0x1815941D0")]
public static void RotateTo(IKSolverVR.VirtualBone[] bones, int index, Quaternion rotation)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600279F RID: 10143 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600279F")]
[Address(RVA = "0x1594BA0", Offset = "0x15933A0", VA = "0x181594BA0")]
public static void SolveTrigonometric(IKSolverVR.VirtualBone[] bones, int first, int second, int third, Vector3 targetPosition, Vector3 bendNormal, float weight)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060027A0 RID: 10144 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60027A0")]
[Address(RVA = "0x15935F0", Offset = "0x1591DF0", VA = "0x1815935F0")]
private static Vector3 GetDirectionToBendPoint(Vector3 direction, float directionMag, Vector3 bendDirection, float sqrMag1, float sqrMag2)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060027A1 RID: 10145 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60027A1")]
[Address(RVA = "0x1594680", Offset = "0x1592E80", VA = "0x181594680")]
public static void SolveFABRIK(IKSolverVR.VirtualBone[] bones, Vector3 startPosition, Vector3 targetPosition, float weight, float minNormalizedTargetDistance, int iterations, float length)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060027A2 RID: 10146 RVA: 0x000578EC File Offset: 0x00055AEC
[Token(Token = "0x60027A2")]
[Address(RVA = "0x1594560", Offset = "0x1592D60", VA = "0x181594560")]
private static Vector3 SolveFABRIKJoint(Vector3 pos1, Vector3 pos2, float length)
{
Vector3 normalized = pos1.normalized;
pos1.z = normalized;
return pos1;
}
// Token: 0x060027A3 RID: 10147 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60027A3")]
[Address(RVA = "0x15942B0", Offset = "0x1592AB0", VA = "0x1815942B0")]
public static void SolveCCD(IKSolverVR.VirtualBone[] bones, Vector3 targetPosition, float weight, int iterations)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x04003123 RID: 12579
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4003123")]
public Vector3 readPosition;
// Token: 0x04003124 RID: 12580
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x4003124")]
public Quaternion readRotation;
// Token: 0x04003125 RID: 12581
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x4003125")]
public Vector3 solverPosition;
// Token: 0x04003126 RID: 12582
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4003126")]
public Quaternion solverRotation;
// Token: 0x04003127 RID: 12583
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4003127")]
public float length;
// Token: 0x04003128 RID: 12584
[FieldOffset(Offset = "0x4C")]
[Token(Token = "0x4003128")]
public float sqrMag;
// Token: 0x04003129 RID: 12585
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4003129")]
public Vector3 axis;
}
}
}