441 lines
16 KiB
C#
441 lines
16 KiB
C#
using System;
|
|
using Cpp2IlInjected;
|
|
using UnityEngine;
|
|
|
|
namespace RootMotion.FinalIK
|
|
{
|
|
// Token: 0x0200043E RID: 1086
|
|
[Token(Token = "0x200043E")]
|
|
[Serializable]
|
|
public class IKSolverLookAt : IKSolver
|
|
{
|
|
// Token: 0x060026D7 RID: 9943 RVA: 0x00056A24 File Offset: 0x00054C24
|
|
[Token(Token = "0x60026D7")]
|
|
[Address(RVA = "0x11E9BA0", Offset = "0x11E83A0", VA = "0x1811E9BA0")]
|
|
public void SetLookAtWeight(float weight)
|
|
{
|
|
int num = 0;
|
|
float num2 = Mathf.Clamp(weight, (float)num, 1f);
|
|
this.IKPositionWeight = num2;
|
|
}
|
|
|
|
// Token: 0x060026D8 RID: 9944 RVA: 0x00056A48 File Offset: 0x00054C48
|
|
[Token(Token = "0x60026D8")]
|
|
[Address(RVA = "0x16721B0", Offset = "0x16709B0", VA = "0x1816721B0")]
|
|
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: 0x060026D9 RID: 9945 RVA: 0x00056A84 File Offset: 0x00054C84
|
|
[Token(Token = "0x60026D9")]
|
|
[Address(RVA = "0x1672210", Offset = "0x1670A10", VA = "0x181672210")]
|
|
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: 0x060026DA RID: 9946 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026DA")]
|
|
[Address(RVA = "0x1672110", Offset = "0x1670910", VA = "0x181672110")]
|
|
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: 0x060026DB RID: 9947 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026DB")]
|
|
[Address(RVA = "0x1672030", Offset = "0x1670830", VA = "0x181672030")]
|
|
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: 0x060026DC RID: 9948 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026DC")]
|
|
[Address(RVA = "0x1672290", Offset = "0x1670A90", VA = "0x181672290")]
|
|
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: 0x060026DD RID: 9949 RVA: 0x00056ADC File Offset: 0x00054CDC
|
|
[Token(Token = "0x60026DD")]
|
|
[Address(RVA = "0x1672CB0", Offset = "0x16714B0", VA = "0x181672CB0", 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: 0x060026DE RID: 9950 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026DE")]
|
|
[Address(RVA = "0x1670C10", Offset = "0x166F410", VA = "0x181670C10", Slot = "8")]
|
|
public override void FixTransforms()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060026DF RID: 9951 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026DF")]
|
|
[Address(RVA = "0x16715A0", Offset = "0x166FDA0", VA = "0x1816715A0", Slot = "4")]
|
|
public override bool IsValid(ref string message)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060026E0 RID: 9952 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026E0")]
|
|
[Address(RVA = "0x16712B0", Offset = "0x166FAB0", VA = "0x1816712B0", Slot = "6")]
|
|
public override IKSolver.Point[] GetPoints()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060026E1 RID: 9953 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026E1")]
|
|
[Address(RVA = "0x16710F0", Offset = "0x166F8F0", VA = "0x1816710F0", Slot = "7")]
|
|
public override IKSolver.Point GetPoint(Transform transform)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060026E2 RID: 9954 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026E2")]
|
|
[Address(RVA = "0x1671F70", Offset = "0x1670770", VA = "0x181671F70")]
|
|
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: 0x060026E3 RID: 9955 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026E3")]
|
|
[Address(RVA = "0x16718D0", Offset = "0x16700D0", VA = "0x1816718D0", Slot = "10")]
|
|
protected override void OnInitiate()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060026E4 RID: 9956 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026E4")]
|
|
[Address(RVA = "0x1671CC0", Offset = "0x16704C0", VA = "0x181671CC0", Slot = "11")]
|
|
protected override void OnUpdate()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x1700024B RID: 587
|
|
// (get) Token: 0x060026E5 RID: 9957 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x1700024B")]
|
|
private bool spineIsValid
|
|
{
|
|
[Token(Token = "0x60026E5")]
|
|
[Address(RVA = "0x1673260", Offset = "0x1671A60", VA = "0x181673260")]
|
|
get
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
}
|
|
|
|
// Token: 0x1700024C RID: 588
|
|
// (get) Token: 0x060026E6 RID: 9958 RVA: 0x00056B78 File Offset: 0x00054D78
|
|
[Token(Token = "0x1700024C")]
|
|
private bool spineIsEmpty
|
|
{
|
|
[Token(Token = "0x60026E6")]
|
|
[Address(RVA = "0x1673240", Offset = "0x1671A40", VA = "0x181673240")]
|
|
get
|
|
{
|
|
return this.spine.Length == 0;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060026E7 RID: 9959 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026E7")]
|
|
[Address(RVA = "0x1672A20", Offset = "0x1671220", VA = "0x181672A20")]
|
|
private void SolveSpine()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x1700024D RID: 589
|
|
// (get) Token: 0x060026E8 RID: 9960 RVA: 0x00056B9C File Offset: 0x00054D9C
|
|
[Token(Token = "0x1700024D")]
|
|
private bool headIsValid
|
|
{
|
|
[Token(Token = "0x60026E8")]
|
|
[Address(RVA = "0x1673230", Offset = "0x1671A30", VA = "0x181673230")]
|
|
get
|
|
{
|
|
return this.head != (ulong)0L;
|
|
}
|
|
}
|
|
|
|
// Token: 0x1700024E RID: 590
|
|
// (get) Token: 0x060026E9 RID: 9961 RVA: 0x00056BB8 File Offset: 0x00054DB8
|
|
[Token(Token = "0x1700024E")]
|
|
private bool headIsEmpty
|
|
{
|
|
[Token(Token = "0x60026E9")]
|
|
[Address(RVA = "0x16731C0", Offset = "0x16719C0", VA = "0x1816731C0")]
|
|
get
|
|
{
|
|
Transform transform = this.head.transform;
|
|
int num = 0;
|
|
return transform == num;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060026EA RID: 9962 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026EA")]
|
|
[Address(RVA = "0x16726D0", Offset = "0x1670ED0", VA = "0x1816726D0")]
|
|
private void SolveHead()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x1700024F RID: 591
|
|
// (get) Token: 0x060026EB RID: 9963 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x1700024F")]
|
|
private bool eyesIsValid
|
|
{
|
|
[Token(Token = "0x60026EB")]
|
|
[Address(RVA = "0x16730D0", Offset = "0x16718D0", VA = "0x1816730D0")]
|
|
get
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
}
|
|
|
|
// Token: 0x17000250 RID: 592
|
|
// (get) Token: 0x060026EC RID: 9964 RVA: 0x00056BE0 File Offset: 0x00054DE0
|
|
[Token(Token = "0x17000250")]
|
|
private bool eyesIsEmpty
|
|
{
|
|
[Token(Token = "0x60026EC")]
|
|
[Address(RVA = "0x16730B0", Offset = "0x16718B0", VA = "0x1816730B0")]
|
|
get
|
|
{
|
|
return this.eyes.Length == 0;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060026ED RID: 9965 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026ED")]
|
|
[Address(RVA = "0x16723A0", Offset = "0x1670BA0", VA = "0x1816723A0")]
|
|
private void SolveEyes()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060026EE RID: 9966 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026EE")]
|
|
[Address(RVA = "0x1670D80", Offset = "0x166F580", VA = "0x181670D80")]
|
|
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: 0x060026EF RID: 9967 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026EF")]
|
|
[Address(RVA = "0x1671DA0", Offset = "0x16705A0", VA = "0x181671DA0")]
|
|
private void SetBones(Transform[] array, ref IKSolverLookAt.LookAtBone[] bones)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060026F0 RID: 9968 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026F0")]
|
|
[Address(RVA = "0x1672E10", Offset = "0x1671610", VA = "0x181672E10")]
|
|
public IKSolverLookAt()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x04003048 RID: 12360
|
|
[FieldOffset(Offset = "0x58")]
|
|
[Token(Token = "0x4003048")]
|
|
public Transform target;
|
|
|
|
// Token: 0x04003049 RID: 12361
|
|
[FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x4003049")]
|
|
public IKSolverLookAt.LookAtBone[] spine;
|
|
|
|
// Token: 0x0400304A RID: 12362
|
|
[FieldOffset(Offset = "0x68")]
|
|
[Token(Token = "0x400304A")]
|
|
public IKSolverLookAt.LookAtBone head;
|
|
|
|
// Token: 0x0400304B RID: 12363
|
|
[FieldOffset(Offset = "0x70")]
|
|
[Token(Token = "0x400304B")]
|
|
public IKSolverLookAt.LookAtBone[] eyes;
|
|
|
|
// Token: 0x0400304C RID: 12364
|
|
[FieldOffset(Offset = "0x78")]
|
|
[Token(Token = "0x400304C")]
|
|
[Range(0f, 1f)]
|
|
public float bodyWeight;
|
|
|
|
// Token: 0x0400304D RID: 12365
|
|
[FieldOffset(Offset = "0x7C")]
|
|
[Token(Token = "0x400304D")]
|
|
[Range(0f, 1f)]
|
|
public float headWeight;
|
|
|
|
// Token: 0x0400304E RID: 12366
|
|
[FieldOffset(Offset = "0x80")]
|
|
[Token(Token = "0x400304E")]
|
|
[Range(0f, 1f)]
|
|
public float eyesWeight;
|
|
|
|
// Token: 0x0400304F RID: 12367
|
|
[FieldOffset(Offset = "0x84")]
|
|
[Token(Token = "0x400304F")]
|
|
[Range(0f, 1f)]
|
|
public float clampWeight;
|
|
|
|
// Token: 0x04003050 RID: 12368
|
|
[FieldOffset(Offset = "0x88")]
|
|
[Token(Token = "0x4003050")]
|
|
[Range(0f, 1f)]
|
|
public float clampWeightHead;
|
|
|
|
// Token: 0x04003051 RID: 12369
|
|
[FieldOffset(Offset = "0x8C")]
|
|
[Token(Token = "0x4003051")]
|
|
[Range(0f, 1f)]
|
|
public float clampWeightEyes;
|
|
|
|
// Token: 0x04003052 RID: 12370
|
|
[FieldOffset(Offset = "0x90")]
|
|
[Token(Token = "0x4003052")]
|
|
[Attribute(Name = "RangeAttribute", RVA = "0xE24C0", Offset = "0xE18C0")]
|
|
public int clampSmoothing;
|
|
|
|
// Token: 0x04003053 RID: 12371
|
|
[FieldOffset(Offset = "0x98")]
|
|
[Token(Token = "0x4003053")]
|
|
public AnimationCurve spineWeightCurve;
|
|
|
|
// Token: 0x04003054 RID: 12372
|
|
[FieldOffset(Offset = "0xA0")]
|
|
[Token(Token = "0x4003054")]
|
|
private Vector3[] spineForwards;
|
|
|
|
// Token: 0x04003055 RID: 12373
|
|
[FieldOffset(Offset = "0xA8")]
|
|
[Token(Token = "0x4003055")]
|
|
private Vector3[] headForwards;
|
|
|
|
// Token: 0x04003056 RID: 12374
|
|
[FieldOffset(Offset = "0xB0")]
|
|
[Token(Token = "0x4003056")]
|
|
private Vector3[] eyeForward;
|
|
|
|
// Token: 0x0200043F RID: 1087
|
|
[Token(Token = "0x200043F")]
|
|
[Serializable]
|
|
public class LookAtBone : IKSolver.Bone
|
|
{
|
|
// Token: 0x060026F1 RID: 9969 RVA: 0x00056C04 File Offset: 0x00054E04
|
|
[Token(Token = "0x60026F1")]
|
|
[Address(RVA = "0x158B500", Offset = "0x1589D00", VA = "0x18158B500")]
|
|
public LookAtBone()
|
|
{
|
|
}
|
|
|
|
// Token: 0x060026F2 RID: 9970 RVA: 0x00056C18 File Offset: 0x00054E18
|
|
[Token(Token = "0x60026F2")]
|
|
[Address(RVA = "0x158B4D0", Offset = "0x1589CD0", VA = "0x18158B4D0")]
|
|
public LookAtBone(Transform transform)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060026F2)
|
|
|
|
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: 0x060026F3 RID: 9971 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026F3")]
|
|
[Address(RVA = "0x158B250", Offset = "0x1589A50", VA = "0x18158B250")]
|
|
public void Initiate(Transform root)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060026F4 RID: 9972 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60026F4")]
|
|
[Address(RVA = "0x158B370", Offset = "0x1589B70", VA = "0x18158B370")]
|
|
public void LookAt(Vector3 direction, float weight)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x17000251 RID: 593
|
|
// (get) Token: 0x060026F5 RID: 9973 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x17000251")]
|
|
public Vector3 forward
|
|
{
|
|
[Token(Token = "0x60026F5")]
|
|
[Address(RVA = "0x158B510", Offset = "0x1589D10", VA = "0x18158B510")]
|
|
get
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|