441 lines
16 KiB
C#
441 lines
16 KiB
C#
using System;
|
|
using Cpp2IlInjected;
|
|
using UnityEngine;
|
|
|
|
namespace RootMotion.FinalIK
|
|
{
|
|
// Token: 0x02000435 RID: 1077
|
|
[Token(Token = "0x2000435")]
|
|
[Serializable]
|
|
public class IKSolverLookAt : IKSolver
|
|
{
|
|
// Token: 0x060026A5 RID: 9893 RVA: 0x000564DC File Offset: 0x000546DC
|
|
[Token(Token = "0x60026A5")]
|
|
[Address(RVA = "0x1186B60", Offset = "0x1185960", VA = "0x181186B60")]
|
|
public void SetLookAtWeight(float weight)
|
|
{
|
|
int num = 0;
|
|
float num2 = Mathf.Clamp(weight, (float)num, 1f);
|
|
this.IKPositionWeight = num2;
|
|
}
|
|
|
|
// Token: 0x060026A6 RID: 9894 RVA: 0x00056500 File Offset: 0x00054700
|
|
[Token(Token = "0x60026A6")]
|
|
[Address(RVA = "0x159AFF0", Offset = "0x1599DF0", VA = "0x18159AFF0")]
|
|
public void SetLookAtWeight(float weight, float bodyWeight)
|
|
{
|
|
int num = 0;
|
|
float num2 = Mathf.Clamp(weight, (float)num, 1f);
|
|
this.IKPositionWeight = num2;
|
|
int num3 = 0;
|
|
float num4 = Mathf.Clamp(bodyWeight, (float)num3, 1f);
|
|
this.bodyWeight = num4;
|
|
}
|
|
|
|
// Token: 0x060026A7 RID: 9895 RVA: 0x0005653C File Offset: 0x0005473C
|
|
[Token(Token = "0x60026A7")]
|
|
[Address(RVA = "0x159B050", Offset = "0x1599E50", VA = "0x18159B050")]
|
|
public void SetLookAtWeight(float weight, float bodyWeight, float headWeight)
|
|
{
|
|
int num = 0;
|
|
float num2 = Mathf.Clamp(weight, (float)num, 1f);
|
|
this.IKPositionWeight = num2;
|
|
int num3 = 0;
|
|
float num4 = Mathf.Clamp(bodyWeight, (float)num3, 1f);
|
|
this.bodyWeight = num4;
|
|
int num5 = 0;
|
|
float num6 = Mathf.Clamp(headWeight, (float)num5, 1f);
|
|
this.headWeight = num6;
|
|
}
|
|
|
|
// Token: 0x060026A8 RID: 9896 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026A8")]
|
|
[Address(RVA = "0x159AF50", Offset = "0x1599D50", VA = "0x18159AF50")]
|
|
public void SetLookAtWeight(float weight, float bodyWeight, float headWeight, float eyesWeight)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060026A9 RID: 9897 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026A9")]
|
|
[Address(RVA = "0x159AE70", Offset = "0x1599C70", VA = "0x18159AE70")]
|
|
public void SetLookAtWeight(float weight, float bodyWeight, float headWeight, float eyesWeight, float clampWeight)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060026AA RID: 9898 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026AA")]
|
|
[Address(RVA = "0x159B0D0", Offset = "0x1599ED0", VA = "0x18159B0D0")]
|
|
public void SetLookAtWeight(float weight, float bodyWeight = 0f, float headWeight = 1f, float eyesWeight = 0.5f, float clampWeight = 0.5f, float clampWeightHead = 0.5f, float clampWeightEyes = 0.3f)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060026AB RID: 9899 RVA: 0x00056594 File Offset: 0x00054794
|
|
[Token(Token = "0x60026AB")]
|
|
[Address(RVA = "0x159BAF0", Offset = "0x159A8F0", VA = "0x18159BAF0", Slot = "9")]
|
|
public override void StoreDefaultLocalState()
|
|
{
|
|
IKSolverLookAt.LookAtBone[] array = this.spine;
|
|
int num = 0;
|
|
if (num < array.Length)
|
|
{
|
|
array[num].StoreDefaultLocalState();
|
|
IKSolverLookAt.LookAtBone[] array2 = this.spine;
|
|
num++;
|
|
}
|
|
IKSolverLookAt.LookAtBone[] array3 = this.eyes;
|
|
if (num < array3.Length)
|
|
{
|
|
array3[num].StoreDefaultLocalState();
|
|
IKSolverLookAt.LookAtBone[] array4 = this.eyes;
|
|
num++;
|
|
while (array4 != 0)
|
|
{
|
|
}
|
|
}
|
|
IKSolverLookAt.LookAtBone lookAtBone = this.head;
|
|
if (lookAtBone != 0)
|
|
{
|
|
Transform transform = lookAtBone.transform;
|
|
int num2 = 0;
|
|
if (transform != num2)
|
|
{
|
|
this.head.StoreDefaultLocalState();
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x060026AC RID: 9900 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026AC")]
|
|
[Address(RVA = "0x1599A50", Offset = "0x1598850", VA = "0x181599A50", Slot = "8")]
|
|
public override void FixTransforms()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060026AD RID: 9901 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026AD")]
|
|
[Address(RVA = "0x159A3E0", Offset = "0x15991E0", VA = "0x18159A3E0", Slot = "4")]
|
|
public override bool IsValid(ref string message)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060026AE RID: 9902 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026AE")]
|
|
[Address(RVA = "0x159A0F0", Offset = "0x1598EF0", VA = "0x18159A0F0", Slot = "6")]
|
|
public override IKSolver.Point[] GetPoints()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060026AF RID: 9903 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026AF")]
|
|
[Address(RVA = "0x1599F30", Offset = "0x1598D30", VA = "0x181599F30", Slot = "7")]
|
|
public override IKSolver.Point GetPoint(Transform transform)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060026B0 RID: 9904 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026B0")]
|
|
[Address(RVA = "0x159ADB0", Offset = "0x1599BB0", VA = "0x18159ADB0")]
|
|
public bool SetChain(Transform[] spine, Transform head, Transform[] eyes, Transform root)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060026B1 RID: 9905 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026B1")]
|
|
[Address(RVA = "0x159A710", Offset = "0x1599510", VA = "0x18159A710", Slot = "10")]
|
|
protected override void OnInitiate()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060026B2 RID: 9906 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026B2")]
|
|
[Address(RVA = "0x159AB00", Offset = "0x1599900", VA = "0x18159AB00", Slot = "11")]
|
|
protected override void OnUpdate()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x17000251 RID: 593
|
|
// (get) Token: 0x060026B3 RID: 9907 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x17000251")]
|
|
private bool spineIsValid
|
|
{
|
|
[Token(Token = "0x60026B3")]
|
|
[Address(RVA = "0x159C0A0", Offset = "0x159AEA0", VA = "0x18159C0A0")]
|
|
get
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
}
|
|
|
|
// Token: 0x17000252 RID: 594
|
|
// (get) Token: 0x060026B4 RID: 9908 RVA: 0x00056630 File Offset: 0x00054830
|
|
[Token(Token = "0x17000252")]
|
|
private bool spineIsEmpty
|
|
{
|
|
[Token(Token = "0x60026B4")]
|
|
[Address(RVA = "0x159C080", Offset = "0x159AE80", VA = "0x18159C080")]
|
|
get
|
|
{
|
|
return this.spine.Length == 0;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060026B5 RID: 9909 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026B5")]
|
|
[Address(RVA = "0x159B860", Offset = "0x159A660", VA = "0x18159B860")]
|
|
private void SolveSpine()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x17000253 RID: 595
|
|
// (get) Token: 0x060026B6 RID: 9910 RVA: 0x00056654 File Offset: 0x00054854
|
|
[Token(Token = "0x17000253")]
|
|
private bool headIsValid
|
|
{
|
|
[Token(Token = "0x60026B6")]
|
|
[Address(RVA = "0x159C070", Offset = "0x159AE70", VA = "0x18159C070")]
|
|
get
|
|
{
|
|
return this.head != (ulong)0L;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17000254 RID: 596
|
|
// (get) Token: 0x060026B7 RID: 9911 RVA: 0x00056670 File Offset: 0x00054870
|
|
[Token(Token = "0x17000254")]
|
|
private bool headIsEmpty
|
|
{
|
|
[Token(Token = "0x60026B7")]
|
|
[Address(RVA = "0x159C000", Offset = "0x159AE00", VA = "0x18159C000")]
|
|
get
|
|
{
|
|
Transform transform = this.head.transform;
|
|
int num = 0;
|
|
return transform == num;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060026B8 RID: 9912 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026B8")]
|
|
[Address(RVA = "0x159B510", Offset = "0x159A310", VA = "0x18159B510")]
|
|
private void SolveHead()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x17000255 RID: 597
|
|
// (get) Token: 0x060026B9 RID: 9913 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x17000255")]
|
|
private bool eyesIsValid
|
|
{
|
|
[Token(Token = "0x60026B9")]
|
|
[Address(RVA = "0x159BF10", Offset = "0x159AD10", VA = "0x18159BF10")]
|
|
get
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
}
|
|
|
|
// Token: 0x17000256 RID: 598
|
|
// (get) Token: 0x060026BA RID: 9914 RVA: 0x00056698 File Offset: 0x00054898
|
|
[Token(Token = "0x17000256")]
|
|
private bool eyesIsEmpty
|
|
{
|
|
[Token(Token = "0x60026BA")]
|
|
[Address(RVA = "0x159BEF0", Offset = "0x159ACF0", VA = "0x18159BEF0")]
|
|
get
|
|
{
|
|
return this.eyes.Length == 0;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060026BB RID: 9915 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026BB")]
|
|
[Address(RVA = "0x159B1E0", Offset = "0x1599FE0", VA = "0x18159B1E0")]
|
|
private void SolveEyes()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060026BC RID: 9916 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026BC")]
|
|
[Address(RVA = "0x1599BC0", Offset = "0x15989C0", VA = "0x181599BC0")]
|
|
private Vector3[] GetForwards(ref Vector3[] forwards, Vector3 baseForward, Vector3 targetForward, int bones, float clamp)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060026BD RID: 9917 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026BD")]
|
|
[Address(RVA = "0x159ABE0", Offset = "0x15999E0", VA = "0x18159ABE0")]
|
|
private void SetBones(Transform[] array, ref IKSolverLookAt.LookAtBone[] bones)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060026BE RID: 9918 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026BE")]
|
|
[Address(RVA = "0x159BC50", Offset = "0x159AA50", VA = "0x18159BC50")]
|
|
public IKSolverLookAt()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x04003006 RID: 12294
|
|
[FieldOffset(Offset = "0x58")]
|
|
[Token(Token = "0x4003006")]
|
|
public Transform target;
|
|
|
|
// Token: 0x04003007 RID: 12295
|
|
[FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x4003007")]
|
|
public IKSolverLookAt.LookAtBone[] spine;
|
|
|
|
// Token: 0x04003008 RID: 12296
|
|
[FieldOffset(Offset = "0x68")]
|
|
[Token(Token = "0x4003008")]
|
|
public IKSolverLookAt.LookAtBone head;
|
|
|
|
// Token: 0x04003009 RID: 12297
|
|
[FieldOffset(Offset = "0x70")]
|
|
[Token(Token = "0x4003009")]
|
|
public IKSolverLookAt.LookAtBone[] eyes;
|
|
|
|
// Token: 0x0400300A RID: 12298
|
|
[FieldOffset(Offset = "0x78")]
|
|
[Token(Token = "0x400300A")]
|
|
[Range(0f, 1f)]
|
|
public float bodyWeight;
|
|
|
|
// Token: 0x0400300B RID: 12299
|
|
[FieldOffset(Offset = "0x7C")]
|
|
[Token(Token = "0x400300B")]
|
|
[Range(0f, 1f)]
|
|
public float headWeight;
|
|
|
|
// Token: 0x0400300C RID: 12300
|
|
[FieldOffset(Offset = "0x80")]
|
|
[Token(Token = "0x400300C")]
|
|
[Range(0f, 1f)]
|
|
public float eyesWeight;
|
|
|
|
// Token: 0x0400300D RID: 12301
|
|
[FieldOffset(Offset = "0x84")]
|
|
[Token(Token = "0x400300D")]
|
|
[Range(0f, 1f)]
|
|
public float clampWeight;
|
|
|
|
// Token: 0x0400300E RID: 12302
|
|
[FieldOffset(Offset = "0x88")]
|
|
[Token(Token = "0x400300E")]
|
|
[Range(0f, 1f)]
|
|
public float clampWeightHead;
|
|
|
|
// Token: 0x0400300F RID: 12303
|
|
[FieldOffset(Offset = "0x8C")]
|
|
[Token(Token = "0x400300F")]
|
|
[Range(0f, 1f)]
|
|
public float clampWeightEyes;
|
|
|
|
// Token: 0x04003010 RID: 12304
|
|
[FieldOffset(Offset = "0x90")]
|
|
[Token(Token = "0x4003010")]
|
|
[Attribute(Name = "RangeAttribute", RVA = "0xDF060", Offset = "0xDE460")]
|
|
public int clampSmoothing;
|
|
|
|
// Token: 0x04003011 RID: 12305
|
|
[FieldOffset(Offset = "0x98")]
|
|
[Token(Token = "0x4003011")]
|
|
public AnimationCurve spineWeightCurve;
|
|
|
|
// Token: 0x04003012 RID: 12306
|
|
[FieldOffset(Offset = "0xA0")]
|
|
[Token(Token = "0x4003012")]
|
|
private Vector3[] spineForwards;
|
|
|
|
// Token: 0x04003013 RID: 12307
|
|
[FieldOffset(Offset = "0xA8")]
|
|
[Token(Token = "0x4003013")]
|
|
private Vector3[] headForwards;
|
|
|
|
// Token: 0x04003014 RID: 12308
|
|
[FieldOffset(Offset = "0xB0")]
|
|
[Token(Token = "0x4003014")]
|
|
private Vector3[] eyeForward;
|
|
|
|
// Token: 0x02000436 RID: 1078
|
|
[Token(Token = "0x2000436")]
|
|
[Serializable]
|
|
public class LookAtBone : IKSolver.Bone
|
|
{
|
|
// Token: 0x060026BF RID: 9919 RVA: 0x000566BC File Offset: 0x000548BC
|
|
[Token(Token = "0x60026BF")]
|
|
[Address(RVA = "0x14F1520", Offset = "0x14F0320", VA = "0x1814F1520")]
|
|
public LookAtBone()
|
|
{
|
|
}
|
|
|
|
// Token: 0x060026C0 RID: 9920 RVA: 0x000566D0 File Offset: 0x000548D0
|
|
[Token(Token = "0x60026C0")]
|
|
[Address(RVA = "0x14F14F0", Offset = "0x14F02F0", VA = "0x1814F14F0")]
|
|
public LookAtBone(Transform transform)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060026C0)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void RootMotion.FinalIK.IKSolverLookAt/LookAtBone::.ctor(UnityEngine.Transform)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{; Block_0:; call:void(Bone::.ctor, ldloc:LookAtBone[exp:Bone](this)); stfld:Transform(Point::transform, ldloc:LookAtBone[exp:Point](this), ldloc:Transform(transform)); };
|
|
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: 0x060026C1 RID: 9921 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026C1")]
|
|
[Address(RVA = "0x14F1270", Offset = "0x14F0070", VA = "0x1814F1270")]
|
|
public void Initiate(Transform root)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060026C2 RID: 9922 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026C2")]
|
|
[Address(RVA = "0x14F1390", Offset = "0x14F0190", VA = "0x1814F1390")]
|
|
public void LookAt(Vector3 direction, float weight)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x17000257 RID: 599
|
|
// (get) Token: 0x060026C3 RID: 9923 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x17000257")]
|
|
public Vector3 forward
|
|
{
|
|
[Token(Token = "0x60026C3")]
|
|
[Address(RVA = "0x14F1530", Offset = "0x14F0330", VA = "0x1814F1530")]
|
|
get
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|