456 lines
15 KiB
C#
456 lines
15 KiB
C#
using System;
|
|
using Cpp2IlInjected;
|
|
using UnityEngine;
|
|
|
|
namespace RootMotion.FinalIK
|
|
{
|
|
// Token: 0x02000420 RID: 1056
|
|
[Token(Token = "0x2000420")]
|
|
[Serializable]
|
|
public class FBIKChain
|
|
{
|
|
// Token: 0x06002594 RID: 9620 RVA: 0x00054E5C File Offset: 0x0005305C
|
|
[Token(Token = "0x6002594")]
|
|
[Address(RVA = "0x4C9570", Offset = "0x4C7D70", VA = "0x1804C9570")]
|
|
public FBIKChain()
|
|
{
|
|
this.pull = 1f;
|
|
int num = 0;
|
|
this.reach = 0.1f;
|
|
this.reachSmoothing = (FBIKChain.Smoothing)((ulong)1L);
|
|
this.pushSmoothing = (FBIKChain.Smoothing)((ulong)1L);
|
|
IKSolver.Node[] array = new IKSolver.Node[num];
|
|
this.nodes = array;
|
|
int[] array2 = new int[0];
|
|
this.children = array2;
|
|
FBIKChain.ChildConstraint[] array3 = new FBIKChain.ChildConstraint[0];
|
|
this.childConstraints = array3;
|
|
IKConstraintBend ikconstraintBend = new IKConstraintBend();
|
|
this.bendConstraint = ikconstraintBend;
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x06002595 RID: 9621 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002595")]
|
|
[Address(RVA = "0x4C9670", Offset = "0x4C7E70", VA = "0x1804C9670")]
|
|
public FBIKChain(float pin, float pull, params Transform[] nodeTransforms)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002596 RID: 9622 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002596")]
|
|
[Address(RVA = "0x4C80B0", Offset = "0x4C68B0", VA = "0x1804C80B0")]
|
|
public void SetNodes(params Transform[] boneTransforms)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002597 RID: 9623 RVA: 0x00054ED4 File Offset: 0x000530D4
|
|
[Token(Token = "0x6002597")]
|
|
[Address(RVA = "0x4C6E10", Offset = "0x4C5610", VA = "0x1804C6E10")]
|
|
public int GetNodeIndex(Transform boneTransform)
|
|
{
|
|
IKSolver.Node[] array = this.nodes;
|
|
int num = 0;
|
|
if (num < array.Length)
|
|
{
|
|
if (!(array[num].transform == boneTransform))
|
|
{
|
|
IKSolver.Node[] array2 = this.nodes;
|
|
num++;
|
|
}
|
|
return num;
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06002598 RID: 9624 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002598")]
|
|
[Address(RVA = "0x4C70D0", Offset = "0x4C58D0", VA = "0x1804C70D0")]
|
|
public bool IsValid(ref string message)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002599 RID: 9625 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002599")]
|
|
[Address(RVA = "0x4C6F00", Offset = "0x4C5700", VA = "0x1804C6F00")]
|
|
public void Initiate(IKSolverFullBody solver)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x0600259A RID: 9626 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x600259A")]
|
|
[Address(RVA = "0x4C7A80", Offset = "0x4C6280", VA = "0x1804C7A80")]
|
|
public void ReadPose(IKSolverFullBody solver, bool fullBody)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x0600259B RID: 9627 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x600259B")]
|
|
[Address(RVA = "0x4C62C0", Offset = "0x4C4AC0", VA = "0x1804C62C0")]
|
|
private void CalculateBoneLengths(IKSolverFullBody solver)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x0600259C RID: 9628 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x600259C")]
|
|
[Address(RVA = "0x4C7660", Offset = "0x4C5E60", VA = "0x1804C7660")]
|
|
public void Reach(IKSolverFullBody solver)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x0600259D RID: 9629 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x600259D")]
|
|
[Address(RVA = "0x4C7200", Offset = "0x4C5A00", VA = "0x1804C7200")]
|
|
public Vector3 Push(IKSolverFullBody solver)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x0600259E RID: 9630 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x600259E")]
|
|
[Address(RVA = "0x4C88E0", Offset = "0x4C70E0", VA = "0x1804C88E0")]
|
|
public void SolveTrigonometric(IKSolverFullBody solver, bool calculateBendDirection = false)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x0600259F RID: 9631 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x600259F")]
|
|
[Address(RVA = "0x4C8E10", Offset = "0x4C7610", VA = "0x1804C8E10")]
|
|
public void Stage1(IKSolverFullBody solver)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060025A0 RID: 9632 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60025A0")]
|
|
[Address(RVA = "0x4C93E0", Offset = "0x4C7BE0", VA = "0x1804C93E0")]
|
|
public void Stage2(IKSolverFullBody solver, Vector3 position)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060025A1 RID: 9633 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60025A1")]
|
|
[Address(RVA = "0x4C82A0", Offset = "0x4C6AA0", VA = "0x1804C82A0")]
|
|
public void SolveConstraintSystems(IKSolverFullBody solver)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060025A2 RID: 9634 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60025A2")]
|
|
[Address(RVA = "0x4C85D0", Offset = "0x4C6DD0", VA = "0x1804C85D0")]
|
|
private Vector3 SolveFABRIKJoint(Vector3 pos1, Vector3 pos2, float length)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060025A3 RID: 9635 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60025A3")]
|
|
[Address(RVA = "0x4C6C40", Offset = "0x4C5440", VA = "0x1804C6C40")]
|
|
protected Vector3 GetDirToBendPoint(Vector3 direction, Vector3 bendDirection, float directionMagnitude)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060025A4 RID: 9636 RVA: 0x00054F1C File Offset: 0x0005311C
|
|
[Token(Token = "0x60025A4")]
|
|
[Address(RVA = "0x4C8210", Offset = "0x4C6A10", VA = "0x1804C8210")]
|
|
private void SolveChildConstraints(IKSolverFullBody solver)
|
|
{
|
|
FBIKChain.ChildConstraint[] array = this.childConstraints;
|
|
int num = 0;
|
|
if (num < array.Length)
|
|
{
|
|
array[num].Solve(solver);
|
|
FBIKChain.ChildConstraint[] array2 = this.childConstraints;
|
|
num++;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060025A5 RID: 9637 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60025A5")]
|
|
[Address(RVA = "0x4C86F0", Offset = "0x4C6EF0", VA = "0x1804C86F0")]
|
|
private void SolveLinearConstraint(IKSolver.Node node1, IKSolver.Node node2, float crossFade, float distance)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060025A6 RID: 9638 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60025A6")]
|
|
[Address(RVA = "0x4C6A60", Offset = "0x4C5260", VA = "0x1804C6A60")]
|
|
public void ForwardReach(Vector3 position)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060025A7 RID: 9639 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60025A7")]
|
|
[Address(RVA = "0x4C5FC0", Offset = "0x4C47C0", VA = "0x1804C5FC0")]
|
|
private void BackwardReach(Vector3 position)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x04002F3D RID: 12093
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4002F3D")]
|
|
[Range(0f, 1f)]
|
|
public float pin;
|
|
|
|
// Token: 0x04002F3E RID: 12094
|
|
[FieldOffset(Offset = "0x14")]
|
|
[Token(Token = "0x4002F3E")]
|
|
[Range(0f, 1f)]
|
|
public float pull;
|
|
|
|
// Token: 0x04002F3F RID: 12095
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4002F3F")]
|
|
[Range(0f, 1f)]
|
|
public float push;
|
|
|
|
// Token: 0x04002F40 RID: 12096
|
|
[FieldOffset(Offset = "0x1C")]
|
|
[Token(Token = "0x4002F40")]
|
|
[Range(-1f, 1f)]
|
|
public float pushParent;
|
|
|
|
// Token: 0x04002F41 RID: 12097
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4002F41")]
|
|
[Range(0f, 1f)]
|
|
public float reach;
|
|
|
|
// Token: 0x04002F42 RID: 12098
|
|
[FieldOffset(Offset = "0x24")]
|
|
[Token(Token = "0x4002F42")]
|
|
public FBIKChain.Smoothing reachSmoothing;
|
|
|
|
// Token: 0x04002F43 RID: 12099
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x4002F43")]
|
|
public FBIKChain.Smoothing pushSmoothing;
|
|
|
|
// Token: 0x04002F44 RID: 12100
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4002F44")]
|
|
public IKSolver.Node[] nodes;
|
|
|
|
// Token: 0x04002F45 RID: 12101
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x4002F45")]
|
|
public int[] children;
|
|
|
|
// Token: 0x04002F46 RID: 12102
|
|
[FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x4002F46")]
|
|
public FBIKChain.ChildConstraint[] childConstraints;
|
|
|
|
// Token: 0x04002F47 RID: 12103
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x4002F47")]
|
|
public IKConstraintBend bendConstraint;
|
|
|
|
// Token: 0x04002F48 RID: 12104
|
|
[FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x4002F48")]
|
|
private float rootLength;
|
|
|
|
// Token: 0x04002F49 RID: 12105
|
|
[FieldOffset(Offset = "0x54")]
|
|
[Token(Token = "0x4002F49")]
|
|
private bool initiated;
|
|
|
|
// Token: 0x04002F4A RID: 12106
|
|
[FieldOffset(Offset = "0x58")]
|
|
[Token(Token = "0x4002F4A")]
|
|
private float length;
|
|
|
|
// Token: 0x04002F4B RID: 12107
|
|
[FieldOffset(Offset = "0x5C")]
|
|
[Token(Token = "0x4002F4B")]
|
|
private float distance;
|
|
|
|
// Token: 0x04002F4C RID: 12108
|
|
[FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x4002F4C")]
|
|
private IKSolver.Point p;
|
|
|
|
// Token: 0x04002F4D RID: 12109
|
|
[FieldOffset(Offset = "0x68")]
|
|
[Token(Token = "0x4002F4D")]
|
|
private float reachForce;
|
|
|
|
// Token: 0x04002F4E RID: 12110
|
|
[FieldOffset(Offset = "0x6C")]
|
|
[Token(Token = "0x4002F4E")]
|
|
private float pullParentSum;
|
|
|
|
// Token: 0x04002F4F RID: 12111
|
|
[FieldOffset(Offset = "0x70")]
|
|
[Token(Token = "0x4002F4F")]
|
|
private float[] crossFades;
|
|
|
|
// Token: 0x04002F50 RID: 12112
|
|
[FieldOffset(Offset = "0x78")]
|
|
[Token(Token = "0x4002F50")]
|
|
private float sqrMag1;
|
|
|
|
// Token: 0x04002F51 RID: 12113
|
|
[FieldOffset(Offset = "0x7C")]
|
|
[Token(Token = "0x4002F51")]
|
|
private float sqrMag2;
|
|
|
|
// Token: 0x04002F52 RID: 12114
|
|
[FieldOffset(Offset = "0x80")]
|
|
[Token(Token = "0x4002F52")]
|
|
private float sqrMagDif;
|
|
|
|
// Token: 0x04002F53 RID: 12115
|
|
[Token(Token = "0x4002F53")]
|
|
private const float maxLimbLength = 0.99999f;
|
|
|
|
// Token: 0x02000421 RID: 1057
|
|
[Token(Token = "0x2000421")]
|
|
[Serializable]
|
|
public class ChildConstraint
|
|
{
|
|
// Token: 0x17000224 RID: 548
|
|
// (get) Token: 0x060025A8 RID: 9640 RVA: 0x00054F5C File Offset: 0x0005315C
|
|
// (set) Token: 0x060025A9 RID: 9641 RVA: 0x00054F70 File Offset: 0x00053170
|
|
[Token(Token = "0x17000224")]
|
|
public float nominalDistance
|
|
{
|
|
[Token(Token = "0x60025A8")]
|
|
[Address(RVA = "0x66CA40", Offset = "0x66B240", VA = "0x18066CA40")]
|
|
get;
|
|
[Token(Token = "0x60025A9")]
|
|
[Address(RVA = "0x66CA50", Offset = "0x66B250", VA = "0x18066CA50")]
|
|
private set;
|
|
}
|
|
|
|
// Token: 0x17000225 RID: 549
|
|
// (get) Token: 0x060025AA RID: 9642 RVA: 0x00054F84 File Offset: 0x00053184
|
|
// (set) Token: 0x060025AB RID: 9643 RVA: 0x00054F98 File Offset: 0x00053198
|
|
[Token(Token = "0x17000225")]
|
|
public bool isRigid
|
|
{
|
|
[Token(Token = "0x60025AA")]
|
|
[Address(RVA = "0x4AB610", Offset = "0x4A9E10", VA = "0x1804AB610")]
|
|
get;
|
|
[Token(Token = "0x60025AB")]
|
|
[Address(RVA = "0x610BB0", Offset = "0x60F3B0", VA = "0x180610BB0")]
|
|
private set;
|
|
}
|
|
|
|
// Token: 0x060025AC RID: 9644 RVA: 0x00054FAC File Offset: 0x000531AC
|
|
[Token(Token = "0x60025AC")]
|
|
[Address(RVA = "0x66C9D0", Offset = "0x66B1D0", VA = "0x18066C9D0")]
|
|
public ChildConstraint(Transform bone1, Transform bone2, float pushElasticity = 0f, float pullElasticity = 0f)
|
|
{
|
|
this.bone1 = bone1;
|
|
this.bone2 = bone2;
|
|
this.pushElasticity = pushElasticity;
|
|
this.pullElasticity = (float)0;
|
|
}
|
|
|
|
// Token: 0x060025AD RID: 9645 RVA: 0x00054FDC File Offset: 0x000531DC
|
|
[Token(Token = "0x60025AD")]
|
|
[Address(RVA = "0x66C370", Offset = "0x66AB70", VA = "0x18066C370")]
|
|
public void Initiate(IKSolverFullBody solver)
|
|
{
|
|
Transform transform = this.bone1;
|
|
int chainIndex = solver.GetChainIndex(transform);
|
|
Transform transform2 = this.bone2;
|
|
this.chain1Index = chainIndex;
|
|
int chainIndex2 = solver.GetChainIndex(transform2);
|
|
this.chain2Index = chainIndex2;
|
|
this.OnPreSolve(solver);
|
|
}
|
|
|
|
// Token: 0x060025AE RID: 9646 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60025AE")]
|
|
[Address(RVA = "0x66C3D0", Offset = "0x66ABD0", VA = "0x18066C3D0")]
|
|
public void OnPreSolve(IKSolverFullBody solver)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060025AF RID: 9647 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60025AF")]
|
|
[Address(RVA = "0x66C610", Offset = "0x66AE10", VA = "0x18066C610")]
|
|
public void Solve(IKSolverFullBody solver)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x04002F54 RID: 12116
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4002F54")]
|
|
public float pushElasticity;
|
|
|
|
// Token: 0x04002F55 RID: 12117
|
|
[FieldOffset(Offset = "0x14")]
|
|
[Token(Token = "0x4002F55")]
|
|
public float pullElasticity;
|
|
|
|
// Token: 0x04002F56 RID: 12118
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4002F56")]
|
|
[SerializeField]
|
|
private Transform bone1;
|
|
|
|
// Token: 0x04002F57 RID: 12119
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4002F57")]
|
|
[SerializeField]
|
|
private Transform bone2;
|
|
|
|
// Token: 0x04002F5A RID: 12122
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4002F5A")]
|
|
private float crossFade;
|
|
|
|
// Token: 0x04002F5B RID: 12123
|
|
[FieldOffset(Offset = "0x34")]
|
|
[Token(Token = "0x4002F5B")]
|
|
private float inverseCrossFade;
|
|
|
|
// Token: 0x04002F5C RID: 12124
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x4002F5C")]
|
|
private int chain1Index;
|
|
|
|
// Token: 0x04002F5D RID: 12125
|
|
[FieldOffset(Offset = "0x3C")]
|
|
[Token(Token = "0x4002F5D")]
|
|
private int chain2Index;
|
|
}
|
|
|
|
// Token: 0x02000422 RID: 1058
|
|
[Token(Token = "0x2000422")]
|
|
[Serializable]
|
|
public enum Smoothing
|
|
{
|
|
// Token: 0x04002F5F RID: 12127
|
|
[Token(Token = "0x4002F5F")]
|
|
None,
|
|
// Token: 0x04002F60 RID: 12128
|
|
[Token(Token = "0x4002F60")]
|
|
Exponential,
|
|
// Token: 0x04002F61 RID: 12129
|
|
[Token(Token = "0x4002F61")]
|
|
Cubic
|
|
}
|
|
}
|
|
}
|