Add v1.0.3.1

This commit is contained in:
2023-09-06 22:00:49 +02:00
commit 3aebbbf8f0
2051 changed files with 757425 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
using System;
using Cpp2IlInjected;
namespace RootMotion
{
// Token: 0x0200038F RID: 911
[Token(Token = "0x200038F")]
[Serializable]
public enum Axis
{
// Token: 0x04002BAF RID: 11183
[Token(Token = "0x4002BAF")]
X,
// Token: 0x04002BB0 RID: 11184
[Token(Token = "0x4002BB0")]
Y,
// Token: 0x04002BB1 RID: 11185
[Token(Token = "0x4002BB1")]
Z
}
}

View File

@@ -0,0 +1,66 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion
{
// Token: 0x02000390 RID: 912
[Token(Token = "0x2000390")]
public class AxisTools
{
// Token: 0x0600224F RID: 8783 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600224F")]
[Address(RVA = "0x8D27F0", Offset = "0x8D15F0", VA = "0x1808D27F0")]
public static Vector3 ToVector3(Axis axis)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002250 RID: 8784 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002250")]
[Address(RVA = "0x8D2790", Offset = "0x8D1590", VA = "0x1808D2790")]
public static Axis ToAxis(Vector3 v)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002251 RID: 8785 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002251")]
[Address(RVA = "0x8D2300", Offset = "0x8D1100", VA = "0x1808D2300")]
public static Axis GetAxisToPoint(Transform t, Vector3 worldPosition)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002252 RID: 8786 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002252")]
[Address(RVA = "0x8D2230", Offset = "0x8D1030", VA = "0x1808D2230")]
public static Axis GetAxisToDirection(Transform t, Vector3 direction)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002253 RID: 8787 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002253")]
[Address(RVA = "0x8D26C0", Offset = "0x8D14C0", VA = "0x1808D26C0")]
public static Vector3 GetAxisVectorToPoint(Transform t, Vector3 worldPosition)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002254 RID: 8788 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002254")]
[Address(RVA = "0x8D2460", Offset = "0x8D1260", VA = "0x1808D2460")]
public static Vector3 GetAxisVectorToDirection(Transform t, Vector3 direction)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002255 RID: 8789 RVA: 0x0004F728 File Offset: 0x0004D928
[Token(Token = "0x6002255")]
[Address(RVA = "0x3D8B20", Offset = "0x3D7920", VA = "0x1803D8B20")]
public AxisTools()
{
}
}
}

View File

@@ -0,0 +1,114 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion
{
// Token: 0x02000391 RID: 913
[Token(Token = "0x2000391")]
[Serializable]
public class BipedLimbOrientations
{
// Token: 0x06002256 RID: 8790 RVA: 0x0004F73C File Offset: 0x0004D93C
[Token(Token = "0x6002256")]
[Address(RVA = "0x8D6A50", Offset = "0x8D5850", VA = "0x1808D6A50")]
public BipedLimbOrientations(BipedLimbOrientations.LimbOrientation leftArm, BipedLimbOrientations.LimbOrientation rightArm, BipedLimbOrientations.LimbOrientation leftLeg, BipedLimbOrientations.LimbOrientation rightLeg)
{
/*
An exception occurred when decompiling this method (06002256)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void RootMotion.BipedLimbOrientations::.ctor(RootMotion.BipedLimbOrientations/LimbOrientation,RootMotion.BipedLimbOrientations/LimbOrientation,RootMotion.BipedLimbOrientations/LimbOrientation,RootMotion.BipedLimbOrientations/LimbOrientation)
---> System.Exception: Basic block has to end with unconditional control flow.
{; Block_0:; call:void(object::.ctor, ldloc:BipedLimbOrientations[exp:object](this)); stfld:LimbOrientation(BipedLimbOrientations::leftArm, ldloc:BipedLimbOrientations(this), ldloc:LimbOrientation(leftArm)); stfld:LimbOrientation(BipedLimbOrientations::rightArm, ldloc:BipedLimbOrientations(this), ldloc:LimbOrientation(rightArm)); stfld:LimbOrientation(BipedLimbOrientations::leftLeg, ldloc:BipedLimbOrientations(this), ldloc:LimbOrientation(leftLeg)); stfld:LimbOrientation(BipedLimbOrientations::rightLeg, ldloc:BipedLimbOrientations(this), ldc.i4:int32[exp:LimbOrientation](0)); };
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: 0x170001EE RID: 494
// (get) Token: 0x06002257 RID: 8791 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x170001EE")]
public static BipedLimbOrientations UMA
{
[Token(Token = "0x6002257")]
[Address(RVA = "0x8D6DE0", Offset = "0x8D5BE0", VA = "0x1808D6DE0")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x170001EF RID: 495
// (get) Token: 0x06002258 RID: 8792 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x170001EF")]
public static BipedLimbOrientations MaxBiped
{
[Token(Token = "0x6002258")]
[Address(RVA = "0x8D6AD0", Offset = "0x8D58D0", VA = "0x1808D6AD0")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x04002BB2 RID: 11186
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4002BB2")]
public BipedLimbOrientations.LimbOrientation leftArm;
// Token: 0x04002BB3 RID: 11187
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002BB3")]
public BipedLimbOrientations.LimbOrientation rightArm;
// Token: 0x04002BB4 RID: 11188
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002BB4")]
public BipedLimbOrientations.LimbOrientation leftLeg;
// Token: 0x04002BB5 RID: 11189
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002BB5")]
public BipedLimbOrientations.LimbOrientation rightLeg;
// Token: 0x02000392 RID: 914
[Token(Token = "0x2000392")]
[Serializable]
public class LimbOrientation
{
// Token: 0x06002259 RID: 8793 RVA: 0x0004F76C File Offset: 0x0004D96C
[Token(Token = "0x6002259")]
[Address(RVA = "0x5FC930", Offset = "0x5FB730", VA = "0x1805FC930")]
public LimbOrientation(Vector3 upperBoneForwardAxis, Vector3 lowerBoneForwardAxis, Vector3 lastBoneLeftAxis)
{
float z = upperBoneForwardAxis.z;
this.upperBoneForwardAxis.z = z;
float z2 = lowerBoneForwardAxis.z;
this.lowerBoneForwardAxis.z = z2;
float z3 = lastBoneLeftAxis.z;
this.lastBoneLeftAxis.z = z3;
}
// Token: 0x04002BB6 RID: 11190
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4002BB6")]
public Vector3 upperBoneForwardAxis;
// Token: 0x04002BB7 RID: 11191
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x4002BB7")]
public Vector3 lowerBoneForwardAxis;
// Token: 0x04002BB8 RID: 11192
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002BB8")]
public Vector3 lastBoneLeftAxis;
}
}
}

View File

@@ -0,0 +1,605 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion
{
// Token: 0x02000393 RID: 915
[Token(Token = "0x2000393")]
public static class BipedNaming
{
// Token: 0x0600225A RID: 8794 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600225A")]
[Address(RVA = "0x8D75D0", Offset = "0x8D63D0", VA = "0x1808D75D0")]
public static Transform[] GetBonesOfType(BipedNaming.BoneType boneType, Transform[] bones)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600225B RID: 8795 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600225B")]
[Address(RVA = "0x8D73A0", Offset = "0x8D61A0", VA = "0x1808D73A0")]
public static Transform[] GetBonesOfSide(BipedNaming.BoneSide boneSide, Transform[] bones)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600225C RID: 8796 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600225C")]
[Address(RVA = "0x8D7550", Offset = "0x8D6350", VA = "0x1808D7550")]
public static Transform[] GetBonesOfTypeAndSide(BipedNaming.BoneType boneType, BipedNaming.BoneSide boneSide, Transform[] bones)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600225D RID: 8797 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600225D")]
[Address(RVA = "0x8D7780", Offset = "0x8D6580", VA = "0x1808D7780")]
public static Transform GetFirstBoneOfTypeAndSide(BipedNaming.BoneType boneType, BipedNaming.BoneSide boneSide, Transform[] bones)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600225E RID: 8798 RVA: 0x0004F7B8 File Offset: 0x0004D9B8
[Token(Token = "0x600225E")]
[Address(RVA = "0x8D7830", Offset = "0x8D6630", VA = "0x1808D7830")]
public static Transform GetNamingMatch(Transform[] transforms, params string[][] namings)
{
int num = 0;
int num2 = 0;
int length = transforms.Length;
if (num2 < length)
{
int num3 = 0;
Transform transform = transforms[num];
if (num3 < namings.Length)
{
string[] array = namings[num3];
string name = transform.name;
int num4 = 0;
string[] array2 = BipedNaming.typeExclude;
if (num4 < array2.Length)
{
string text = array2[num4];
if (name.Contains(text))
{
goto IL_9C;
}
num4++;
}
int num5 = 0;
if (num5 < array.Length)
{
string text2 = array[num5];
if (!name.Contains(text2))
{
num5++;
}
num3++;
}
IL_9C:
num++;
}
return transform;
}
throw new NullReferenceException();
}
// Token: 0x0600225F RID: 8799 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600225F")]
[Address(RVA = "0x8D7190", Offset = "0x8D5F90", VA = "0x1808D7190")]
public static BipedNaming.BoneType GetBoneType(string boneName)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002260 RID: 8800 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002260")]
[Address(RVA = "0x8D70F0", Offset = "0x8D5EF0", VA = "0x1808D70F0")]
public static BipedNaming.BoneSide GetBoneSide(string boneName)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002261 RID: 8801 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002261")]
[Address(RVA = "0x8D7310", Offset = "0x8D6110", VA = "0x1808D7310")]
public static Transform GetBone(Transform[] transforms, BipedNaming.BoneType boneType, BipedNaming.BoneSide boneSide = BipedNaming.BoneSide.Center, params string[][] namings)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002262 RID: 8802 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002262")]
[Address(RVA = "0x8DBAB0", Offset = "0x8DA8B0", VA = "0x1808DBAB0")]
private static bool isLeft(string boneName)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002263 RID: 8803 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002263")]
[Address(RVA = "0x8DBF40", Offset = "0x8DAD40", VA = "0x1808DBF40")]
private static bool isRight(string boneName)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002264 RID: 8804 RVA: 0x0004F870 File Offset: 0x0004DA70
[Token(Token = "0x6002264")]
[Address(RVA = "0x8DC1C0", Offset = "0x8DAFC0", VA = "0x1808DC1C0")]
private static bool isSpine(string boneName)
{
string[] array = BipedNaming.typeSpine;
int num = 0;
string[] array2 = BipedNaming.typeExclude;
int length = array2.Length;
if (num < length)
{
string text = array2[num];
if (boneName.Contains(text))
{
goto IL_86;
}
num++;
}
int length2 = array.Length;
if (num < length2)
{
string text2 = array[num];
if (!boneName.Contains(text2))
{
num++;
}
string[] array3 = BipedNaming.typeExcludeSpine;
int length3 = array3.Length;
if (num < length3)
{
string text3 = array3[num];
if (boneName.Contains(text3))
{
goto IL_86;
}
num++;
}
return true;
}
IL_86:
throw new NullReferenceException();
}
// Token: 0x06002265 RID: 8805 RVA: 0x0004F908 File Offset: 0x0004DB08
[Token(Token = "0x6002265")]
[Address(RVA = "0x8DB8A0", Offset = "0x8DA6A0", VA = "0x1808DB8A0")]
private static bool isHead(string boneName)
{
string[] array = BipedNaming.typeHead;
int num = 0;
string[] array2 = BipedNaming.typeExclude;
int length = array2.Length;
if (num < length)
{
string text = array2[num];
if (boneName.Contains(text))
{
goto IL_86;
}
num++;
}
int length2 = array.Length;
if (num < length2)
{
string text2 = array[num];
if (!boneName.Contains(text2))
{
num++;
}
string[] array3 = BipedNaming.typeExcludeHead;
int length3 = array3.Length;
if (num < length3)
{
string text3 = array3[num];
if (boneName.Contains(text3))
{
goto IL_86;
}
num++;
}
return true;
}
IL_86:
throw new NullReferenceException();
}
// Token: 0x06002266 RID: 8806 RVA: 0x0004F9A0 File Offset: 0x0004DBA0
[Token(Token = "0x6002266")]
[Address(RVA = "0x8DB480", Offset = "0x8DA280", VA = "0x1808DB480")]
private static bool isArm(string boneName)
{
string[] array = BipedNaming.typeArm;
int num = 0;
string[] array2 = BipedNaming.typeExclude;
int length = array2.Length;
if (num < length)
{
string text = array2[num];
if (boneName.Contains(text))
{
goto IL_86;
}
num++;
}
int length2 = array.Length;
if (num < length2)
{
string text2 = array[num];
if (!boneName.Contains(text2))
{
num++;
}
string[] array3 = BipedNaming.typeExcludeArm;
int length3 = array3.Length;
if (num < length3)
{
string text3 = array3[num];
if (boneName.Contains(text3))
{
goto IL_86;
}
num++;
}
return true;
}
IL_86:
throw new NullReferenceException();
}
// Token: 0x06002267 RID: 8807 RVA: 0x0004FA38 File Offset: 0x0004DC38
[Token(Token = "0x6002267")]
[Address(RVA = "0x8DBD30", Offset = "0x8DAB30", VA = "0x1808DBD30")]
private static bool isLeg(string boneName)
{
string[] array = BipedNaming.typeLeg;
int num = 0;
string[] array2 = BipedNaming.typeExclude;
int length = array2.Length;
if (num < length)
{
string text = array2[num];
if (boneName.Contains(text))
{
goto IL_86;
}
num++;
}
int length2 = array.Length;
if (num < length2)
{
string text2 = array[num];
if (!boneName.Contains(text2))
{
num++;
}
string[] array3 = BipedNaming.typeExcludeLeg;
int length3 = array3.Length;
if (num < length3)
{
string text3 = array3[num];
if (boneName.Contains(text3))
{
goto IL_86;
}
num++;
}
return true;
}
IL_86:
throw new NullReferenceException();
}
// Token: 0x06002268 RID: 8808 RVA: 0x0004FAD0 File Offset: 0x0004DCD0
[Token(Token = "0x6002268")]
[Address(RVA = "0x8DC3D0", Offset = "0x8DB1D0", VA = "0x1808DC3D0")]
private static bool isTail(string boneName)
{
string[] array = BipedNaming.typeTail;
int num = 0;
string[] array2 = BipedNaming.typeExclude;
int length = array2.Length;
if (num < length)
{
string text = array2[num];
if (boneName.Contains(text))
{
goto IL_86;
}
num++;
}
int length2 = array.Length;
if (num < length2)
{
string text2 = array[num];
if (!boneName.Contains(text2))
{
num++;
}
string[] array3 = BipedNaming.typeExcludeTail;
int length3 = array3.Length;
if (num < length3)
{
string text3 = array3[num];
if (boneName.Contains(text3))
{
goto IL_86;
}
num++;
}
return true;
}
IL_86:
throw new NullReferenceException();
}
// Token: 0x06002269 RID: 8809 RVA: 0x0004FB68 File Offset: 0x0004DD68
[Token(Token = "0x6002269")]
[Address(RVA = "0x8DB690", Offset = "0x8DA490", VA = "0x1808DB690")]
private static bool isEye(string boneName)
{
string[] array = BipedNaming.typeEye;
int num = 0;
string[] array2 = BipedNaming.typeExclude;
int length = array2.Length;
if (num < length)
{
string text = array2[num];
if (boneName.Contains(text))
{
goto IL_86;
}
num++;
}
int length2 = array.Length;
if (num < length2)
{
string text2 = array[num];
if (!boneName.Contains(text2))
{
num++;
}
string[] array3 = BipedNaming.typeExcludeEye;
int length3 = array3.Length;
if (num < length3)
{
string text3 = array3[num];
if (boneName.Contains(text3))
{
goto IL_86;
}
num++;
}
return true;
}
IL_86:
throw new NullReferenceException();
}
// Token: 0x0600226A RID: 8810 RVA: 0x0004FC00 File Offset: 0x0004DE00
[Token(Token = "0x600226A")]
[Address(RVA = "0x8DC5E0", Offset = "0x8DB3E0", VA = "0x1808DC5E0")]
private static bool isTypeExclude(string boneName)
{
string[] array = BipedNaming.typeExclude;
int num = 0;
string[] array2 = BipedNaming.typeExclude;
int length = array2.Length;
if (num < length)
{
string text = array2[num];
if (boneName.Contains(text))
{
goto IL_58;
}
num++;
}
int length2 = array.Length;
if (num < length2)
{
string text2 = array[num];
if (!boneName.Contains(text2))
{
num++;
}
return true;
}
IL_58:
throw new NullReferenceException();
}
// Token: 0x0600226B RID: 8811 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600226B")]
[Address(RVA = "0x8DC8A0", Offset = "0x8DB6A0", VA = "0x1808DC8A0")]
private static bool matchesNaming(string boneName, string[] namingConvention)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600226C RID: 8812 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600226C")]
[Address(RVA = "0x8DB390", Offset = "0x8DA190", VA = "0x1808DB390")]
private static bool excludesNaming(string boneName, string[] namingConvention)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600226D RID: 8813 RVA: 0x0004FC6C File Offset: 0x0004DE6C
[Token(Token = "0x600226D")]
[Address(RVA = "0x8DC7C0", Offset = "0x8DB5C0", VA = "0x1808DC7C0")]
private static bool matchesLastLetter(string boneName, string[] namingConvention)
{
int num = 0;
int length = namingConvention.Length;
if (num < length)
{
string text = namingConvention[num];
int stringLength = boneName.m_stringLength;
if (!string.Equals(boneName.Substring(stringLength, 1), text))
{
num++;
}
return true;
}
throw new NullReferenceException();
}
// Token: 0x0600226E RID: 8814 RVA: 0x0004FCB4 File Offset: 0x0004DEB4
[Token(Token = "0x600226E")]
[Address(RVA = "0x8D7A60", Offset = "0x8D6860", VA = "0x1808D7A60")]
private static bool LastLetterIs(string boneName, string letter)
{
int stringLength = boneName.m_stringLength;
return string.Equals(boneName.Substring(stringLength, 1), letter);
}
// Token: 0x0600226F RID: 8815 RVA: 0x0004FCDC File Offset: 0x0004DEDC
[Token(Token = "0x600226F")]
[Address(RVA = "0x8DB420", Offset = "0x8DA220", VA = "0x1808DB420")]
private static string firstLetter(string boneName)
{
return "";
}
// Token: 0x06002270 RID: 8816 RVA: 0x0004FD00 File Offset: 0x0004DF00
[Token(Token = "0x6002270")]
[Address(RVA = "0x8DC760", Offset = "0x8DB560", VA = "0x1808DC760")]
private static string lastLetter(string boneName)
{
int stringLength = boneName.m_stringLength;
return "";
}
// Token: 0x06002271 RID: 8817 RVA: 0x000020D3 File Offset: 0x000002D3
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x6002271")]
[Address(RVA = "0x8D7AA0", Offset = "0x8D68A0", VA = "0x1808D7AA0")]
static BipedNaming()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x04002BB9 RID: 11193
[Token(Token = "0x4002BB9")]
public static string[] typeLeft;
// Token: 0x04002BBA RID: 11194
[Token(Token = "0x4002BBA")]
public static string[] typeRight;
// Token: 0x04002BBB RID: 11195
[Token(Token = "0x4002BBB")]
public static string[] typeSpine;
// Token: 0x04002BBC RID: 11196
[Token(Token = "0x4002BBC")]
public static string[] typeHead;
// Token: 0x04002BBD RID: 11197
[Token(Token = "0x4002BBD")]
public static string[] typeArm;
// Token: 0x04002BBE RID: 11198
[Token(Token = "0x4002BBE")]
public static string[] typeLeg;
// Token: 0x04002BBF RID: 11199
[Token(Token = "0x4002BBF")]
public static string[] typeTail;
// Token: 0x04002BC0 RID: 11200
[Token(Token = "0x4002BC0")]
public static string[] typeEye;
// Token: 0x04002BC1 RID: 11201
[Token(Token = "0x4002BC1")]
public static string[] typeExclude;
// Token: 0x04002BC2 RID: 11202
[Token(Token = "0x4002BC2")]
public static string[] typeExcludeSpine;
// Token: 0x04002BC3 RID: 11203
[Token(Token = "0x4002BC3")]
public static string[] typeExcludeHead;
// Token: 0x04002BC4 RID: 11204
[Token(Token = "0x4002BC4")]
public static string[] typeExcludeArm;
// Token: 0x04002BC5 RID: 11205
[Token(Token = "0x4002BC5")]
public static string[] typeExcludeLeg;
// Token: 0x04002BC6 RID: 11206
[Token(Token = "0x4002BC6")]
public static string[] typeExcludeTail;
// Token: 0x04002BC7 RID: 11207
[Token(Token = "0x4002BC7")]
public static string[] typeExcludeEye;
// Token: 0x04002BC8 RID: 11208
[Token(Token = "0x4002BC8")]
public static string[] pelvis;
// Token: 0x04002BC9 RID: 11209
[Token(Token = "0x4002BC9")]
public static string[] hand;
// Token: 0x04002BCA RID: 11210
[Token(Token = "0x4002BCA")]
public static string[] foot;
// Token: 0x02000394 RID: 916
[Token(Token = "0x2000394")]
[Serializable]
public enum BoneType
{
// Token: 0x04002BCC RID: 11212
[Token(Token = "0x4002BCC")]
Unassigned,
// Token: 0x04002BCD RID: 11213
[Token(Token = "0x4002BCD")]
Spine,
// Token: 0x04002BCE RID: 11214
[Token(Token = "0x4002BCE")]
Head,
// Token: 0x04002BCF RID: 11215
[Token(Token = "0x4002BCF")]
Arm,
// Token: 0x04002BD0 RID: 11216
[Token(Token = "0x4002BD0")]
Leg,
// Token: 0x04002BD1 RID: 11217
[Token(Token = "0x4002BD1")]
Tail,
// Token: 0x04002BD2 RID: 11218
[Token(Token = "0x4002BD2")]
Eye
}
// Token: 0x02000395 RID: 917
[Token(Token = "0x2000395")]
[Serializable]
public enum BoneSide
{
// Token: 0x04002BD4 RID: 11220
[Token(Token = "0x4002BD4")]
Center,
// Token: 0x04002BD5 RID: 11221
[Token(Token = "0x4002BD5")]
Left,
// Token: 0x04002BD6 RID: 11222
[Token(Token = "0x4002BD6")]
Right
}
}
}

View File

@@ -0,0 +1,386 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion
{
// Token: 0x02000396 RID: 918
[Token(Token = "0x2000396")]
[Serializable]
public class BipedReferences
{
// Token: 0x170001F0 RID: 496
// (get) Token: 0x06002272 RID: 8818 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x170001F0")]
public virtual bool isFilled
{
[Token(Token = "0x6002272")]
[Address(RVA = "0x8E0A40", Offset = "0x8DF840", VA = "0x1808E0A40", Slot = "4")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x170001F1 RID: 497
// (get) Token: 0x06002273 RID: 8819 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x170001F1")]
public bool isEmpty
{
[Token(Token = "0x6002273")]
[Address(RVA = "0x8E0A20", Offset = "0x8DF820", VA = "0x1808E0A20")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x06002274 RID: 8820 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002274")]
[Address(RVA = "0x8DEE00", Offset = "0x8DDC00", VA = "0x1808DEE00", Slot = "5")]
public virtual bool IsEmpty(bool includeRoot)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002275 RID: 8821 RVA: 0x0004FD28 File Offset: 0x0004DF28
[Token(Token = "0x6002275")]
[Address(RVA = "0x8DD5E0", Offset = "0x8DC3E0", VA = "0x1808DD5E0", Slot = "6")]
public virtual bool Contains(Transform t, bool ignoreRoot = false)
{
if ((ignoreRoot || !(this.root == t)) && !(this.pelvis == t) && !(this.leftThigh == t) && !(this.leftCalf == t) && !(this.leftFoot == t) && !(this.rightThigh == t) && !(this.rightCalf == t) && !(this.rightFoot == t) && !(this.leftUpperArm == t) && !(this.leftForearm == t) && !(this.leftHand == t) && !(this.rightUpperArm == t) && !(this.rightForearm == t) && !(this.rightHand == t) && !(this.head == t))
{
Transform[] array = this.spine;
int num = 0;
int length = array.Length;
if (num < length)
{
if (array[num] == t)
{
return true;
}
num++;
}
Transform[] array2 = this.eyes;
int length2 = array2.Length;
if (num < length2 && !(array2[num] == t))
{
num++;
}
}
return true;
}
// Token: 0x06002276 RID: 8822 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002276")]
[Address(RVA = "0x8DD300", Offset = "0x8DC100", VA = "0x1808DD300")]
public static bool AutoDetectReferences(ref BipedReferences references, Transform root, BipedReferences.AutoDetectParams autoDetectParams)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002277 RID: 8823 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002277")]
[Address(RVA = "0x8DDC00", Offset = "0x8DCA00", VA = "0x1808DDC00")]
public static void DetectReferencesByNaming(ref BipedReferences references, Transform root, BipedReferences.AutoDetectParams autoDetectParams)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002278 RID: 8824 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002278")]
[Address(RVA = "0x8DCD70", Offset = "0x8DBB70", VA = "0x1808DCD70")]
public static void AssignHumanoidReferences(ref BipedReferences references, Animator animator, BipedReferences.AutoDetectParams autoDetectParams)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002279 RID: 8825 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002279")]
[Address(RVA = "0x8E02E0", Offset = "0x8DF0E0", VA = "0x1808E02E0")]
public static bool SetupError(BipedReferences references, ref string errorMessage)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600227A RID: 8826 RVA: 0x0004FE98 File Offset: 0x0004E098
[Token(Token = "0x600227A")]
[Address(RVA = "0x8E0430", Offset = "0x8DF230", VA = "0x1808E0430")]
public static bool SetupWarning(BipedReferences references, ref string warningMessage)
{
Transform transform = references.leftFoot;
Transform transform2 = references.leftCalf;
Transform transform3 = references.leftThigh;
if (!BipedReferences.LimbWarning(transform3, transform2, transform, ref warningMessage))
{
Transform transform4 = references.rightFoot;
Transform transform5 = references.rightCalf;
if (!BipedReferences.LimbWarning(references.rightThigh, transform5, transform4, ref warningMessage))
{
Transform transform6 = references.leftHand;
Transform transform7 = references.leftForearm;
if (!BipedReferences.LimbWarning(references.leftUpperArm, transform7, transform6, ref warningMessage))
{
Transform transform8 = references.rightHand;
Transform transform9 = references.rightForearm;
if (!BipedReferences.LimbWarning(references.rightUpperArm, transform9, transform8, ref warningMessage) && !BipedReferences.RootHeightWarning(references, ref warningMessage))
{
bool flag = BipedReferences.FacingAxisWarning(references, ref warningMessage);
if (!flag)
{
return flag;
}
}
}
}
}
return true;
}
// Token: 0x0600227B RID: 8827 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600227B")]
[Address(RVA = "0x8DF280", Offset = "0x8DE080", VA = "0x1808DF280")]
private static bool IsNeckBone(Transform bone, Transform leftUpperArm)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600227C RID: 8828 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600227C")]
[Address(RVA = "0x8DC9D0", Offset = "0x8DB7D0", VA = "0x1808DC9D0")]
private static bool AddBoneToEyes(Transform bone, ref BipedReferences references, BipedReferences.AutoDetectParams autoDetectParams)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600227D RID: 8829 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600227D")]
[Address(RVA = "0x8DCBE0", Offset = "0x8DB9E0", VA = "0x1808DCBE0")]
private static bool AddBoneToSpine(Transform bone, ref BipedReferences references, BipedReferences.AutoDetectParams autoDetectParams)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600227E RID: 8830 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600227E")]
[Address(RVA = "0x8DDA70", Offset = "0x8DC870", VA = "0x1808DDA70")]
private static void DetectLimb(BipedNaming.BoneType boneType, BipedNaming.BoneSide boneSide, ref Transform firstBone, ref Transform secondBone, ref Transform lastBone, Transform[] transforms)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600227F RID: 8831 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600227F")]
[Address(RVA = "0x8DCAE0", Offset = "0x8DB8E0", VA = "0x1808DCAE0")]
private static void AddBoneToHierarchy(ref Transform[] bones, Transform transform)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002280 RID: 8832 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002280")]
[Address(RVA = "0x8DF370", Offset = "0x8DE170", VA = "0x1808DF370")]
private static bool LimbError(Transform bone1, Transform bone2, Transform bone3, ref string errorMessage)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002281 RID: 8833 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002281")]
[Address(RVA = "0x8DFC00", Offset = "0x8DEA00", VA = "0x1808DFC00")]
private static bool LimbWarning(Transform bone1, Transform bone2, Transform bone3, ref string warningMessage)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002282 RID: 8834 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002282")]
[Address(RVA = "0x8E0520", Offset = "0x8DF320", VA = "0x1808E0520")]
private static bool SpineError(BipedReferences references, ref string errorMessage)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002283 RID: 8835 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002283")]
[Address(RVA = "0x290BB0", Offset = "0x28F9B0", VA = "0x180290BB0")]
private static bool SpineWarning(BipedReferences references, ref string warningMessage)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002284 RID: 8836 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002284")]
[Address(RVA = "0x8DE870", Offset = "0x8DD670", VA = "0x1808DE870")]
private static bool EyesError(BipedReferences references, ref string errorMessage)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002285 RID: 8837 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002285")]
[Address(RVA = "0x290BB0", Offset = "0x28F9B0", VA = "0x180290BB0")]
private static bool EyesWarning(BipedReferences references, ref string warningMessage)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002286 RID: 8838 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002286")]
[Address(RVA = "0x8E0040", Offset = "0x8DEE40", VA = "0x1808E0040")]
private static bool RootHeightWarning(BipedReferences references, ref string warningMessage)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002287 RID: 8839 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002287")]
[Address(RVA = "0x8DEA80", Offset = "0x8DD880", VA = "0x1808DEA80")]
private static bool FacingAxisWarning(BipedReferences references, ref string warningMessage)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002288 RID: 8840 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002288")]
[Address(RVA = "0x8DED20", Offset = "0x8DDB20", VA = "0x1808DED20")]
private static float GetVerticalOffset(Vector3 p1, Vector3 p2, Quaternion rotation)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002289 RID: 8841 RVA: 0x0004FF58 File Offset: 0x0004E158
[Token(Token = "0x6002289")]
[Address(RVA = "0x8E09A0", Offset = "0x8DF7A0", VA = "0x1808E09A0")]
public BipedReferences()
{
Transform[] array = new Transform[0];
this.spine = array;
Transform[] array2 = new Transform[0];
this.eyes = array2;
base..ctor();
}
// Token: 0x04002BD7 RID: 11223
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4002BD7")]
public Transform root;
// Token: 0x04002BD8 RID: 11224
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002BD8")]
public Transform pelvis;
// Token: 0x04002BD9 RID: 11225
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002BD9")]
public Transform leftThigh;
// Token: 0x04002BDA RID: 11226
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002BDA")]
public Transform leftCalf;
// Token: 0x04002BDB RID: 11227
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002BDB")]
public Transform leftFoot;
// Token: 0x04002BDC RID: 11228
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002BDC")]
public Transform rightThigh;
// Token: 0x04002BDD RID: 11229
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002BDD")]
public Transform rightCalf;
// Token: 0x04002BDE RID: 11230
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002BDE")]
public Transform rightFoot;
// Token: 0x04002BDF RID: 11231
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4002BDF")]
public Transform leftUpperArm;
// Token: 0x04002BE0 RID: 11232
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4002BE0")]
public Transform leftForearm;
// Token: 0x04002BE1 RID: 11233
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4002BE1")]
public Transform leftHand;
// Token: 0x04002BE2 RID: 11234
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4002BE2")]
public Transform rightUpperArm;
// Token: 0x04002BE3 RID: 11235
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4002BE3")]
public Transform rightForearm;
// Token: 0x04002BE4 RID: 11236
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4002BE4")]
public Transform rightHand;
// Token: 0x04002BE5 RID: 11237
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x4002BE5")]
public Transform head;
// Token: 0x04002BE6 RID: 11238
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x4002BE6")]
public Transform[] spine;
// Token: 0x04002BE7 RID: 11239
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x4002BE7")]
public Transform[] eyes;
// Token: 0x02000397 RID: 919
[Token(Token = "0x2000397")]
public struct AutoDetectParams
{
// Token: 0x0600228A RID: 8842 RVA: 0x0004FF88 File Offset: 0x0004E188
[Token(Token = "0x600228A")]
[Address(RVA = "0x5F8A40", Offset = "0x5F7840", VA = "0x1805F8A40")]
public AutoDetectParams(bool legsParentInSpine, bool includeEyes)
{
this.legsParentInSpine = legsParentInSpine;
this.includeEyes = includeEyes;
}
// Token: 0x170001F2 RID: 498
// (get) Token: 0x0600228B RID: 8843 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x170001F2")]
public static BipedReferences.AutoDetectParams Default
{
[Token(Token = "0x600228B")]
[Address(RVA = "0x5F8A50", Offset = "0x5F7850", VA = "0x1805F8A50")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x04002BE8 RID: 11240
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x4002BE8")]
public bool legsParentInSpine;
// Token: 0x04002BE9 RID: 11241
[FieldOffset(Offset = "0x1")]
[Token(Token = "0x4002BE9")]
public bool includeEyes;
}
}
}

View File

@@ -0,0 +1,301 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion
{
// Token: 0x0200038C RID: 908
[Token(Token = "0x200038C")]
public class CameraController : MonoBehaviour
{
// Token: 0x170001EA RID: 490
// (get) Token: 0x0600223B RID: 8763 RVA: 0x0004F5E4 File Offset: 0x0004D7E4
// (set) Token: 0x0600223C RID: 8764 RVA: 0x0004F5F8 File Offset: 0x0004D7F8
[Token(Token = "0x170001EA")]
public float x
{
[Token(Token = "0x600223B")]
[Address(RVA = "0x6FCD40", Offset = "0x6FBB40", VA = "0x1806FCD40")]
get;
[Token(Token = "0x600223C")]
[Address(RVA = "0xECF900", Offset = "0xECE700", VA = "0x180ECF900")]
private set;
}
// Token: 0x170001EB RID: 491
// (get) Token: 0x0600223D RID: 8765 RVA: 0x0004F60C File Offset: 0x0004D80C
// (set) Token: 0x0600223E RID: 8766 RVA: 0x0004F620 File Offset: 0x0004D820
[Token(Token = "0x170001EB")]
public float y
{
[Token(Token = "0x600223D")]
[Address(RVA = "0x949C50", Offset = "0x948A50", VA = "0x180949C50")]
get;
[Token(Token = "0x600223E")]
[Address(RVA = "0x134E270", Offset = "0x134D070", VA = "0x18134E270")]
private set;
}
// Token: 0x170001EC RID: 492
// (get) Token: 0x0600223F RID: 8767 RVA: 0x0004F634 File Offset: 0x0004D834
// (set) Token: 0x06002240 RID: 8768 RVA: 0x0004F648 File Offset: 0x0004D848
[Token(Token = "0x170001EC")]
public float distanceTarget
{
[Token(Token = "0x600223F")]
[Address(RVA = "0xECF860", Offset = "0xECE660", VA = "0x180ECF860")]
get;
[Token(Token = "0x6002240")]
[Address(RVA = "0xBCB8E0", Offset = "0xBCA6E0", VA = "0x180BCB8E0")]
private set;
}
// Token: 0x06002241 RID: 8769 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002241")]
[Address(RVA = "0x134D850", Offset = "0x134C650", VA = "0x18134D850", Slot = "4")]
protected virtual void Awake()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002242 RID: 8770 RVA: 0x0004F65C File Offset: 0x0004D85C
[Token(Token = "0x6002242")]
[Address(RVA = "0x134E120", Offset = "0x134CF20", VA = "0x18134E120", Slot = "5")]
protected virtual void Update()
{
if (this.updateMode == CameraController.UpdateMode.Update)
{
float deltaTime = Time.deltaTime;
this.UpdateTransform(deltaTime);
return;
}
}
// Token: 0x06002243 RID: 8771 RVA: 0x0004F684 File Offset: 0x0004D884
[Token(Token = "0x6002243")]
[Address(RVA = "0x134D9A0", Offset = "0x134C7A0", VA = "0x18134D9A0", Slot = "6")]
protected virtual void FixedUpdate()
{
if (this.updateMode == CameraController.UpdateMode.FixedUpdate)
{
float deltaTime = Time.deltaTime;
this.UpdateTransform(deltaTime);
return;
}
}
// Token: 0x06002244 RID: 8772 RVA: 0x0004F6AC File Offset: 0x0004D8AC
[Token(Token = "0x6002244")]
[Address(RVA = "0x134D9D0", Offset = "0x134C7D0", VA = "0x18134D9D0", Slot = "7")]
protected virtual void LateUpdate()
{
this.UpdateInput();
if (this.updateMode == CameraController.UpdateMode.LateUpdate)
{
float deltaTime = Time.deltaTime;
this.UpdateTransform(deltaTime);
return;
}
}
// Token: 0x06002245 RID: 8773 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002245")]
[Address(RVA = "0x134DA10", Offset = "0x134C810", VA = "0x18134DA10")]
public void UpdateInput()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002246 RID: 8774 RVA: 0x0004F6D8 File Offset: 0x0004D8D8
[Token(Token = "0x6002246")]
[Address(RVA = "0x134E0F0", Offset = "0x134CEF0", VA = "0x18134E0F0")]
public void UpdateTransform()
{
float deltaTime = Time.deltaTime;
this.UpdateTransform(deltaTime);
}
// Token: 0x06002247 RID: 8775 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002247")]
[Address(RVA = "0x134DC10", Offset = "0x134CA10", VA = "0x18134DC10")]
public void UpdateTransform(float deltaTime)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x170001ED RID: 493
// (get) Token: 0x06002248 RID: 8776 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x170001ED")]
private float zoomAdd
{
[Token(Token = "0x6002248")]
[Address(RVA = "0x134E210", Offset = "0x134D010", VA = "0x18134E210")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x06002249 RID: 8777 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002249")]
[Address(RVA = "0x314270", Offset = "0x313070", VA = "0x180314270")]
private float ClampAngle(float angle, float min, float max)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600224A RID: 8778 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600224A")]
[Address(RVA = "0x134E150", Offset = "0x134CF50", VA = "0x18134E150")]
public CameraController()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x04002B88 RID: 11144
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002B88")]
public Transform target;
// Token: 0x04002B89 RID: 11145
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002B89")]
public Transform rotationSpace;
// Token: 0x04002B8A RID: 11146
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002B8A")]
public CameraController.UpdateMode updateMode;
// Token: 0x04002B8B RID: 11147
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x4002B8B")]
public bool lockCursor;
// Token: 0x04002B8C RID: 11148
[FieldOffset(Offset = "0x2D")]
[Token(Token = "0x4002B8C")]
public bool smoothFollow;
// Token: 0x04002B8D RID: 11149
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002B8D")]
public float followSpeed;
// Token: 0x04002B8E RID: 11150
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x4002B8E")]
public float distance;
// Token: 0x04002B8F RID: 11151
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002B8F")]
public float minDistance;
// Token: 0x04002B90 RID: 11152
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x4002B90")]
public float maxDistance;
// Token: 0x04002B91 RID: 11153
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002B91")]
public float zoomSpeed;
// Token: 0x04002B92 RID: 11154
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x4002B92")]
public float zoomSensitivity;
// Token: 0x04002B93 RID: 11155
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002B93")]
public float rotationSensitivity;
// Token: 0x04002B94 RID: 11156
[FieldOffset(Offset = "0x4C")]
[Token(Token = "0x4002B94")]
public float yMinLimit;
// Token: 0x04002B95 RID: 11157
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4002B95")]
public float yMaxLimit;
// Token: 0x04002B96 RID: 11158
[FieldOffset(Offset = "0x54")]
[Token(Token = "0x4002B96")]
public Vector3 offset;
// Token: 0x04002B97 RID: 11159
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4002B97")]
public bool rotateAlways;
// Token: 0x04002B98 RID: 11160
[FieldOffset(Offset = "0x61")]
[Token(Token = "0x4002B98")]
public bool rotateOnLeftButton;
// Token: 0x04002B99 RID: 11161
[FieldOffset(Offset = "0x62")]
[Token(Token = "0x4002B99")]
public bool rotateOnRightButton;
// Token: 0x04002B9A RID: 11162
[FieldOffset(Offset = "0x63")]
[Token(Token = "0x4002B9A")]
public bool rotateOnMiddleButton;
// Token: 0x04002B9E RID: 11166
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4002B9E")]
private Vector3 targetDistance;
// Token: 0x04002B9F RID: 11167
[FieldOffset(Offset = "0x7C")]
[Token(Token = "0x4002B9F")]
private Vector3 position;
// Token: 0x04002BA0 RID: 11168
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x4002BA0")]
private Quaternion rotation;
// Token: 0x04002BA1 RID: 11169
[FieldOffset(Offset = "0x98")]
[Token(Token = "0x4002BA1")]
private Vector3 smoothPosition;
// Token: 0x04002BA2 RID: 11170
[FieldOffset(Offset = "0xA8")]
[Token(Token = "0x4002BA2")]
private Camera cam;
// Token: 0x04002BA3 RID: 11171
[FieldOffset(Offset = "0xB0")]
[Token(Token = "0x4002BA3")]
private Quaternion r;
// Token: 0x04002BA4 RID: 11172
[FieldOffset(Offset = "0xC0")]
[Token(Token = "0x4002BA4")]
private Vector3 lastUp;
// Token: 0x0200038D RID: 909
[Token(Token = "0x200038D")]
[Serializable]
public enum UpdateMode
{
// Token: 0x04002BA6 RID: 11174
[Token(Token = "0x4002BA6")]
Update,
// Token: 0x04002BA7 RID: 11175
[Token(Token = "0x4002BA7")]
FixedUpdate,
// Token: 0x04002BA8 RID: 11176
[Token(Token = "0x4002BA8")]
LateUpdate
}
}
}

View File

@@ -0,0 +1,67 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion
{
// Token: 0x0200038E RID: 910
[Token(Token = "0x200038E")]
public class CameraControllerFPS : MonoBehaviour
{
// Token: 0x0600224B RID: 8779 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600224B")]
[Address(RVA = "0xE7DCF0", Offset = "0xE7CAF0", VA = "0x180E7DCF0")]
private void Awake()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600224C RID: 8780 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600224C")]
[Address(RVA = "0xE7DD40", Offset = "0xE7CB40", VA = "0x180E7DD40")]
public void LateUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600224D RID: 8781 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600224D")]
[Address(RVA = "0x314270", Offset = "0x313070", VA = "0x180314270")]
private float ClampAngle(float angle, float min, float max)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600224E RID: 8782 RVA: 0x0004F6F4 File Offset: 0x0004D8F4
[Token(Token = "0x600224E")]
[Address(RVA = "0xE7DEE0", Offset = "0xE7CCE0", VA = "0x180E7DEE0")]
public CameraControllerFPS()
{
}
// Token: 0x04002BA9 RID: 11177
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002BA9")]
public float rotationSensitivity = 3f;
// Token: 0x04002BAA RID: 11178
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x4002BAA")]
public float yMinLimit = -89f;
// Token: 0x04002BAB RID: 11179
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002BAB")]
public float yMaxLimit = 89f;
// Token: 0x04002BAC RID: 11180
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x4002BAC")]
private float x;
// Token: 0x04002BAD RID: 11181
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002BAD")]
private float y;
}
}

View File

@@ -0,0 +1,24 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion
{
// Token: 0x02000398 RID: 920
[Token(Token = "0x2000398")]
public class Comments : MonoBehaviour
{
// Token: 0x0600228C RID: 8844 RVA: 0x0004FFA4 File Offset: 0x0004E1A4
[Token(Token = "0x600228C")]
[Address(RVA = "0x3088F0", Offset = "0x3076F0", VA = "0x1803088F0")]
public Comments()
{
}
// Token: 0x04002BEA RID: 11242
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002BEA")]
[Multiline]
public string text;
}
}

View File

@@ -0,0 +1,37 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion
{
// Token: 0x02000399 RID: 921
[Token(Token = "0x2000399")]
public class DemoGUIMessage : MonoBehaviour
{
// Token: 0x0600228D RID: 8845 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600228D")]
[Address(RVA = "0x13C9170", Offset = "0x13C7F70", VA = "0x1813C9170")]
private void OnGUI()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600228E RID: 8846 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600228E")]
[Address(RVA = "0x13C9230", Offset = "0x13C8030", VA = "0x1813C9230")]
public DemoGUIMessage()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x04002BEB RID: 11243
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002BEB")]
public string text;
// Token: 0x04002BEC RID: 11244
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002BEC")]
public Color color;
}
}

View File

@@ -0,0 +1,37 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003A6 RID: 934
[Token(Token = "0x20003A6")]
public class AimBoxing : MonoBehaviour
{
// Token: 0x060022F7 RID: 8951 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60022F7")]
[Address(RVA = "0x11E39F0", Offset = "0x11E27F0", VA = "0x1811E39F0")]
private void LateUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060022F8 RID: 8952 RVA: 0x00050598 File Offset: 0x0004E798
[Token(Token = "0x60022F8")]
[Address(RVA = "0x3088F0", Offset = "0x3076F0", VA = "0x1803088F0")]
public AimBoxing()
{
}
// Token: 0x04002C14 RID: 11284
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002C14")]
public AimIK aimIK;
// Token: 0x04002C15 RID: 11285
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002C15")]
public Transform pin;
}
}

View File

@@ -0,0 +1,133 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003AF RID: 943
[Token(Token = "0x20003AF")]
public class AnimationWarping : OffsetModifier
{
// Token: 0x0600231C RID: 8988 RVA: 0x00050918 File Offset: 0x0004EB18
[Token(Token = "0x600231C")]
[Address(RVA = "0x8CD240", Offset = "0x8CC040", VA = "0x1808CD240", Slot = "5")]
protected override void Start()
{
base.Start();
AnimationWarping.EffectorMode effectorMode = this.effectorMode;
this.lastMode = effectorMode;
}
// Token: 0x0600231D RID: 8989 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600231D")]
[Address(RVA = "0x8CCAB0", Offset = "0x8CB8B0", VA = "0x1808CCAB0")]
public float GetWarpWeight(int warpIndex)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600231E RID: 8990 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600231E")]
[Address(RVA = "0x8CCDF0", Offset = "0x8CBBF0", VA = "0x1808CCDF0", Slot = "4")]
protected override void OnModifyOffset()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600231F RID: 8991 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600231F")]
[Address(RVA = "0x8CCD40", Offset = "0x8CBB40", VA = "0x1808CCD40")]
private void OnDisable()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002320 RID: 8992 RVA: 0x0005093C File Offset: 0x0004EB3C
[Token(Token = "0x6002320")]
[Address(RVA = "0x8CD260", Offset = "0x8CC060", VA = "0x1808CD260")]
public AnimationWarping()
{
}
// Token: 0x04002C65 RID: 11365
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002C65")]
[Tooltip("Reference to the Animator component to use")]
public Animator animator;
// Token: 0x04002C66 RID: 11366
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002C66")]
[Tooltip("Using effector.positionOffset or effector.position with effector.positionWeight? The former will enable you to use effector.position for other things, the latter will weigh in the effectors, hence using Reach and Pull in the process.")]
public AnimationWarping.EffectorMode effectorMode;
// Token: 0x04002C67 RID: 11367
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002C67")]
[Space]
[Tooltip("The array of warps, can have multiple simultaneous warps.")]
[Space(10f)]
public AnimationWarping.Warp[] warps;
// Token: 0x04002C68 RID: 11368
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002C68")]
private AnimationWarping.EffectorMode lastMode;
// Token: 0x020003B0 RID: 944
[Token(Token = "0x20003B0")]
[Serializable]
public struct Warp
{
// Token: 0x04002C69 RID: 11369
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x4002C69")]
[Tooltip("Layer of the 'Animation State' in the Animator.")]
public int animationLayer;
// Token: 0x04002C6A RID: 11370
[FieldOffset(Offset = "0x8")]
[Token(Token = "0x4002C6A")]
[Tooltip("Name of the state in the Animator to warp.")]
public string animationState;
// Token: 0x04002C6B RID: 11371
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4002C6B")]
[Tooltip("Warping weight by normalized time of the animation state.")]
public AnimationCurve weightCurve;
// Token: 0x04002C6C RID: 11372
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002C6C")]
[Tooltip("Animated point to warp from. This should be in character space so keep this Transform parented to the root of the character.")]
public Transform warpFrom;
// Token: 0x04002C6D RID: 11373
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002C6D")]
[Tooltip("World space point to warp to.")]
public Transform warpTo;
// Token: 0x04002C6E RID: 11374
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002C6E")]
[Tooltip("Which FBBIK effector to use?")]
public FullBodyBipedEffector effector;
}
// Token: 0x020003B1 RID: 945
[Token(Token = "0x20003B1")]
[Serializable]
public enum EffectorMode
{
// Token: 0x04002C70 RID: 11376
[Token(Token = "0x4002C70")]
PositionOffset,
// Token: 0x04002C71 RID: 11377
[Token(Token = "0x4002C71")]
Position
}
}
}

View File

@@ -0,0 +1,102 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003B2 RID: 946
[Token(Token = "0x20003B2")]
[RequireComponent(typeof(Animator))]
public class AnimatorController3rdPerson : MonoBehaviour
{
// Token: 0x06002321 RID: 8993 RVA: 0x00050950 File Offset: 0x0004EB50
[Token(Token = "0x6002321")]
[Address(RVA = "0x8CE980", Offset = "0x8CD780", VA = "0x1808CE980", Slot = "4")]
protected virtual void Start()
{
/*
An exception occurred when decompiling this method (06002321)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void RootMotion.Demos.AnimatorController3rdPerson::Start()
---> System.Exception: Basic block has to end with unconditional control flow.
{; Block_0:; stloc:Animator(var_0_06, call:Animator(Component::GetComponent, ldloc:AnimatorController3rdPerson[exp:Component](this))); stfld:Animator(AnimatorController3rdPerson::animator, ldloc:AnimatorController3rdPerson(this), ldloc:Animator(var_0_06)); };
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: 0x06002322 RID: 8994 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002322")]
[Address(RVA = "0x8CE6F0", Offset = "0x8CD4F0", VA = "0x1808CE6F0")]
private void OnAnimatorMove()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002323 RID: 8995 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002323")]
[Address(RVA = "0x8CE470", Offset = "0x8CD270", VA = "0x1808CE470", Slot = "5")]
public virtual void Move(Vector3 moveInput, bool isMoving, Vector3 faceDirection, Vector3 aimTarget)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002324 RID: 8996 RVA: 0x0005096C File Offset: 0x0004EB6C
[Token(Token = "0x6002324")]
[Address(RVA = "0x8CE9D0", Offset = "0x8CD7D0", VA = "0x1808CE9D0")]
public AnimatorController3rdPerson()
{
}
// Token: 0x04002C72 RID: 11378
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002C72")]
public float rotateSpeed = 7f;
// Token: 0x04002C73 RID: 11379
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x4002C73")]
public float blendSpeed = 10f;
// Token: 0x04002C74 RID: 11380
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002C74")]
public float maxAngle = 90f;
// Token: 0x04002C75 RID: 11381
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x4002C75")]
public float moveSpeed = 1.5f;
// Token: 0x04002C76 RID: 11382
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002C76")]
public float rootMotionWeight;
// Token: 0x04002C77 RID: 11383
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002C77")]
protected Animator animator;
// Token: 0x04002C78 RID: 11384
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002C78")]
protected Vector3 moveBlend;
// Token: 0x04002C79 RID: 11385
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x4002C79")]
protected Vector3 moveInput;
// Token: 0x04002C7A RID: 11386
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4002C7A")]
protected Vector3 velocity;
}
}

View File

@@ -0,0 +1,163 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003B3 RID: 947
[Token(Token = "0x20003B3")]
[RequireComponent(typeof(FullBodyBipedIK))]
[RequireComponent(typeof(AimIK))]
public class AnimatorController3rdPersonIK : AnimatorController3rdPerson
{
// Token: 0x06002325 RID: 8997 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002325")]
[Address(RVA = "0x8CE1D0", Offset = "0x8CCFD0", VA = "0x1808CE1D0", Slot = "4")]
protected override void Start()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002326 RID: 8998 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002326")]
[Address(RVA = "0x8CD930", Offset = "0x8CC730", VA = "0x1808CD930", Slot = "5")]
public override void Move(Vector3 moveInput, bool isMoving, Vector3 faceDirection, Vector3 aimTarget)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002327 RID: 8999 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002327")]
[Address(RVA = "0x8CE070", Offset = "0x8CCE70", VA = "0x1808CE070")]
private void Read()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002328 RID: 9000 RVA: 0x000509AC File Offset: 0x0004EBAC
[Token(Token = "0x6002328")]
[Address(RVA = "0x8CD270", Offset = "0x8CC070", VA = "0x1808CD270")]
private void AimIK()
{
IKSolverAim solver = this.aim.solver;
float z = this.aimTarget.z;
solver.IKPosition.z = z;
this.aim.solver.Update();
}
// Token: 0x06002329 RID: 9001 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002329")]
[Address(RVA = "0x8CD2D0", Offset = "0x8CC0D0", VA = "0x1808CD2D0")]
private void FBBIK()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600232A RID: 9002 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600232A")]
[Address(RVA = "0x8CDCA0", Offset = "0x8CCAA0", VA = "0x1808CDCA0")]
private void OnPreRead()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600232B RID: 9003 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600232B")]
[Address(RVA = "0x8CD6D0", Offset = "0x8CC4D0", VA = "0x1808CD6D0")]
private void HeadLookAt(Vector3 lookAtTarget)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600232C RID: 9004 RVA: 0x000509F4 File Offset: 0x0004EBF4
[Token(Token = "0x600232C")]
[Address(RVA = "0x8CDB70", Offset = "0x8CC970", VA = "0x1808CDB70")]
private void OnDestroy()
{
FullBodyBipedIK fullBodyBipedIK = this.ik;
int num = 0;
if (fullBodyBipedIK != num)
{
IKSolverFullBodyBiped solver = this.ik.solver;
IKSolver.UpdateDelegate onPreRead = solver.OnPreRead;
IKSolver.UpdateDelegate updateDelegate = new IKSolver.UpdateDelegate(this.OnPreRead);
Delegate @delegate = Delegate.Remove(onPreRead, updateDelegate);
int num2 = 0;
if (@delegate != 0 && @delegate == 0)
{
throw new InvalidCastException();
}
solver.OnPreRead = num2;
}
}
// Token: 0x0600232D RID: 9005 RVA: 0x00050A60 File Offset: 0x0004EC60
[Token(Token = "0x600232D")]
[Address(RVA = "0x8CE440", Offset = "0x8CD240", VA = "0x1808CE440")]
public AnimatorController3rdPersonIK()
{
this.rotateSpeed = 7f;
this.blendSpeed = 10f;
this.maxAngle = 90f;
this.moveSpeed = 1.5f;
base..ctor();
}
// Token: 0x04002C7B RID: 11387
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4002C7B")]
[Range(0f, 1f)]
public float headLookWeight = 1f;
// Token: 0x04002C7C RID: 11388
[FieldOffset(Offset = "0x64")]
[Token(Token = "0x4002C7C")]
public Vector3 gunHoldOffset;
// Token: 0x04002C7D RID: 11389
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4002C7D")]
public Vector3 leftHandOffset;
// Token: 0x04002C7E RID: 11390
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x4002C7E")]
public Recoil recoil;
// Token: 0x04002C7F RID: 11391
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x4002C7F")]
private AimIK aim;
// Token: 0x04002C80 RID: 11392
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x4002C80")]
private FullBodyBipedIK ik;
// Token: 0x04002C81 RID: 11393
[FieldOffset(Offset = "0x98")]
[Token(Token = "0x4002C81")]
private Vector3 headLookAxis;
// Token: 0x04002C82 RID: 11394
[FieldOffset(Offset = "0xA4")]
[Token(Token = "0x4002C82")]
private Vector3 leftHandPosRelToRightHand;
// Token: 0x04002C83 RID: 11395
[FieldOffset(Offset = "0xB0")]
[Token(Token = "0x4002C83")]
private Quaternion leftHandRotRelToRightHand;
// Token: 0x04002C84 RID: 11396
[FieldOffset(Offset = "0xC0")]
[Token(Token = "0x4002C84")]
private Vector3 aimTarget;
// Token: 0x04002C85 RID: 11397
[FieldOffset(Offset = "0xCC")]
[Token(Token = "0x4002C85")]
private Quaternion rightHandRotation;
}
}

View File

@@ -0,0 +1,30 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003EE RID: 1006
[Token(Token = "0x20003EE")]
public class ApplicationQuit : MonoBehaviour
{
// Token: 0x0600241A RID: 9242 RVA: 0x0005230C File Offset: 0x0005050C
[Token(Token = "0x600241A")]
[Address(RVA = "0x8CF200", Offset = "0x8CE000", VA = "0x1808CF200")]
private void Update()
{
if (Input.GetKeyDownInt(KeyCode.Q) || Input.GetKeyDownInt(KeyCode.Escape))
{
Application.Quit();
return;
}
}
// Token: 0x0600241B RID: 9243 RVA: 0x00052338 File Offset: 0x00050538
[Token(Token = "0x600241B")]
[Address(RVA = "0x3088F0", Offset = "0x3076F0", VA = "0x1803088F0")]
public ApplicationQuit()
{
}
}
}

View File

@@ -0,0 +1,46 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003DE RID: 990
[Token(Token = "0x20003DE")]
public class BendGoal : MonoBehaviour
{
// Token: 0x060023D5 RID: 9173 RVA: 0x00051E04 File Offset: 0x00050004
[Token(Token = "0x60023D5")]
[Address(RVA = "0x8D4120", Offset = "0x8D2F20", VA = "0x1808D4120")]
private void Start()
{
Debug.Log("BendGoal is deprecated, you can now a bend goal from the custom inspector of the LimbIK component.");
}
// Token: 0x060023D6 RID: 9174 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023D6")]
[Address(RVA = "0x8D4050", Offset = "0x8D2E50", VA = "0x1808D4050")]
private void LateUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023D7 RID: 9175 RVA: 0x00051E1C File Offset: 0x0005001C
[Token(Token = "0x60023D7")]
[Address(RVA = "0x8D4180", Offset = "0x8D2F80", VA = "0x1808D4180")]
public BendGoal()
{
}
// Token: 0x04002D6A RID: 11626
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002D6A")]
public LimbIK limbIK;
// Token: 0x04002D6B RID: 11627
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002D6B")]
[Range(0f, 1f)]
public float weight = 1f;
}
}

View File

@@ -0,0 +1,137 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003A9 RID: 937
[Token(Token = "0x20003A9")]
public class BipedIKvsAnimatorIK : MonoBehaviour
{
// Token: 0x06002302 RID: 8962 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002302")]
[Address(RVA = "0x8D6200", Offset = "0x8D5000", VA = "0x1808D6200")]
private void OnAnimatorIK(int layer)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002303 RID: 8963 RVA: 0x000506D0 File Offset: 0x0004E8D0
[Token(Token = "0x6002303")]
[Address(RVA = "0x8D6A10", Offset = "0x8D5810", VA = "0x1808D6A10")]
public BipedIKvsAnimatorIK()
{
}
// Token: 0x04002C26 RID: 11302
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002C26")]
[LargeHeader("References")]
public Animator animator;
// Token: 0x04002C27 RID: 11303
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002C27")]
public BipedIK bipedIK;
// Token: 0x04002C28 RID: 11304
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002C28")]
[LargeHeader("Look At")]
public Transform lookAtTargetBiped;
// Token: 0x04002C29 RID: 11305
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002C29")]
public Transform lookAtTargetAnimator;
// Token: 0x04002C2A RID: 11306
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002C2A")]
[Range(0f, 1f)]
public float lookAtWeight = 1f;
// Token: 0x04002C2B RID: 11307
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x4002C2B")]
[Range(0f, 1f)]
public float lookAtBodyWeight = 1f;
// Token: 0x04002C2C RID: 11308
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002C2C")]
[Range(0f, 1f)]
public float lookAtHeadWeight = 1f;
// Token: 0x04002C2D RID: 11309
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x4002C2D")]
[Range(0f, 1f)]
public float lookAtEyesWeight = 1f;
// Token: 0x04002C2E RID: 11310
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002C2E")]
[Range(0f, 1f)]
public float lookAtClampWeight = 0.5f;
// Token: 0x04002C2F RID: 11311
[FieldOffset(Offset = "0x4C")]
[Token(Token = "0x4002C2F")]
[Range(0f, 1f)]
public float lookAtClampWeightHead = 0.5f;
// Token: 0x04002C30 RID: 11312
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4002C30")]
[Range(0f, 1f)]
public float lookAtClampWeightEyes = 0.5f;
// Token: 0x04002C31 RID: 11313
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4002C31")]
[LargeHeader("Foot")]
public Transform footTargetBiped;
// Token: 0x04002C32 RID: 11314
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4002C32")]
public Transform footTargetAnimator;
// Token: 0x04002C33 RID: 11315
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4002C33")]
[Range(0f, 1f)]
public float footPositionWeight;
// Token: 0x04002C34 RID: 11316
[FieldOffset(Offset = "0x6C")]
[Token(Token = "0x4002C34")]
[Range(0f, 1f)]
public float footRotationWeight;
// Token: 0x04002C35 RID: 11317
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4002C35")]
[LargeHeader("Hand")]
public Transform handTargetBiped;
// Token: 0x04002C36 RID: 11318
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4002C36")]
public Transform handTargetAnimator;
// Token: 0x04002C37 RID: 11319
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x4002C37")]
[Range(0f, 1f)]
public float handPositionWeight;
// Token: 0x04002C38 RID: 11320
[FieldOffset(Offset = "0x84")]
[Token(Token = "0x4002C38")]
[Range(0f, 1f)]
public float handRotationWeight;
}
}

View File

@@ -0,0 +1,93 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003E2 RID: 994
[Token(Token = "0x20003E2")]
public abstract class CharacterAnimationBase : MonoBehaviour
{
// Token: 0x060023DF RID: 9183 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023DF")]
[Address(RVA = "0xE82120", Offset = "0xE80F20", VA = "0x180E82120", Slot = "4")]
public virtual Vector3 GetPivotPoint()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x17000207 RID: 519
// (get) Token: 0x060023E0 RID: 9184 RVA: 0x00051EA8 File Offset: 0x000500A8
[Token(Token = "0x17000207")]
public virtual bool animationGrounded
{
[Token(Token = "0x60023E0")]
[Address(RVA = "0x454840", Offset = "0x453640", VA = "0x180454840", Slot = "5")]
get
{
return true;
}
}
// Token: 0x060023E1 RID: 9185 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023E1")]
[Address(RVA = "0xE820B0", Offset = "0xE80EB0", VA = "0x180E820B0")]
public float GetAngleFromForward(Vector3 worldDirection)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023E2 RID: 9186 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023E2")]
[Address(RVA = "0xE823D0", Offset = "0xE811D0", VA = "0x180E823D0", Slot = "6")]
protected virtual void Start()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023E3 RID: 9187 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023E3")]
[Address(RVA = "0xE82170", Offset = "0xE80F70", VA = "0x180E82170", Slot = "7")]
protected virtual void LateUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023E4 RID: 9188 RVA: 0x00051EB8 File Offset: 0x000500B8
[Token(Token = "0x60023E4")]
[Address(RVA = "0xE82660", Offset = "0xE81460", VA = "0x180E82660")]
protected CharacterAnimationBase()
{
}
// Token: 0x04002D73 RID: 11635
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002D73")]
public bool smoothFollow = true;
// Token: 0x04002D74 RID: 11636
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x4002D74")]
public float smoothFollowSpeed = 20f;
// Token: 0x04002D75 RID: 11637
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002D75")]
private Vector3 lastPosition;
// Token: 0x04002D76 RID: 11638
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x4002D76")]
private Vector3 localPosition;
// Token: 0x04002D77 RID: 11639
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002D77")]
private Quaternion localRotation;
// Token: 0x04002D78 RID: 11640
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002D78")]
private Quaternion lastRotation;
}
}

View File

@@ -0,0 +1,69 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003E3 RID: 995
[Token(Token = "0x20003E3")]
[RequireComponent(typeof(Animator))]
public class CharacterAnimationSimple : CharacterAnimationBase
{
// Token: 0x060023E5 RID: 9189 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023E5")]
[Address(RVA = "0xE827C0", Offset = "0xE815C0", VA = "0x180E827C0", Slot = "6")]
protected override void Start()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023E6 RID: 9190 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023E6")]
[Address(RVA = "0xE82680", Offset = "0xE81480", VA = "0x180E82680", Slot = "4")]
public override Vector3 GetPivotPoint()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023E7 RID: 9191 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023E7")]
[Address(RVA = "0xE82820", Offset = "0xE81620", VA = "0x180E82820")]
private void Update()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023E8 RID: 9192 RVA: 0x00051EE0 File Offset: 0x000500E0
[Token(Token = "0x60023E8")]
[Address(RVA = "0xE82660", Offset = "0xE81460", VA = "0x180E82660")]
public CharacterAnimationSimple()
{
this.smoothFollow = true;
this.smoothFollowSpeed = 20f;
base..ctor();
}
// Token: 0x04002D79 RID: 11641
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4002D79")]
[SerializeField]
private CharacterThirdPerson characterController;
// Token: 0x04002D7A RID: 11642
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4002D7A")]
[SerializeField]
private float pivotOffset;
// Token: 0x04002D7B RID: 11643
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4002D7B")]
[SerializeField]
private AnimationCurve moveSpeed;
// Token: 0x04002D7C RID: 11644
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4002D7C")]
private Animator animator;
}
}

View File

@@ -0,0 +1,115 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003E4 RID: 996
[Token(Token = "0x20003E4")]
[RequireComponent(typeof(Animator))]
public class CharacterAnimationThirdPerson : CharacterAnimationBase
{
// Token: 0x060023E9 RID: 9193 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023E9")]
[Address(RVA = "0xE82FA0", Offset = "0xE81DA0", VA = "0x180E82FA0", Slot = "6")]
protected override void Start()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023EA RID: 9194 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023EA")]
[Address(RVA = "0xE82EC0", Offset = "0xE81CC0", VA = "0x180E82EC0", Slot = "4")]
public override Vector3 GetPivotPoint()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x17000208 RID: 520
// (get) Token: 0x060023EB RID: 9195 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x17000208")]
public override bool animationGrounded
{
[Token(Token = "0x60023EB")]
[Address(RVA = "0xE834A0", Offset = "0xE822A0", VA = "0x180E834A0", Slot = "5")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x060023EC RID: 9196 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023EC")]
[Address(RVA = "0xE83030", Offset = "0xE81E30", VA = "0x180E83030", Slot = "8")]
protected virtual void Update()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023ED RID: 9197 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023ED")]
[Address(RVA = "0xE82F00", Offset = "0xE81D00", VA = "0x180E82F00")]
private void OnAnimatorMove()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023EE RID: 9198 RVA: 0x00051F08 File Offset: 0x00050108
[Token(Token = "0x60023EE")]
[Address(RVA = "0xE82E90", Offset = "0xE81C90", VA = "0x180E82E90")]
public CharacterAnimationThirdPerson()
{
this.smoothFollow = true;
this.smoothFollowSpeed = 20f;
base..ctor();
}
// Token: 0x04002D7D RID: 11645
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4002D7D")]
public CharacterThirdPerson characterController;
// Token: 0x04002D7E RID: 11646
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4002D7E")]
[SerializeField]
private float turnSensitivity = 0.2f;
// Token: 0x04002D7F RID: 11647
[FieldOffset(Offset = "0x64")]
[Token(Token = "0x4002D7F")]
[SerializeField]
private float turnSpeed = 5f;
// Token: 0x04002D80 RID: 11648
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4002D80")]
[SerializeField]
private float runCycleLegOffset = 0.2f;
// Token: 0x04002D81 RID: 11649
[FieldOffset(Offset = "0x6C")]
[Token(Token = "0x4002D81")]
[SerializeField]
[Range(0.1f, 3f)]
private float animSpeedMultiplier = 1f;
// Token: 0x04002D82 RID: 11650
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4002D82")]
protected Animator animator;
// Token: 0x04002D83 RID: 11651
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4002D83")]
private Vector3 lastForward;
// Token: 0x04002D84 RID: 11652
[Token(Token = "0x4002D84")]
private const string groundedDirectional = "Grounded Directional";
// Token: 0x04002D85 RID: 11653
[Token(Token = "0x4002D85")]
private const string groundedStrafe = "Grounded Strafe";
}
}

View File

@@ -0,0 +1,56 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003B4 RID: 948
[Token(Token = "0x20003B4")]
[RequireComponent(typeof(FullBodyBipedIK))]
public class CharacterAnimationThirdPersonIK : CharacterAnimationThirdPerson
{
// Token: 0x0600232E RID: 9006 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600232E")]
[Address(RVA = "0xE82DC0", Offset = "0xE81BC0", VA = "0x180E82DC0", Slot = "6")]
protected override void Start()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600232F RID: 9007 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600232F")]
[Address(RVA = "0xE829A0", Offset = "0xE817A0", VA = "0x180E829A0", Slot = "7")]
protected override void LateUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002330 RID: 9008 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002330")]
[Address(RVA = "0xE82C00", Offset = "0xE81A00", VA = "0x180E82C00")]
private void RotateEffector(IKEffector effector, Quaternion rotation, float mlp)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002331 RID: 9009 RVA: 0x00050AAC File Offset: 0x0004ECAC
[Token(Token = "0x6002331")]
[Address(RVA = "0xE82E90", Offset = "0xE81C90", VA = "0x180E82E90")]
public CharacterAnimationThirdPersonIK()
{
this.turnSensitivity = 0.2f;
this.turnSpeed = 5f;
this.runCycleLegOffset = 0.2f;
this.animSpeedMultiplier = 1f;
this.smoothFollow = true;
this.smoothFollowSpeed = 20f;
base..ctor();
}
// Token: 0x04002C86 RID: 11398
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x4002C86")]
private FullBodyBipedIK ik;
}
}

View File

@@ -0,0 +1,179 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003E5 RID: 997
[Token(Token = "0x20003E5")]
[RequireComponent(typeof(Rigidbody))]
[RequireComponent(typeof(CapsuleCollider))]
public abstract class CharacterBase : MonoBehaviour
{
// Token: 0x060023EF RID: 9199
[Token(Token = "0x60023EF")]
[Address(Slot = "4")]
public abstract void Move(Vector3 deltaPosition, Quaternion deltaRotation);
// Token: 0x060023F0 RID: 9200 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023F0")]
[Address(RVA = "0xE83F50", Offset = "0xE82D50", VA = "0x180E83F50")]
protected Vector3 GetGravity()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023F1 RID: 9201 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023F1")]
[Address(RVA = "0xE848A0", Offset = "0xE836A0", VA = "0x180E848A0", Slot = "5")]
protected virtual void Start()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023F2 RID: 9202 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023F2")]
[Address(RVA = "0xE841A0", Offset = "0xE82FA0", VA = "0x180E841A0", Slot = "6")]
protected virtual RaycastHit GetSpherecastHit()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023F3 RID: 9203 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023F3")]
[Address(RVA = "0xE820B0", Offset = "0xE80EB0", VA = "0x180E820B0")]
public float GetAngleFromForward(Vector3 worldDirection)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023F4 RID: 9204 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023F4")]
[Address(RVA = "0xE844B0", Offset = "0xE832B0", VA = "0x180E844B0")]
protected void RigidbodyRotateAround(Vector3 point, Vector3 axis, float angle)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023F5 RID: 9205 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023F5")]
[Address(RVA = "0xE846E0", Offset = "0xE834E0", VA = "0x180E846E0")]
protected void ScaleCapsule(float mlp)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023F6 RID: 9206 RVA: 0x00051F5C File Offset: 0x0005015C
[Token(Token = "0x60023F6")]
[Address(RVA = "0xE84480", Offset = "0xE83280", VA = "0x180E84480")]
protected void HighFriction()
{
CapsuleCollider capsuleCollider = this.capsule;
PhysicMaterial physicMaterial = this.highFrictionMaterial;
capsuleCollider.material = physicMaterial;
}
// Token: 0x060023F7 RID: 9207 RVA: 0x00051F84 File Offset: 0x00050184
[Token(Token = "0x60023F7")]
[Address(RVA = "0xE84AB0", Offset = "0xE838B0", VA = "0x180E84AB0")]
protected void ZeroFriction()
{
CapsuleCollider capsuleCollider = this.capsule;
PhysicMaterial physicMaterial = this.zeroFrictionMaterial;
capsuleCollider.material = physicMaterial;
}
// Token: 0x060023F8 RID: 9208 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023F8")]
[Address(RVA = "0xE84110", Offset = "0xE82F10", VA = "0x180E84110")]
protected float GetSlopeDamper(Vector3 velocity, Vector3 groundNormal)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023F9 RID: 9209 RVA: 0x00051FAC File Offset: 0x000501AC
[Token(Token = "0x60023F9")]
[Address(RVA = "0xE84AE0", Offset = "0xE838E0", VA = "0x180E84AE0")]
protected CharacterBase()
{
}
// Token: 0x04002D86 RID: 11654
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002D86")]
[Header("Base Parameters")]
[Tooltip("If specified, will use the direction from the character to this Transform as the gravity vector instead of Physics.gravity. Physics.gravity.magnitude will be used as the magnitude of the gravity vector.")]
public Transform gravityTarget;
// Token: 0x04002D87 RID: 11655
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002D87")]
[SerializeField]
[Tooltip("Multiplies gravity applied to the character even if 'Individual Gravity' is unchecked.")]
protected float gravityMultiplier = 2f;
// Token: 0x04002D88 RID: 11656
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x4002D88")]
[SerializeField]
protected float airborneThreshold = 0.6f;
// Token: 0x04002D89 RID: 11657
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002D89")]
[SerializeField]
private float slopeStartAngle = 50f;
// Token: 0x04002D8A RID: 11658
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x4002D8A")]
[SerializeField]
private float slopeEndAngle = 85f;
// Token: 0x04002D8B RID: 11659
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002D8B")]
[SerializeField]
private float spherecastRadius = 0.1f;
// Token: 0x04002D8C RID: 11660
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x4002D8C")]
[SerializeField]
private LayerMask groundLayers;
// Token: 0x04002D8D RID: 11661
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002D8D")]
private PhysicMaterial zeroFrictionMaterial;
// Token: 0x04002D8E RID: 11662
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002D8E")]
private PhysicMaterial highFrictionMaterial;
// Token: 0x04002D8F RID: 11663
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002D8F")]
protected Rigidbody r;
// Token: 0x04002D90 RID: 11664
[Token(Token = "0x4002D90")]
protected const float half = 0.5f;
// Token: 0x04002D91 RID: 11665
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4002D91")]
protected float originalHeight;
// Token: 0x04002D92 RID: 11666
[FieldOffset(Offset = "0x54")]
[Token(Token = "0x4002D92")]
protected Vector3 originalCenter;
// Token: 0x04002D93 RID: 11667
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4002D93")]
protected CapsuleCollider capsule;
}
}

View File

@@ -0,0 +1,76 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003B5 RID: 949
[Token(Token = "0x20003B5")]
[RequireComponent(typeof(AnimatorController3rdPerson))]
public class CharacterController3rdPerson : MonoBehaviour
{
// Token: 0x06002332 RID: 9010 RVA: 0x00050B00 File Offset: 0x0004ED00
[Token(Token = "0x6002332")]
[Address(RVA = "0xE84E30", Offset = "0xE83C30", VA = "0x180E84E30")]
private void Start()
{
AnimatorController3rdPerson component = base.GetComponent<AnimatorController3rdPerson>();
this.animatorController = component;
CameraController cameraController = this.cam;
int num = 0;
cameraController.enabled = num != 0;
}
// Token: 0x06002333 RID: 9011 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002333")]
[Address(RVA = "0xE84B10", Offset = "0xE83910", VA = "0x180E84B10")]
private void LateUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x170001FB RID: 507
// (get) Token: 0x06002334 RID: 9012 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x170001FB")]
private static Vector3 inputVector
{
[Token(Token = "0x6002334")]
[Address(RVA = "0xE84F20", Offset = "0xE83D20", VA = "0x180E84F20")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x170001FC RID: 508
// (get) Token: 0x06002335 RID: 9013 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x170001FC")]
private static Vector3 inputVectorRaw
{
[Token(Token = "0x6002335")]
[Address(RVA = "0xE84EA0", Offset = "0xE83CA0", VA = "0x180E84EA0")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x06002336 RID: 9014 RVA: 0x00050B34 File Offset: 0x0004ED34
[Token(Token = "0x6002336")]
[Address(RVA = "0x3088F0", Offset = "0x3076F0", VA = "0x1803088F0")]
public CharacterController3rdPerson()
{
}
// Token: 0x04002C87 RID: 11399
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002C87")]
[SerializeField]
private CameraController cam;
// Token: 0x04002C88 RID: 11400
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002C88")]
private AnimatorController3rdPerson animatorController;
}
}

View File

@@ -0,0 +1,475 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003E6 RID: 998
[Token(Token = "0x20003E6")]
public class CharacterThirdPerson : CharacterBase
{
// Token: 0x17000209 RID: 521
// (get) Token: 0x060023FA RID: 9210 RVA: 0x00051FF8 File Offset: 0x000501F8
// (set) Token: 0x060023FB RID: 9211 RVA: 0x0005200C File Offset: 0x0005020C
[Token(Token = "0x17000209")]
public bool onGround
{
[Token(Token = "0x60023FA")]
[Address(RVA = "0xE88840", Offset = "0xE87640", VA = "0x180E88840")]
get;
[Token(Token = "0x60023FB")]
[Address(RVA = "0xE88850", Offset = "0xE87650", VA = "0x180E88850")]
private set;
}
// Token: 0x060023FC RID: 9212 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023FC")]
[Address(RVA = "0xE87C30", Offset = "0xE86A30", VA = "0x180E87C30", Slot = "5")]
protected override void Start()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023FD RID: 9213 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023FD")]
[Address(RVA = "0xE875A0", Offset = "0xE863A0", VA = "0x180E875A0")]
private void OnAnimatorMove()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023FE RID: 9214 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023FE")]
[Address(RVA = "0xE874B0", Offset = "0xE862B0", VA = "0x180E874B0", Slot = "4")]
public override void Move(Vector3 deltaPosition, Quaternion deltaRotation)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023FF RID: 9215 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023FF")]
[Address(RVA = "0xE85790", Offset = "0xE84590", VA = "0x180E85790")]
private void FixedUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002400 RID: 9216 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002400")]
[Address(RVA = "0xE87DD0", Offset = "0xE86BD0", VA = "0x180E87DD0", Slot = "7")]
protected virtual void Update()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002401 RID: 9217 RVA: 0x00052020 File Offset: 0x00050220
[Token(Token = "0x6002401")]
[Address(RVA = "0xE86CB0", Offset = "0xE85AB0", VA = "0x180E86CB0", Slot = "8")]
protected virtual void LateUpdate()
{
CameraController cameraController = this.cam;
int num = 0;
if (!(cameraController == num))
{
this.cam.UpdateInput();
if (this.fixedFrame || this.r.interpolation != RigidbodyInterpolation.None)
{
Rigidbody r = this.r;
CameraController cameraController2 = this.cam;
RigidbodyInterpolation interpolation = r.interpolation;
if (interpolation == RigidbodyInterpolation.None)
{
float fixedDeltaTime = Time.fixedDeltaTime;
}
float deltaTime = Time.deltaTime;
cameraController2.UpdateTransform(deltaTime);
this.fixedFrame = false;
}
}
}
// Token: 0x06002402 RID: 9218 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002402")]
[Address(RVA = "0xE86D90", Offset = "0xE85B90", VA = "0x180E86D90")]
private void MoveFixed(Vector3 deltaPosition)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002403 RID: 9219 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002403")]
[Address(RVA = "0xE87E90", Offset = "0xE86C90", VA = "0x180E87E90")]
private void WallRun()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002404 RID: 9220 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002404")]
[Address(RVA = "0xE856F0", Offset = "0xE844F0", VA = "0x180E856F0")]
private bool CanWallRun()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002405 RID: 9221 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002405")]
[Address(RVA = "0xE862A0", Offset = "0xE850A0", VA = "0x180E862A0")]
private Vector3 GetMoveDirection()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002406 RID: 9222 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002406")]
[Address(RVA = "0xE87640", Offset = "0xE86440", VA = "0x180E87640", Slot = "9")]
protected virtual void Rotate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002407 RID: 9223 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002407")]
[Address(RVA = "0xE86090", Offset = "0xE84E90", VA = "0x180E86090")]
private Vector3 GetForwardDirection()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002408 RID: 9224 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002408")]
[Address(RVA = "0xE86A90", Offset = "0xE85890", VA = "0x180E86A90", Slot = "10")]
protected virtual bool Jump()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002409 RID: 9225 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002409")]
[Address(RVA = "0xE865A0", Offset = "0xE853A0", VA = "0x180E865A0")]
private void GroundCheck()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600240A RID: 9226 RVA: 0x000520A4 File Offset: 0x000502A4
[Token(Token = "0x600240A")]
[Address(RVA = "0xE88730", Offset = "0xE87530", VA = "0x180E88730")]
public CharacterThirdPerson()
{
float z = Vector3.up.z;
this.wallNormal.z = z;
this.gravityMultiplier = 2f;
this.airborneThreshold = 0.6f;
this.slopeStartAngle = 50f;
this.slopeEndAngle = 85f;
this.spherecastRadius = 0.1f;
base..ctor();
}
// Token: 0x04002D94 RID: 11668
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4002D94")]
[Header("References")]
public CharacterAnimationBase characterAnimation;
// Token: 0x04002D95 RID: 11669
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4002D95")]
public UserControlThirdPerson userControl;
// Token: 0x04002D96 RID: 11670
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4002D96")]
public CameraController cam;
// Token: 0x04002D97 RID: 11671
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x4002D97")]
[Header("Movement")]
public CharacterThirdPerson.MoveMode moveMode;
// Token: 0x04002D98 RID: 11672
[FieldOffset(Offset = "0x84")]
[Token(Token = "0x4002D98")]
public bool smoothPhysics = true;
// Token: 0x04002D99 RID: 11673
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x4002D99")]
public float smoothAccelerationTime = 0.2f;
// Token: 0x04002D9A RID: 11674
[FieldOffset(Offset = "0x8C")]
[Token(Token = "0x4002D9A")]
public float linearAccelerationSpeed = 3f;
// Token: 0x04002D9B RID: 11675
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x4002D9B")]
public float platformFriction = 7f;
// Token: 0x04002D9C RID: 11676
[FieldOffset(Offset = "0x94")]
[Token(Token = "0x4002D9C")]
public float groundStickyEffect = 4f;
// Token: 0x04002D9D RID: 11677
[FieldOffset(Offset = "0x98")]
[Token(Token = "0x4002D9D")]
public float maxVerticalVelocityOnGround = 3f;
// Token: 0x04002D9E RID: 11678
[FieldOffset(Offset = "0x9C")]
[Token(Token = "0x4002D9E")]
public float velocityToGroundTangentWeight;
// Token: 0x04002D9F RID: 11679
[FieldOffset(Offset = "0xA0")]
[Token(Token = "0x4002D9F")]
[Header("Rotation")]
public bool lookInCameraDirection;
// Token: 0x04002DA0 RID: 11680
[FieldOffset(Offset = "0xA4")]
[Token(Token = "0x4002DA0")]
public float turnSpeed = 5f;
// Token: 0x04002DA1 RID: 11681
[FieldOffset(Offset = "0xA8")]
[Token(Token = "0x4002DA1")]
public float stationaryTurnSpeedMlp = 1f;
// Token: 0x04002DA2 RID: 11682
[FieldOffset(Offset = "0xAC")]
[Token(Token = "0x4002DA2")]
[Header("Jumping and Falling")]
public float airSpeed = 6f;
// Token: 0x04002DA3 RID: 11683
[FieldOffset(Offset = "0xB0")]
[Token(Token = "0x4002DA3")]
public float airControl = 2f;
// Token: 0x04002DA4 RID: 11684
[FieldOffset(Offset = "0xB4")]
[Token(Token = "0x4002DA4")]
public float jumpPower = 12f;
// Token: 0x04002DA5 RID: 11685
[FieldOffset(Offset = "0xB8")]
[Token(Token = "0x4002DA5")]
public float jumpRepeatDelayTime;
// Token: 0x04002DA6 RID: 11686
[FieldOffset(Offset = "0xBC")]
[Token(Token = "0x4002DA6")]
[SerializeField]
[Header("Wall Running")]
private LayerMask wallRunLayers;
// Token: 0x04002DA7 RID: 11687
[FieldOffset(Offset = "0xC0")]
[Token(Token = "0x4002DA7")]
public float wallRunMaxLength = 1f;
// Token: 0x04002DA8 RID: 11688
[FieldOffset(Offset = "0xC4")]
[Token(Token = "0x4002DA8")]
public float wallRunMinMoveMag = 0.6f;
// Token: 0x04002DA9 RID: 11689
[FieldOffset(Offset = "0xC8")]
[Token(Token = "0x4002DA9")]
public float wallRunMinVelocityY = -1f;
// Token: 0x04002DAA RID: 11690
[FieldOffset(Offset = "0xCC")]
[Token(Token = "0x4002DAA")]
public float wallRunRotationSpeed = 1.5f;
// Token: 0x04002DAB RID: 11691
[FieldOffset(Offset = "0xD0")]
[Token(Token = "0x4002DAB")]
public float wallRunMaxRotationAngle = 70f;
// Token: 0x04002DAC RID: 11692
[FieldOffset(Offset = "0xD4")]
[Token(Token = "0x4002DAC")]
public float wallRunWeightSpeed = 5f;
// Token: 0x04002DAD RID: 11693
[FieldOffset(Offset = "0xD8")]
[Token(Token = "0x4002DAD")]
[Header("Crouching")]
public float crouchCapsuleScaleMlp = 0.6f;
// Token: 0x04002DAF RID: 11695
[FieldOffset(Offset = "0xE0")]
[Token(Token = "0x4002DAF")]
public CharacterThirdPerson.AnimState animState;
// Token: 0x04002DB0 RID: 11696
[FieldOffset(Offset = "0xF4")]
[Token(Token = "0x4002DB0")]
protected Vector3 moveDirection;
// Token: 0x04002DB1 RID: 11697
[FieldOffset(Offset = "0x100")]
[Token(Token = "0x4002DB1")]
private Animator animator;
// Token: 0x04002DB2 RID: 11698
[FieldOffset(Offset = "0x108")]
[Token(Token = "0x4002DB2")]
private Vector3 normal;
// Token: 0x04002DB3 RID: 11699
[FieldOffset(Offset = "0x114")]
[Token(Token = "0x4002DB3")]
private Vector3 platformVelocity;
// Token: 0x04002DB4 RID: 11700
[FieldOffset(Offset = "0x120")]
[Token(Token = "0x4002DB4")]
private Vector3 platformAngularVelocity;
// Token: 0x04002DB5 RID: 11701
[FieldOffset(Offset = "0x12C")]
[Token(Token = "0x4002DB5")]
private RaycastHit hit;
// Token: 0x04002DB6 RID: 11702
[FieldOffset(Offset = "0x158")]
[Token(Token = "0x4002DB6")]
private float jumpLeg;
// Token: 0x04002DB7 RID: 11703
[FieldOffset(Offset = "0x15C")]
[Token(Token = "0x4002DB7")]
private float jumpEndTime;
// Token: 0x04002DB8 RID: 11704
[FieldOffset(Offset = "0x160")]
[Token(Token = "0x4002DB8")]
private float forwardMlp;
// Token: 0x04002DB9 RID: 11705
[FieldOffset(Offset = "0x164")]
[Token(Token = "0x4002DB9")]
private float groundDistance;
// Token: 0x04002DBA RID: 11706
[FieldOffset(Offset = "0x168")]
[Token(Token = "0x4002DBA")]
private float lastAirTime;
// Token: 0x04002DBB RID: 11707
[FieldOffset(Offset = "0x16C")]
[Token(Token = "0x4002DBB")]
private float stickyForce;
// Token: 0x04002DBC RID: 11708
[FieldOffset(Offset = "0x170")]
[Token(Token = "0x4002DBC")]
private Vector3 wallNormal;
// Token: 0x04002DBD RID: 11709
[FieldOffset(Offset = "0x17C")]
[Token(Token = "0x4002DBD")]
private Vector3 moveDirectionVelocity;
// Token: 0x04002DBE RID: 11710
[FieldOffset(Offset = "0x188")]
[Token(Token = "0x4002DBE")]
private float wallRunWeight;
// Token: 0x04002DBF RID: 11711
[FieldOffset(Offset = "0x18C")]
[Token(Token = "0x4002DBF")]
private float lastWallRunWeight;
// Token: 0x04002DC0 RID: 11712
[FieldOffset(Offset = "0x190")]
[Token(Token = "0x4002DC0")]
private Vector3 fixedDeltaPosition;
// Token: 0x04002DC1 RID: 11713
[FieldOffset(Offset = "0x19C")]
[Token(Token = "0x4002DC1")]
private Quaternion fixedDeltaRotation;
// Token: 0x04002DC2 RID: 11714
[FieldOffset(Offset = "0x1AC")]
[Token(Token = "0x4002DC2")]
private bool fixedFrame;
// Token: 0x04002DC3 RID: 11715
[FieldOffset(Offset = "0x1B0")]
[Token(Token = "0x4002DC3")]
private float wallRunEndTime;
// Token: 0x04002DC4 RID: 11716
[FieldOffset(Offset = "0x1B4")]
[Token(Token = "0x4002DC4")]
private Vector3 gravity;
// Token: 0x04002DC5 RID: 11717
[FieldOffset(Offset = "0x1C0")]
[Token(Token = "0x4002DC5")]
private Vector3 verticalVelocity;
// Token: 0x04002DC6 RID: 11718
[FieldOffset(Offset = "0x1CC")]
[Token(Token = "0x4002DC6")]
private float velocityY;
// Token: 0x020003E7 RID: 999
[Token(Token = "0x20003E7")]
[Serializable]
public enum MoveMode
{
// Token: 0x04002DC8 RID: 11720
[Token(Token = "0x4002DC8")]
Directional,
// Token: 0x04002DC9 RID: 11721
[Token(Token = "0x4002DC9")]
Strafe
}
// Token: 0x020003E8 RID: 1000
[Token(Token = "0x20003E8")]
public struct AnimState
{
// Token: 0x04002DCA RID: 11722
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x4002DCA")]
public Vector3 moveDirection;
// Token: 0x04002DCB RID: 11723
[FieldOffset(Offset = "0xC")]
[Token(Token = "0x4002DCB")]
public bool jump;
// Token: 0x04002DCC RID: 11724
[FieldOffset(Offset = "0xD")]
[Token(Token = "0x4002DCC")]
public bool crouch;
// Token: 0x04002DCD RID: 11725
[FieldOffset(Offset = "0xE")]
[Token(Token = "0x4002DCD")]
public bool onGround;
// Token: 0x04002DCE RID: 11726
[FieldOffset(Offset = "0xF")]
[Token(Token = "0x4002DCE")]
public bool isStrafing;
// Token: 0x04002DCF RID: 11727
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4002DCF")]
public float yVelocity;
}
}
}

View File

@@ -0,0 +1,78 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003B6 RID: 950
[Token(Token = "0x20003B6")]
public class EffectorOffset : OffsetModifier
{
// Token: 0x06002337 RID: 9015 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002337")]
[Address(RVA = "0xA61E10", Offset = "0xA60C10", VA = "0x180A61E10", Slot = "4")]
protected override void OnModifyOffset()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002338 RID: 9016 RVA: 0x00050B48 File Offset: 0x0004ED48
[Token(Token = "0x6002338")]
[Address(RVA = "0x8CD260", Offset = "0x8CC060", VA = "0x1808CD260")]
public EffectorOffset()
{
}
// Token: 0x04002C89 RID: 11401
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002C89")]
[Range(0f, 1f)]
public float handsMaintainRelativePositionWeight;
// Token: 0x04002C8A RID: 11402
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x4002C8A")]
public Vector3 bodyOffset;
// Token: 0x04002C8B RID: 11403
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002C8B")]
public Vector3 leftShoulderOffset;
// Token: 0x04002C8C RID: 11404
[FieldOffset(Offset = "0x4C")]
[Token(Token = "0x4002C8C")]
public Vector3 rightShoulderOffset;
// Token: 0x04002C8D RID: 11405
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4002C8D")]
public Vector3 leftThighOffset;
// Token: 0x04002C8E RID: 11406
[FieldOffset(Offset = "0x64")]
[Token(Token = "0x4002C8E")]
public Vector3 rightThighOffset;
// Token: 0x04002C8F RID: 11407
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4002C8F")]
public Vector3 leftHandOffset;
// Token: 0x04002C90 RID: 11408
[FieldOffset(Offset = "0x7C")]
[Token(Token = "0x4002C90")]
public Vector3 rightHandOffset;
// Token: 0x04002C91 RID: 11409
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x4002C91")]
public Vector3 leftFootOffset;
// Token: 0x04002C92 RID: 11410
[FieldOffset(Offset = "0x94")]
[Token(Token = "0x4002C92")]
public Vector3 rightFootOffset;
}
}

View File

@@ -0,0 +1,104 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003B7 RID: 951
[Token(Token = "0x20003B7")]
public class ExplosionDemo : MonoBehaviour
{
// Token: 0x06002339 RID: 9017 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002339")]
[Address(RVA = "0xA690C0", Offset = "0xA67EC0", VA = "0x180A690C0")]
private void Start()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600233A RID: 9018 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600233A")]
[Address(RVA = "0xA69180", Offset = "0xA67F80", VA = "0x180A69180")]
private void Update()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600233B RID: 9019 RVA: 0x00050B5C File Offset: 0x0004ED5C
[Token(Token = "0x600233B")]
[Address(RVA = "0xA69000", Offset = "0xA67E00", VA = "0x180A69000")]
private void SetEffectorWeights(float w)
{
this.ik.solver.leftHandEffector.positionWeight = w;
this.ik.solver.rightHandEffector.positionWeight = w;
this.ik.solver.leftFootEffector.positionWeight = w;
this.ik.solver.rightFootEffector.positionWeight = w;
}
// Token: 0x0600233C RID: 9020 RVA: 0x00050BC8 File Offset: 0x0004EDC8
[Token(Token = "0x600233C")]
[Address(RVA = "0xA697C0", Offset = "0xA685C0", VA = "0x180A697C0")]
public ExplosionDemo()
{
float z = Vector3.one.z;
this.defaultScale.z = z;
base..ctor();
}
// Token: 0x04002C93 RID: 11411
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002C93")]
public SimpleLocomotion character;
// Token: 0x04002C94 RID: 11412
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002C94")]
public float forceMlp = 1f;
// Token: 0x04002C95 RID: 11413
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x4002C95")]
public float upForce = 1f;
// Token: 0x04002C96 RID: 11414
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002C96")]
public float weightFalloffSpeed = 1f;
// Token: 0x04002C97 RID: 11415
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002C97")]
public AnimationCurve weightFalloff;
// Token: 0x04002C98 RID: 11416
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002C98")]
public AnimationCurve explosionForceByDistance;
// Token: 0x04002C99 RID: 11417
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002C99")]
public AnimationCurve scale;
// Token: 0x04002C9A RID: 11418
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002C9A")]
private float weight;
// Token: 0x04002C9B RID: 11419
[FieldOffset(Offset = "0x4C")]
[Token(Token = "0x4002C9B")]
private Vector3 defaultScale;
// Token: 0x04002C9C RID: 11420
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4002C9C")]
private Rigidbody r;
// Token: 0x04002C9D RID: 11421
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4002C9D")]
private FullBodyBipedIK ik;
}
}

View File

@@ -0,0 +1,153 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003B8 RID: 952
[Token(Token = "0x20003B8")]
public class FBBIKSettings : MonoBehaviour
{
// Token: 0x0600233D RID: 9021 RVA: 0x00050C14 File Offset: 0x0004EE14
[Token(Token = "0x600233D")]
[Address(RVA = "0x4B7980", Offset = "0x4B6780", VA = "0x1804B7980")]
public void UpdateSettings()
{
FullBodyBipedIK fullBodyBipedIK = this.ik;
int num = 0;
if (!(fullBodyBipedIK == num))
{
FullBodyBipedIK fullBodyBipedIK2 = this.ik;
FBBIKSettings.Limb limb = this.leftArm;
IKSolverFullBodyBiped solver = fullBodyBipedIK2.solver;
int num2 = 0;
limb.Apply((FullBodyBipedChain)num2, solver);
FullBodyBipedIK fullBodyBipedIK3 = this.ik;
FBBIKSettings.Limb limb2 = this.rightArm;
IKSolverFullBodyBiped solver2 = fullBodyBipedIK3.solver;
limb2.Apply(FullBodyBipedChain.RightArm, solver2);
FullBodyBipedIK fullBodyBipedIK4 = this.ik;
FBBIKSettings.Limb limb3 = this.leftLeg;
IKSolverFullBodyBiped solver3 = fullBodyBipedIK4.solver;
limb3.Apply(FullBodyBipedChain.LeftLeg, solver3);
FullBodyBipedIK fullBodyBipedIK5 = this.ik;
FBBIKSettings.Limb limb4 = this.rightLeg;
IKSolverFullBodyBiped solver4 = fullBodyBipedIK5.solver;
limb4.Apply(FullBodyBipedChain.RightLeg, solver4);
FBIKChain fbikchain = this.ik.solver.chain[0];
float num3 = this.rootPin;
fbikchain.pin = num3;
IKEffector bodyEffector = this.ik.solver.bodyEffector;
bool flag = this.bodyEffectChildNodes;
bodyEffector.effectChildNodes = flag;
}
}
// Token: 0x0600233E RID: 9022 RVA: 0x00050D18 File Offset: 0x0004EF18
[Token(Token = "0x600233E")]
[Address(RVA = "0x4B78F0", Offset = "0x4B66F0", VA = "0x1804B78F0")]
private void Start()
{
Debug.Log("FBBIKSettings is deprecated, you can now edit all the settings from the custom inspector of the FullBodyBipedIK component.");
this.UpdateSettings();
if (this.disableAfterStart)
{
int num = 0;
base.enabled = num != 0;
return;
}
}
// Token: 0x0600233F RID: 9023 RVA: 0x00050D48 File Offset: 0x0004EF48
[Token(Token = "0x600233F")]
[Address(RVA = "0x4B7B00", Offset = "0x4B6900", VA = "0x1804B7B00")]
private void Update()
{
this.UpdateSettings();
}
// Token: 0x06002340 RID: 9024 RVA: 0x00050D5C File Offset: 0x0004EF5C
[Token(Token = "0x6002340")]
[Address(RVA = "0x4B7B10", Offset = "0x4B6910", VA = "0x1804B7B10")]
public FBBIKSettings()
{
}
// Token: 0x04002C9E RID: 11422
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002C9E")]
public FullBodyBipedIK ik;
// Token: 0x04002C9F RID: 11423
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002C9F")]
public bool disableAfterStart;
// Token: 0x04002CA0 RID: 11424
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002CA0")]
public FBBIKSettings.Limb leftArm;
// Token: 0x04002CA1 RID: 11425
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002CA1")]
public FBBIKSettings.Limb rightArm;
// Token: 0x04002CA2 RID: 11426
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002CA2")]
public FBBIKSettings.Limb leftLeg;
// Token: 0x04002CA3 RID: 11427
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002CA3")]
public FBBIKSettings.Limb rightLeg;
// Token: 0x04002CA4 RID: 11428
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002CA4")]
public float rootPin;
// Token: 0x04002CA5 RID: 11429
[FieldOffset(Offset = "0x4C")]
[Token(Token = "0x4002CA5")]
public bool bodyEffectChildNodes = true;
// Token: 0x020003B9 RID: 953
[Token(Token = "0x20003B9")]
[Serializable]
public class Limb
{
// Token: 0x06002341 RID: 9025 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002341")]
[Address(RVA = "0x5FC9A0", Offset = "0x5FB7A0", VA = "0x1805FC9A0")]
public void Apply(FullBodyBipedChain chain, IKSolverFullBodyBiped solver)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002342 RID: 9026 RVA: 0x00050D78 File Offset: 0x0004EF78
[Token(Token = "0x6002342")]
[Address(RVA = "0x5FCA20", Offset = "0x5FB820", VA = "0x1805FCA20")]
public Limb()
{
}
// Token: 0x04002CA6 RID: 11430
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4002CA6")]
public FBIKChain.Smoothing reachSmoothing;
// Token: 0x04002CA7 RID: 11431
[FieldOffset(Offset = "0x14")]
[Token(Token = "0x4002CA7")]
public float maintainRelativePositionWeight;
// Token: 0x04002CA8 RID: 11432
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002CA8")]
public float mappingWeight = 1f;
}
}
}

View File

@@ -0,0 +1,64 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003BA RID: 954
[Token(Token = "0x20003BA")]
public class FBIKBendGoal : MonoBehaviour
{
// Token: 0x06002343 RID: 9027 RVA: 0x00050D98 File Offset: 0x0004EF98
[Token(Token = "0x6002343")]
[Address(RVA = "0x4B7B20", Offset = "0x4B6920", VA = "0x1804B7B20")]
private void Start()
{
Debug.Log("FBIKBendGoal is deprecated, you can now a bend goal from the custom inspector of the FullBodyBipedIK component.");
}
// Token: 0x06002344 RID: 9028 RVA: 0x00050DB0 File Offset: 0x0004EFB0
[Token(Token = "0x6002344")]
[Address(RVA = "0x4B7B80", Offset = "0x4B6980", VA = "0x1804B7B80")]
private void Update()
{
FullBodyBipedIK fullBodyBipedIK = this.ik;
int num = 0;
if (!(fullBodyBipedIK == num))
{
IKSolverFullBodyBiped solver = this.ik.solver;
FullBodyBipedChain fullBodyBipedChain = this.chain;
IKConstraintBend bendConstraint = solver.GetBendConstraint(fullBodyBipedChain);
Transform transform = base.transform;
bendConstraint.bendGoal = transform;
IKSolverFullBodyBiped solver2 = this.ik.solver;
FullBodyBipedChain fullBodyBipedChain2 = this.chain;
IKConstraintBend bendConstraint2 = solver2.GetBendConstraint(fullBodyBipedChain2);
float num2 = this.weight;
bendConstraint2.weight = num2;
}
}
// Token: 0x06002345 RID: 9029 RVA: 0x00050E34 File Offset: 0x0004F034
[Token(Token = "0x6002345")]
[Address(RVA = "0x3088F0", Offset = "0x3076F0", VA = "0x1803088F0")]
public FBIKBendGoal()
{
}
// Token: 0x04002CA9 RID: 11433
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002CA9")]
public FullBodyBipedIK ik;
// Token: 0x04002CAA RID: 11434
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002CAA")]
public FullBodyBipedChain chain;
// Token: 0x04002CAB RID: 11435
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x4002CAB")]
public float weight;
}
}

View File

@@ -0,0 +1,96 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003BB RID: 955
[Token(Token = "0x20003BB")]
public class FBIKBoxing : MonoBehaviour
{
// Token: 0x06002346 RID: 9030 RVA: 0x00050E48 File Offset: 0x0004F048
[Token(Token = "0x6002346")]
[Address(RVA = "0x4B7E70", Offset = "0x4B6C70", VA = "0x1804B7E70")]
private void Start()
{
/*
An exception occurred when decompiling this method (06002346)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void RootMotion.Demos.FBIKBoxing::Start()
---> System.Exception: Basic block has to end with unconditional control flow.
{; Block_0:; stloc:Animator(var_0_06, call:Animator(Component::GetComponent, ldloc:FBIKBoxing[exp:Component](this))); stfld:Animator(FBIKBoxing::animator, ldloc:FBIKBoxing(this), ldloc:Animator(var_0_06)); };
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: 0x06002347 RID: 9031 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002347")]
[Address(RVA = "0x4B7C60", Offset = "0x4B6A60", VA = "0x1804B7C60")]
private void LateUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002348 RID: 9032 RVA: 0x00050E64 File Offset: 0x0004F064
[Token(Token = "0x6002348")]
[Address(RVA = "0x3088F0", Offset = "0x3076F0", VA = "0x1803088F0")]
public FBIKBoxing()
{
}
// Token: 0x04002CAC RID: 11436
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002CAC")]
[Tooltip("The target we want to hit")]
public Transform target;
// Token: 0x04002CAD RID: 11437
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002CAD")]
[Tooltip("The pin Transform is used to reference the exact hit point in the animation (used by AimIK to aim the upper body to follow the target).In Legacy and Generic modes you can just create and position a reference point in your animating software and include it in the FBX. Then in Unity if you added a GameObject with the exact same name under the character's root, it would be animated to the required position.In Humanoid mode however, Mecanim loses track of any Transform that does not belong to the avatar, so in this case the pin point has to be manually set inside the Unity Editor.")]
public Transform pin;
// Token: 0x04002CAE RID: 11438
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002CAE")]
[Tooltip("The Full Body Biped IK component")]
public FullBodyBipedIK ik;
// Token: 0x04002CAF RID: 11439
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002CAF")]
[Tooltip("The Aim IK component. Aim IK is ust used for following the target slightly with the body.")]
public AimIK aim;
// Token: 0x04002CB0 RID: 11440
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002CB0")]
[Tooltip("The master weight")]
public float weight;
// Token: 0x04002CB1 RID: 11441
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x4002CB1")]
[Tooltip("The effector type of the punching hand")]
public FullBodyBipedEffector effector;
// Token: 0x04002CB2 RID: 11442
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002CB2")]
[Tooltip("Weight of aiming the body to follow the target")]
public AnimationCurve aimWeight;
// Token: 0x04002CB3 RID: 11443
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002CB3")]
private Animator animator;
}
}

View File

@@ -0,0 +1,93 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003BC RID: 956
[Token(Token = "0x20003BC")]
public class FBIKHandsOnProp : MonoBehaviour
{
// Token: 0x06002349 RID: 9033 RVA: 0x00050E78 File Offset: 0x0004F078
[Token(Token = "0x6002349")]
[Address(RVA = "0x4BB7F0", Offset = "0x4BA5F0", VA = "0x1804BB7F0")]
private void Awake()
{
IKSolverFullBodyBiped solver = this.ik.solver;
IKSolver.UpdateDelegate onPreRead = solver.OnPreRead;
IKSolver.UpdateDelegate updateDelegate = new IKSolver.UpdateDelegate(this.OnPreRead);
Delegate @delegate = Delegate.Combine(onPreRead, updateDelegate);
int num = 0;
if (@delegate == 0 || @delegate != 0)
{
solver.OnPreRead = num;
throw new NullReferenceException();
}
throw new InvalidCastException();
}
// Token: 0x0600234A RID: 9034 RVA: 0x00050ECC File Offset: 0x0004F0CC
[Token(Token = "0x600234A")]
[Address(RVA = "0x4BC0E0", Offset = "0x4BAEE0", VA = "0x1804BC0E0")]
private void OnPreRead()
{
FullBodyBipedIK fullBodyBipedIK = this.ik;
if (!this.leftHanded)
{
IKEffector rightHandEffector = fullBodyBipedIK.solver.rightHandEffector;
IKEffector leftHandEffector = this.ik.solver.leftHandEffector;
}
IKEffector leftHandEffector2 = fullBodyBipedIK.solver.leftHandEffector;
IKEffector rightHandEffector2 = this.ik.solver.rightHandEffector;
this.HandsOnProp(leftHandEffector2, rightHandEffector2);
}
// Token: 0x0600234B RID: 9035 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600234B")]
[Address(RVA = "0x4BB8E0", Offset = "0x4BA6E0", VA = "0x1804BB8E0")]
private void HandsOnProp(IKEffector mainHand, IKEffector otherHand)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600234C RID: 9036 RVA: 0x00050F34 File Offset: 0x0004F134
[Token(Token = "0x600234C")]
[Address(RVA = "0x4BBFB0", Offset = "0x4BADB0", VA = "0x1804BBFB0")]
private void OnDestroy()
{
FullBodyBipedIK fullBodyBipedIK = this.ik;
int num = 0;
if (fullBodyBipedIK != num)
{
IKSolverFullBodyBiped solver = this.ik.solver;
IKSolver.UpdateDelegate onPreRead = solver.OnPreRead;
IKSolver.UpdateDelegate updateDelegate = new IKSolver.UpdateDelegate(this.OnPreRead);
Delegate @delegate = Delegate.Remove(onPreRead, updateDelegate);
int num2 = 0;
if (@delegate != 0 && @delegate == 0)
{
throw new InvalidCastException();
}
solver.OnPreRead = num2;
}
}
// Token: 0x0600234D RID: 9037 RVA: 0x00050FA0 File Offset: 0x0004F1A0
[Token(Token = "0x600234D")]
[Address(RVA = "0x3088F0", Offset = "0x3076F0", VA = "0x1803088F0")]
public FBIKHandsOnProp()
{
}
// Token: 0x04002CB4 RID: 11444
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002CB4")]
public FullBodyBipedIK ik;
// Token: 0x04002CB5 RID: 11445
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002CB5")]
public bool leftHanded;
}
}

View File

@@ -0,0 +1,159 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003BD RID: 957
[Token(Token = "0x20003BD")]
public class FPSAiming : MonoBehaviour
{
// Token: 0x0600234E RID: 9038 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600234E")]
[Address(RVA = "0x4BE8F0", Offset = "0x4BD6F0", VA = "0x1804BE8F0")]
private void Start()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600234F RID: 9039 RVA: 0x00050FB4 File Offset: 0x0004F1B4
[Token(Token = "0x600234F")]
[Address(RVA = "0x4BD8A0", Offset = "0x4BC6A0", VA = "0x1804BD8A0")]
private void FixedUpdate()
{
this.updateFrame = true;
}
// Token: 0x06002350 RID: 9040 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002350")]
[Address(RVA = "0x4BD8B0", Offset = "0x4BC6B0", VA = "0x1804BD8B0")]
private void LateUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002351 RID: 9041 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002351")]
[Address(RVA = "0x4BD6E0", Offset = "0x4BC4E0", VA = "0x1804BD6E0")]
private void Aiming()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002352 RID: 9042 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002352")]
[Address(RVA = "0x4BD9D0", Offset = "0x4BC7D0", VA = "0x1804BD9D0")]
private void LookDownTheSight()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002353 RID: 9043 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002353")]
[Address(RVA = "0x4BE670", Offset = "0x4BD470", VA = "0x1804BE670")]
private void RotateCharacter()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002354 RID: 9044 RVA: 0x00050FC8 File Offset: 0x0004F1C8
[Token(Token = "0x6002354")]
[Address(RVA = "0x4BEA90", Offset = "0x4BD890", VA = "0x1804BEA90")]
public FPSAiming()
{
}
// Token: 0x04002CB6 RID: 11446
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002CB6")]
[Range(0f, 1f)]
public float aimWeight = 1f;
// Token: 0x04002CB7 RID: 11447
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x4002CB7")]
[Range(0f, 1f)]
public float sightWeight = 1f;
// Token: 0x04002CB8 RID: 11448
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002CB8")]
[Range(0f, 180f)]
public float maxAngle = 80f;
// Token: 0x04002CB9 RID: 11449
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x4002CB9")]
[SerializeField]
private bool animatePhysics;
// Token: 0x04002CBA RID: 11450
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002CBA")]
[SerializeField]
private Transform gun;
// Token: 0x04002CBB RID: 11451
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002CBB")]
[SerializeField]
private Transform gunTarget;
// Token: 0x04002CBC RID: 11452
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002CBC")]
[SerializeField]
private FullBodyBipedIK ik;
// Token: 0x04002CBD RID: 11453
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002CBD")]
[SerializeField]
private AimIK gunAim;
// Token: 0x04002CBE RID: 11454
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002CBE")]
[SerializeField]
private CameraControllerFPS cam;
// Token: 0x04002CBF RID: 11455
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4002CBF")]
[SerializeField]
private Recoil recoil;
// Token: 0x04002CC0 RID: 11456
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4002CC0")]
[SerializeField]
[Range(0f, 1f)]
private float cameraRecoilWeight = 0.5f;
// Token: 0x04002CC1 RID: 11457
[FieldOffset(Offset = "0x5C")]
[Token(Token = "0x4002CC1")]
private Vector3 gunTargetDefaultLocalPosition;
// Token: 0x04002CC2 RID: 11458
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4002CC2")]
private Quaternion gunTargetDefaultLocalRotation;
// Token: 0x04002CC3 RID: 11459
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4002CC3")]
private Vector3 camDefaultLocalPosition;
// Token: 0x04002CC4 RID: 11460
[FieldOffset(Offset = "0x84")]
[Token(Token = "0x4002CC4")]
private Vector3 camRelativeToGunTarget;
// Token: 0x04002CC5 RID: 11461
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x4002CC5")]
private bool updateFrame;
}
}

View File

@@ -0,0 +1,79 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003BE RID: 958
[Token(Token = "0x20003BE")]
[RequireComponent(typeof(Animator))]
[RequireComponent(typeof(FPSAiming))]
public class FPSCharacter : MonoBehaviour
{
// Token: 0x06002355 RID: 9045 RVA: 0x00051008 File Offset: 0x0004F208
[Token(Token = "0x6002355")]
[Address(RVA = "0x4BEB80", Offset = "0x4BD980", VA = "0x1804BEB80")]
private void Start()
{
/*
An exception occurred when decompiling this method (06002355)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void RootMotion.Demos.FPSCharacter::Start()
---> System.Exception: Basic block has to end with unconditional control flow.
{; Block_0:; stloc:Animator(var_0_06, call:Animator(Component::GetComponent, ldloc:FPSCharacter[exp:Component](this))); stfld:Animator(FPSCharacter::animator, ldloc:FPSCharacter(this), ldloc:Animator(var_0_06)); stloc:FPSAiming(var_1_14, call:FPSAiming(Component::GetComponent, ldloc:FPSCharacter[exp:Component](this))); stfld:FPSAiming(FPSCharacter::FPSAiming, ldloc:FPSCharacter(this), ldloc:FPSAiming(var_1_14)); };
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: 0x06002356 RID: 9046 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002356")]
[Address(RVA = "0x4BEC00", Offset = "0x4BDA00", VA = "0x1804BEC00")]
private void Update()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002357 RID: 9047 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002357")]
[Address(RVA = "0x4BEAC0", Offset = "0x4BD8C0", VA = "0x1804BEAC0")]
private void OnGUI()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002358 RID: 9048 RVA: 0x00051030 File Offset: 0x0004F230
[Token(Token = "0x6002358")]
[Address(RVA = "0x4BECF0", Offset = "0x4BDAF0", VA = "0x1804BECF0")]
public FPSCharacter()
{
}
// Token: 0x04002CC6 RID: 11462
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002CC6")]
[Range(0f, 1f)]
public float walkSpeed = 0.5f;
// Token: 0x04002CC7 RID: 11463
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x4002CC7")]
private float sVel;
// Token: 0x04002CC8 RID: 11464
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002CC8")]
private Animator animator;
// Token: 0x04002CC9 RID: 11465
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002CC9")]
private FPSAiming FPSAiming;
}
}

View File

@@ -0,0 +1,48 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003DB RID: 987
[Token(Token = "0x20003DB")]
public class GrounderDemo : MonoBehaviour
{
// Token: 0x060023C6 RID: 9158 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023C6")]
[Address(RVA = "0x1174DC0", Offset = "0x1173BC0", VA = "0x181174DC0")]
private void OnGUI()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023C7 RID: 9159 RVA: 0x00051C6C File Offset: 0x0004FE6C
[Token(Token = "0x60023C7")]
[Address(RVA = "0x1174D30", Offset = "0x1173B30", VA = "0x181174D30")]
public void Activate(int index)
{
GameObject[] array = this.characters;
int num = 0;
if (num < array.Length)
{
GameObject gameObject = array[num];
bool flag = num == index;
gameObject.SetActive(flag);
GameObject[] array2 = this.characters;
num++;
}
}
// Token: 0x060023C8 RID: 9160 RVA: 0x00051CB4 File Offset: 0x0004FEB4
[Token(Token = "0x60023C8")]
[Address(RVA = "0x3088F0", Offset = "0x3076F0", VA = "0x1803088F0")]
public GrounderDemo()
{
}
// Token: 0x04002D5A RID: 11610
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002D5A")]
public GameObject[] characters;
}
}

View File

@@ -0,0 +1,52 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003BF RID: 959
[Token(Token = "0x20003BF")]
public class HitReactionTrigger : MonoBehaviour
{
// Token: 0x06002359 RID: 9049 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002359")]
[Address(RVA = "0x117E000", Offset = "0x117CE00", VA = "0x18117E000")]
private void Update()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600235A RID: 9050 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600235A")]
[Address(RVA = "0x117DF30", Offset = "0x117CD30", VA = "0x18117DF30")]
private void OnGUI()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600235B RID: 9051 RVA: 0x00051050 File Offset: 0x0004F250
[Token(Token = "0x600235B")]
[Address(RVA = "0x8D4180", Offset = "0x8D2F80", VA = "0x1808D4180")]
public HitReactionTrigger()
{
}
// Token: 0x04002CCA RID: 11466
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002CCA")]
[SerializeField]
private HitReaction hitReaction;
// Token: 0x04002CCB RID: 11467
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002CCB")]
[SerializeField]
private float hitForce = 1f;
// Token: 0x04002CCC RID: 11468
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002CCC")]
private string colliderName;
}
}

View File

@@ -0,0 +1,75 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003C0 RID: 960
[Token(Token = "0x20003C0")]
public class HoldingHands : MonoBehaviour
{
// Token: 0x0600235C RID: 9052 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600235C")]
[Address(RVA = "0x117EE50", Offset = "0x117DC50", VA = "0x18117EE50")]
private void Start()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600235D RID: 9053 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600235D")]
[Address(RVA = "0x117E9E0", Offset = "0x117D7E0", VA = "0x18117E9E0")]
private void LateUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600235E RID: 9054 RVA: 0x00051070 File Offset: 0x0004F270
[Token(Token = "0x600235E")]
[Address(RVA = "0x117EFD0", Offset = "0x117DDD0", VA = "0x18117EFD0")]
public HoldingHands()
{
}
// Token: 0x04002CCD RID: 11469
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002CCD")]
public FullBodyBipedIK rightHandChar;
// Token: 0x04002CCE RID: 11470
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002CCE")]
public FullBodyBipedIK leftHandChar;
// Token: 0x04002CCF RID: 11471
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002CCF")]
public Transform rightHandTarget;
// Token: 0x04002CD0 RID: 11472
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002CD0")]
public Transform leftHandTarget;
// Token: 0x04002CD1 RID: 11473
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002CD1")]
public float crossFade;
// Token: 0x04002CD2 RID: 11474
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x4002CD2")]
public float speed = 10f;
// Token: 0x04002CD3 RID: 11475
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002CD3")]
private Quaternion rightHandRotation;
// Token: 0x04002CD4 RID: 11476
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4002CD4")]
private Quaternion leftHandRotation;
}
}

View File

@@ -0,0 +1,50 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003C1 RID: 961
[Token(Token = "0x20003C1")]
public class InteractionC2CDemo : MonoBehaviour
{
// Token: 0x0600235F RID: 9055 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600235F")]
[Address(RVA = "0x10D3430", Offset = "0x10D2230", VA = "0x1810D3430")]
private void OnGUI()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002360 RID: 9056 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002360")]
[Address(RVA = "0x10D32A0", Offset = "0x10D20A0", VA = "0x1810D32A0")]
private void LateUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002361 RID: 9057 RVA: 0x00051090 File Offset: 0x0004F290
[Token(Token = "0x6002361")]
[Address(RVA = "0x3088F0", Offset = "0x3076F0", VA = "0x1803088F0")]
public InteractionC2CDemo()
{
}
// Token: 0x04002CD5 RID: 11477
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002CD5")]
public InteractionSystem character1;
// Token: 0x04002CD6 RID: 11478
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002CD6")]
public InteractionSystem character2;
// Token: 0x04002CD7 RID: 11479
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002CD7")]
public InteractionObject handShake;
}
}

View File

@@ -0,0 +1,72 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003C2 RID: 962
[Token(Token = "0x20003C2")]
public class InteractionDemo : MonoBehaviour
{
// Token: 0x06002362 RID: 9058 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002362")]
[Address(RVA = "0x10D34E0", Offset = "0x10D22E0", VA = "0x1810D34E0")]
private void OnGUI()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002363 RID: 9059 RVA: 0x000510A4 File Offset: 0x0004F2A4
[Token(Token = "0x6002363")]
[Address(RVA = "0x3088F0", Offset = "0x3076F0", VA = "0x1803088F0")]
public InteractionDemo()
{
}
// Token: 0x04002CD8 RID: 11480
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002CD8")]
public InteractionSystem interactionSystem;
// Token: 0x04002CD9 RID: 11481
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002CD9")]
public bool interrupt;
// Token: 0x04002CDA RID: 11482
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002CDA")]
public InteractionObject ball;
// Token: 0x04002CDB RID: 11483
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002CDB")]
public InteractionObject benchMain;
// Token: 0x04002CDC RID: 11484
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002CDC")]
public InteractionObject benchHands;
// Token: 0x04002CDD RID: 11485
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002CDD")]
public InteractionObject button;
// Token: 0x04002CDE RID: 11486
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002CDE")]
public InteractionObject cigarette;
// Token: 0x04002CDF RID: 11487
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4002CDF")]
public InteractionObject door;
// Token: 0x04002CE0 RID: 11488
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4002CE0")]
private bool isSitting;
}
}

View File

@@ -0,0 +1,69 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003C3 RID: 963
[Token(Token = "0x20003C3")]
[RequireComponent(typeof(InteractionSystem))]
public class InteractionSystemTestGUI : MonoBehaviour
{
// Token: 0x06002364 RID: 9060 RVA: 0x000510B8 File Offset: 0x0004F2B8
[Token(Token = "0x6002364")]
[Address(RVA = "0x10D7AC0", Offset = "0x10D68C0", VA = "0x1810D7AC0")]
private void Awake()
{
/*
An exception occurred when decompiling this method (06002364)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void RootMotion.Demos.InteractionSystemTestGUI::Awake()
---> System.Exception: Basic block has to end with unconditional control flow.
{; Block_0:; stloc:InteractionSystem(var_0_06, call:InteractionSystem(Component::GetComponent, ldloc:InteractionSystemTestGUI[exp:Component](this))); stfld:InteractionSystem(InteractionSystemTestGUI::interactionSystem, ldloc:InteractionSystemTestGUI(this), ldloc:InteractionSystem(var_0_06)); };
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: 0x06002365 RID: 9061 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002365")]
[Address(RVA = "0x10D7B10", Offset = "0x10D6910", VA = "0x1810D7B10")]
private void OnGUI()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002366 RID: 9062 RVA: 0x000510D4 File Offset: 0x0004F2D4
[Token(Token = "0x6002366")]
[Address(RVA = "0x3088F0", Offset = "0x3076F0", VA = "0x1803088F0")]
public InteractionSystemTestGUI()
{
}
// Token: 0x04002CE1 RID: 11489
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002CE1")]
[SerializeField]
[Tooltip("The object to interact to")]
private InteractionObject interactionObject;
// Token: 0x04002CE2 RID: 11490
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002CE2")]
[SerializeField]
[Tooltip("The effectors to interact with")]
private FullBodyBipedEffector[] effectors;
// Token: 0x04002CE3 RID: 11491
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002CE3")]
private InteractionSystem interactionSystem;
}
}

View File

@@ -0,0 +1,175 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003C4 RID: 964
[Token(Token = "0x20003C4")]
public class KissingRig : MonoBehaviour
{
// Token: 0x06002367 RID: 9063 RVA: 0x000510E8 File Offset: 0x0004F2E8
[Token(Token = "0x6002367")]
[Address(RVA = "0x10E29B0", Offset = "0x10E17B0", VA = "0x1810E29B0")]
private void Start()
{
this.partner1.Initiate();
this.partner2.Initiate();
}
// Token: 0x06002368 RID: 9064 RVA: 0x00051114 File Offset: 0x0004F314
[Token(Token = "0x6002368")]
[Address(RVA = "0x10E2950", Offset = "0x10E1750", VA = "0x1810E2950")]
private void LateUpdate()
{
int num = 0;
if (this.iterations > num)
{
KissingRig.Partner partner = this.partner1;
float num2 = this.weight;
partner.Update(num2);
KissingRig.Partner partner2 = this.partner2;
float num3 = this.weight;
partner2.Update(num3);
num++;
}
}
// Token: 0x06002369 RID: 9065 RVA: 0x00051164 File Offset: 0x0004F364
[Token(Token = "0x6002369")]
[Address(RVA = "0x10E29F0", Offset = "0x10E17F0", VA = "0x1810E29F0")]
public KissingRig()
{
}
// Token: 0x04002CE4 RID: 11492
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002CE4")]
public KissingRig.Partner partner1;
// Token: 0x04002CE5 RID: 11493
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002CE5")]
public KissingRig.Partner partner2;
// Token: 0x04002CE6 RID: 11494
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002CE6")]
public float weight;
// Token: 0x04002CE7 RID: 11495
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x4002CE7")]
public int iterations = (int)((ulong)3L);
// Token: 0x020003C5 RID: 965
[Token(Token = "0x20003C5")]
[Serializable]
public class Partner
{
// Token: 0x0600236A RID: 9066 RVA: 0x00051180 File Offset: 0x0004F380
[Token(Token = "0x600236A")]
[Address(RVA = "0xA6AE50", Offset = "0xA69C50", VA = "0x180A6AE50")]
public void Initiate()
{
FullBodyBipedIK fullBodyBipedIK = this.ik;
int num = 0;
fullBodyBipedIK.enabled = num != 0;
}
// Token: 0x0600236B RID: 9067 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600236B")]
[Address(RVA = "0x14F1C40", Offset = "0x14F0A40", VA = "0x1814F1C40")]
public void Update(float weight)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x170001FD RID: 509
// (get) Token: 0x0600236C RID: 9068 RVA: 0x000511A4 File Offset: 0x0004F3A4
[Token(Token = "0x170001FD")]
private Transform neck
{
[Token(Token = "0x600236C")]
[Address(RVA = "0x14F2580", Offset = "0x14F1380", VA = "0x1814F2580")]
get
{
Transform[] spineBones = this.ik.solver.spineMapping.spineBones;
int num = spineBones.Length - 1;
return spineBones[num];
}
}
// Token: 0x0600236D RID: 9069 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600236D")]
[Address(RVA = "0x14F19E0", Offset = "0x14F07E0", VA = "0x1814F19E0")]
private void InverseTransformEffector(FullBodyBipedEffector effector, Transform target, Vector3 targetPosition, float weight)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600236E RID: 9070 RVA: 0x000511E0 File Offset: 0x0004F3E0
[Token(Token = "0x600236E")]
[Address(RVA = "0x14F2550", Offset = "0x14F1350", VA = "0x1814F2550")]
public Partner()
{
}
// Token: 0x04002CE8 RID: 11496
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4002CE8")]
public FullBodyBipedIK ik;
// Token: 0x04002CE9 RID: 11497
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002CE9")]
public Transform mouth;
// Token: 0x04002CEA RID: 11498
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002CEA")]
public Transform mouthTarget;
// Token: 0x04002CEB RID: 11499
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002CEB")]
public Transform touchTargetLeftHand;
// Token: 0x04002CEC RID: 11500
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002CEC")]
public Transform touchTargetRightHand;
// Token: 0x04002CED RID: 11501
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002CED")]
public float bodyWeightHorizontal = 0.4f;
// Token: 0x04002CEE RID: 11502
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x4002CEE")]
public float bodyWeightVertical = 1f;
// Token: 0x04002CEF RID: 11503
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002CEF")]
public float neckRotationWeight = 0.3f;
// Token: 0x04002CF0 RID: 11504
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x4002CF0")]
public float headTiltAngle = 10f;
// Token: 0x04002CF1 RID: 11505
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002CF1")]
public Vector3 headTiltAxis;
// Token: 0x04002CF2 RID: 11506
[FieldOffset(Offset = "0x54")]
[Token(Token = "0x4002CF2")]
private Quaternion neckRotation;
}
}
}

View File

@@ -0,0 +1,127 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003AA RID: 938
[Token(Token = "0x20003AA")]
public class MechSpider : MonoBehaviour
{
// Token: 0x06002304 RID: 8964 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002304")]
[Address(RVA = "0x403690", Offset = "0x402490", VA = "0x180403690")]
private void Update()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002305 RID: 8965 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002305")]
[Address(RVA = "0x403170", Offset = "0x401F70", VA = "0x180403170")]
private Vector3 GetLegCentroid()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002306 RID: 8966 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002306")]
[Address(RVA = "0x4032F0", Offset = "0x4020F0", VA = "0x1804032F0")]
private Vector3 GetLegsPlaneNormal()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002307 RID: 8967 RVA: 0x00050730 File Offset: 0x0004E930
[Token(Token = "0x6002307")]
[Address(RVA = "0x403FD0", Offset = "0x402DD0", VA = "0x180403FD0")]
public MechSpider()
{
}
// Token: 0x04002C39 RID: 11321
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002C39")]
public LayerMask raycastLayers;
// Token: 0x04002C3A RID: 11322
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x4002C3A")]
public float scale = 1f;
// Token: 0x04002C3B RID: 11323
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002C3B")]
public Transform body;
// Token: 0x04002C3C RID: 11324
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002C3C")]
public MechSpiderLeg[] legs;
// Token: 0x04002C3D RID: 11325
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002C3D")]
public float legRotationWeight = 1f;
// Token: 0x04002C3E RID: 11326
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x4002C3E")]
public float rootPositionSpeed = 5f;
// Token: 0x04002C3F RID: 11327
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002C3F")]
public float rootRotationSpeed = 30f;
// Token: 0x04002C40 RID: 11328
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x4002C40")]
public float breatheSpeed = 2f;
// Token: 0x04002C41 RID: 11329
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002C41")]
public float breatheMagnitude = 0.2f;
// Token: 0x04002C42 RID: 11330
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x4002C42")]
public float height = 3.5f;
// Token: 0x04002C43 RID: 11331
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002C43")]
public float minHeight = 2f;
// Token: 0x04002C44 RID: 11332
[FieldOffset(Offset = "0x4C")]
[Token(Token = "0x4002C44")]
public float raycastHeight = 10f;
// Token: 0x04002C45 RID: 11333
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4002C45")]
public float raycastDistance = 5f;
// Token: 0x04002C46 RID: 11334
[FieldOffset(Offset = "0x54")]
[Token(Token = "0x4002C46")]
private Vector3 lastPosition;
// Token: 0x04002C47 RID: 11335
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4002C47")]
private Vector3 defaultBodyLocalPosition;
// Token: 0x04002C48 RID: 11336
[FieldOffset(Offset = "0x6C")]
[Token(Token = "0x4002C48")]
private float sine;
// Token: 0x04002C49 RID: 11337
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4002C49")]
private RaycastHit rootHit;
}
}

View File

@@ -0,0 +1,59 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003AB RID: 939
[Token(Token = "0x20003AB")]
public class MechSpiderController : MonoBehaviour
{
// Token: 0x170001F6 RID: 502
// (get) Token: 0x06002308 RID: 8968 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x170001F6")]
public Vector3 inputVector
{
[Token(Token = "0x6002308")]
[Address(RVA = "0x402040", Offset = "0x400E40", VA = "0x180402040")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x06002309 RID: 8969 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002309")]
[Address(RVA = "0x401D40", Offset = "0x400B40", VA = "0x180401D40")]
private void Update()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600230A RID: 8970 RVA: 0x000507B4 File Offset: 0x0004E9B4
[Token(Token = "0x600230A")]
[Address(RVA = "0x402020", Offset = "0x400E20", VA = "0x180402020")]
public MechSpiderController()
{
}
// Token: 0x04002C4A RID: 11338
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002C4A")]
public MechSpider mechSpider;
// Token: 0x04002C4B RID: 11339
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002C4B")]
public Transform cameraTransform;
// Token: 0x04002C4C RID: 11340
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002C4C")]
public float speed = 6f;
// Token: 0x04002C4D RID: 11341
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x4002C4D")]
public float turnSpeed = 30f;
}
}

View File

@@ -0,0 +1,167 @@
using System;
using System.Collections;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003AC RID: 940
[Token(Token = "0x20003AC")]
public class MechSpiderLeg : MonoBehaviour
{
// Token: 0x170001F7 RID: 503
// (get) Token: 0x0600230B RID: 8971 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x170001F7")]
public bool isStepping
{
[Token(Token = "0x600230B")]
[Address(RVA = "0x402CC0", Offset = "0x401AC0", VA = "0x180402CC0")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x170001F8 RID: 504
// (get) Token: 0x0600230C RID: 8972 RVA: 0x000020D3 File Offset: 0x000002D3
// (set) Token: 0x0600230D RID: 8973 RVA: 0x000507E0 File Offset: 0x0004E9E0
[Token(Token = "0x170001F8")]
public Vector3 position
{
[Token(Token = "0x600230C")]
[Address(RVA = "0x402CD0", Offset = "0x401AD0", VA = "0x180402CD0")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
[Token(Token = "0x600230D")]
[Address(RVA = "0x402D30", Offset = "0x401B30", VA = "0x180402D30")]
set
{
IKSolver iksolver = this.ik.GetIKSolver();
float z = value.z;
iksolver.IKPosition.z = z;
}
}
// Token: 0x0600230E RID: 8974 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600230E")]
[Address(RVA = "0x4025B0", Offset = "0x4013B0", VA = "0x1804025B0")]
private void Start()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600230F RID: 8975 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600230F")]
[Address(RVA = "0x4020C0", Offset = "0x400EC0", VA = "0x1804020C0")]
private Vector3 GetStepTarget(out bool stepFound, float focus, float distance)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002310 RID: 8976 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002310")]
[Address(RVA = "0x402940", Offset = "0x401740", VA = "0x180402940")]
private void Update()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002311 RID: 8977 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002311")]
[Address(RVA = "0x402890", Offset = "0x401690", VA = "0x180402890")]
private IEnumerator Step(Vector3 stepStartPosition, Vector3 targetPosition)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002312 RID: 8978 RVA: 0x00050814 File Offset: 0x0004EA14
[Token(Token = "0x6002312")]
[Address(RVA = "0x402C80", Offset = "0x401A80", VA = "0x180402C80")]
public MechSpiderLeg()
{
}
// Token: 0x04002C4E RID: 11342
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002C4E")]
public MechSpider mechSpider;
// Token: 0x04002C4F RID: 11343
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002C4F")]
public MechSpiderLeg unSync;
// Token: 0x04002C50 RID: 11344
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002C50")]
public Vector3 offset;
// Token: 0x04002C51 RID: 11345
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x4002C51")]
public float minDelay = 0.2f;
// Token: 0x04002C52 RID: 11346
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002C52")]
public float maxOffset = 1f;
// Token: 0x04002C53 RID: 11347
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x4002C53")]
public float stepSpeed = 5f;
// Token: 0x04002C54 RID: 11348
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002C54")]
public float footHeight = 0.15f;
// Token: 0x04002C55 RID: 11349
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x4002C55")]
public float velocityPrediction = 0.2f;
// Token: 0x04002C56 RID: 11350
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002C56")]
public float raycastFocus = 0.1f;
// Token: 0x04002C57 RID: 11351
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4002C57")]
public AnimationCurve yOffset;
// Token: 0x04002C58 RID: 11352
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4002C58")]
public ParticleSystem sand;
// Token: 0x04002C59 RID: 11353
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4002C59")]
private IK ik;
// Token: 0x04002C5A RID: 11354
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4002C5A")]
private float stepProgress = 1f;
// Token: 0x04002C5B RID: 11355
[FieldOffset(Offset = "0x6C")]
[Token(Token = "0x4002C5B")]
private float lastStepTime;
// Token: 0x04002C5C RID: 11356
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4002C5C")]
private Vector3 defaultPosition;
// Token: 0x04002C5D RID: 11357
[FieldOffset(Offset = "0x7C")]
[Token(Token = "0x4002C5D")]
private RaycastHit hit;
}
}

View File

@@ -0,0 +1,51 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003AE RID: 942
[Token(Token = "0x20003AE")]
public class MechSpiderParticles : MonoBehaviour
{
// Token: 0x06002319 RID: 8985 RVA: 0x000508CC File Offset: 0x0004EACC
[Token(Token = "0x6002319")]
[Address(RVA = "0x402D80", Offset = "0x401B80", VA = "0x180402D80")]
private void Start()
{
Type typeFromHandle = typeof(ParticleSystem);
Component component = base.GetComponent(typeFromHandle);
int num = 0;
if (component == 0 || component != 0)
{
this.particles = num;
}
throw new InvalidCastException();
}
// Token: 0x0600231A RID: 8986 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600231A")]
[Address(RVA = "0x402E40", Offset = "0x401C40", VA = "0x180402E40")]
private void Update()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600231B RID: 8987 RVA: 0x00050904 File Offset: 0x0004EB04
[Token(Token = "0x600231B")]
[Address(RVA = "0x3088F0", Offset = "0x3076F0", VA = "0x1803088F0")]
public MechSpiderParticles()
{
}
// Token: 0x04002C63 RID: 11363
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002C63")]
public MechSpiderController mechSpiderController;
// Token: 0x04002C64 RID: 11364
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002C64")]
private ParticleSystem particles;
}
}

View File

@@ -0,0 +1,137 @@
using System;
using System.Collections;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003C6 RID: 966
[Token(Token = "0x20003C6")]
public class MotionAbsorb : MonoBehaviour
{
// Token: 0x0600236F RID: 9071 RVA: 0x00051220 File Offset: 0x0004F420
[Token(Token = "0x600236F")]
[Address(RVA = "0xBC8190", Offset = "0xBC6F90", VA = "0x180BC8190")]
private void OnCollisionEnter()
{
float num = this.timer;
int num2 = 0;
if (num <= (float)num2)
{
int num3;
MotionAbsorb.<AbsorbMotion>d__8 <AbsorbMotion>d__ = new MotionAbsorb.<AbsorbMotion>d__8(num3);
num3 = 0;
<AbsorbMotion>d__.<>4__this = this;
Coroutine coroutine = base.StartCoroutine(<AbsorbMotion>d__);
}
}
// Token: 0x06002370 RID: 9072 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002370")]
[Address(RVA = "0xBC8120", Offset = "0xBC6F20", VA = "0x180BC8120")]
private IEnumerator AbsorbMotion()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002371 RID: 9073 RVA: 0x0005125C File Offset: 0x0004F45C
[Token(Token = "0x6002371")]
[Address(RVA = "0xBC8220", Offset = "0xBC7020", VA = "0x180BC8220")]
public MotionAbsorb()
{
}
// Token: 0x04002CF3 RID: 11507
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002CF3")]
[Tooltip("Reference to the FBBIK component")]
public FullBodyBipedIK ik;
// Token: 0x04002CF4 RID: 11508
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002CF4")]
[Tooltip("Array containing the absorbers")]
public MotionAbsorb.Absorber[] absorbers;
// Token: 0x04002CF5 RID: 11509
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002CF5")]
[Tooltip("The master weight")]
public float weight = 1f;
// Token: 0x04002CF6 RID: 11510
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002CF6")]
[Tooltip("Weight falloff curve (how fast will the effect reduce after impact)")]
public AnimationCurve falloff;
// Token: 0x04002CF7 RID: 11511
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002CF7")]
[Tooltip("How fast will the impact fade away. (if 1, effect lasts for 1 second)")]
public float falloffSpeed = 1f;
// Token: 0x04002CF8 RID: 11512
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x4002CF8")]
private float timer;
// Token: 0x020003C7 RID: 967
[Token(Token = "0x20003C7")]
[Serializable]
public class Absorber
{
// Token: 0x06002372 RID: 9074 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002372")]
[Address(RVA = "0x69B660", Offset = "0x69A460", VA = "0x18069B660")]
public void SetToBone(IKSolverFullBodyBiped solver)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002373 RID: 9075 RVA: 0x00051288 File Offset: 0x0004F488
[Token(Token = "0x6002373")]
[Address(RVA = "0x69B5F0", Offset = "0x69A3F0", VA = "0x18069B5F0")]
public void SetEffectorWeights(IKSolverFullBodyBiped solver, float w)
{
/*
An exception occurred when decompiling this method (06002373)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void RootMotion.Demos.MotionAbsorb/Absorber::SetEffectorWeights(RootMotion.FinalIK.IKSolverFullBodyBiped,System.Single)
---> System.ArgumentOutOfRangeException: Non-negative number required. (Parameter 'length')
at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable)
at System.Array.Copy(Array sourceArray, Array destinationArray, Int32 length)
at ICSharpCode.Decompiler.ILAst.ILAstBuilder.StackSlot.ModifyStack(StackSlot[] stack, Int32 popCount, Int32 pushCount, ByteCode pushDefinition) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 51
at ICSharpCode.Decompiler.ILAst.ILAstBuilder.StackAnalysis(MethodDef methodDef) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 401
at ICSharpCode.Decompiler.ILAst.ILAstBuilder.Build(MethodDef methodDef, Boolean optimize, DecompilerContext context) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 276
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 112
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: 0x06002374 RID: 9076 RVA: 0x000512DC File Offset: 0x0004F4DC
[Token(Token = "0x6002374")]
[Address(RVA = "0x5FD950", Offset = "0x5FC750", VA = "0x1805FD950")]
public Absorber()
{
}
// Token: 0x04002CF9 RID: 11513
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4002CF9")]
[Tooltip("The type of effector (hand, foot, shoulder...) - this is just an enum")]
public FullBodyBipedEffector effector;
// Token: 0x04002CFA RID: 11514
[FieldOffset(Offset = "0x14")]
[Token(Token = "0x4002CFA")]
[Tooltip("How much should motion be absorbed on this effector")]
public float weight = 1f;
}
}
}

View File

@@ -0,0 +1,97 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003C9 RID: 969
[Token(Token = "0x20003C9")]
public class MotionAbsorbCharacter : MonoBehaviour
{
// Token: 0x0600237B RID: 9083 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600237B")]
[Address(RVA = "0xBC7E50", Offset = "0xBC6C50", VA = "0x180BC7E50")]
private void Start()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600237C RID: 9084 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600237C")]
[Address(RVA = "0xBC8050", Offset = "0xBC6E50", VA = "0x180BC8050")]
private void Update()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600237D RID: 9085 RVA: 0x00051354 File Offset: 0x0004F554
[Token(Token = "0x600237D")]
[Address(RVA = "0xBC7ED0", Offset = "0xBC6CD0", VA = "0x180BC7ED0")]
private void SwingStart()
{
Rigidbody rigidbody = this.cubeRigidbody;
int num = 0;
Vector3 insideUnitSphere = UnityEngine.Random.insideUnitSphere;
rigidbody.MovePosition(num);
Rigidbody rigidbody2 = this.cubeRigidbody;
int num2 = 0;
Quaternion identity = Quaternion.identity;
rigidbody2.MoveRotation(num2);
Rigidbody rigidbody3 = this.cubeRigidbody;
int num3 = 0;
Vector3 zero = Vector3.zero;
rigidbody3.velocity = num3;
Rigidbody rigidbody4 = this.cubeRigidbody;
int num4 = 0;
float z = Vector3.zero.z;
rigidbody4.angularVelocity = num4;
}
// Token: 0x0600237E RID: 9086 RVA: 0x000513D4 File Offset: 0x0004F5D4
[Token(Token = "0x600237E")]
[Address(RVA = "0xBC8110", Offset = "0xBC6F10", VA = "0x180BC8110")]
public MotionAbsorbCharacter()
{
}
// Token: 0x04002CFE RID: 11518
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002CFE")]
public Animator animator;
// Token: 0x04002CFF RID: 11519
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002CFF")]
public MotionAbsorb motionAbsorb;
// Token: 0x04002D00 RID: 11520
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002D00")]
public Transform cube;
// Token: 0x04002D01 RID: 11521
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002D01")]
public float cubeRandomPosition = 0.1f;
// Token: 0x04002D02 RID: 11522
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002D02")]
public AnimationCurve motionAbsorbWeight;
// Token: 0x04002D03 RID: 11523
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002D03")]
private Vector3 cubeDefaultPosition;
// Token: 0x04002D04 RID: 11524
[FieldOffset(Offset = "0x4C")]
[Token(Token = "0x4002D04")]
private AnimatorStateInfo info;
// Token: 0x04002D05 RID: 11525
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4002D05")]
private Rigidbody cubeRigidbody;
}
}

View File

@@ -0,0 +1,71 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003CA RID: 970
[Token(Token = "0x20003CA")]
public class OffsetEffector : OffsetModifier
{
// Token: 0x0600237F RID: 9087 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600237F")]
[Address(RVA = "0xD37E90", Offset = "0xD36C90", VA = "0x180D37E90", Slot = "5")]
protected override void Start()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002380 RID: 9088 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002380")]
[Address(RVA = "0xD37C40", Offset = "0xD36A40", VA = "0x180D37C40", Slot = "4")]
protected override void OnModifyOffset()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002381 RID: 9089 RVA: 0x000513F4 File Offset: 0x0004F5F4
[Token(Token = "0x6002381")]
[Address(RVA = "0xBE5C30", Offset = "0xBE4A30", VA = "0x180BE5C30")]
public OffsetEffector()
{
this.weight = 1f;
base..ctor();
}
// Token: 0x04002D06 RID: 11526
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002D06")]
public OffsetEffector.EffectorLink[] effectorLinks;
// Token: 0x020003CB RID: 971
[Token(Token = "0x20003CB")]
[Serializable]
public class EffectorLink
{
// Token: 0x06002382 RID: 9090 RVA: 0x00051414 File Offset: 0x0004F614
[Token(Token = "0x6002382")]
[Address(RVA = "0x5FD950", Offset = "0x5FC750", VA = "0x1805FD950")]
public EffectorLink()
{
}
// Token: 0x04002D07 RID: 11527
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4002D07")]
public FullBodyBipedEffector effectorType;
// Token: 0x04002D08 RID: 11528
[FieldOffset(Offset = "0x14")]
[Token(Token = "0x4002D08")]
public float weightMultiplier = 1f;
// Token: 0x04002D09 RID: 11529
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002D09")]
[HideInInspector]
public Vector3 localPosition;
}
}
}

View File

@@ -0,0 +1,140 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003CC RID: 972
[Token(Token = "0x20003CC")]
[RequireComponent(typeof(FullBodyBipedIK))]
public class PendulumExample : MonoBehaviour
{
// Token: 0x06002383 RID: 9091 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002383")]
[Address(RVA = "0x311150", Offset = "0x30FF50", VA = "0x180311150")]
private void Start()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002384 RID: 9092 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002384")]
[Address(RVA = "0x310800", Offset = "0x30F600", VA = "0x180310800")]
private void LateUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002385 RID: 9093 RVA: 0x00051434 File Offset: 0x0004F634
[Token(Token = "0x6002385")]
[Address(RVA = "0x311500", Offset = "0x310300", VA = "0x180311500")]
public PendulumExample()
{
float z = Vector3.right.z;
this.pelvisDownAxis.z = z;
base..ctor();
}
// Token: 0x04002D0A RID: 11530
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002D0A")]
[Tooltip("The master weight of this script.")]
[Range(0f, 1f)]
public float weight = 1f;
// Token: 0x04002D0B RID: 11531
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x4002D0B")]
[Tooltip("Multiplier for the distance of the root to the target.")]
public float hangingDistanceMlp = 1.3f;
// Token: 0x04002D0C RID: 11532
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002D0C")]
[HideInInspector]
[Tooltip("Where does the root of the character land when weight is blended out?")]
public Vector3 rootTargetPosition;
// Token: 0x04002D0D RID: 11533
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x4002D0D")]
[HideInInspector]
[Tooltip("How is the root of the character rotated when weight is blended out?")]
public Quaternion rootTargetRotation;
// Token: 0x04002D0E RID: 11534
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002D0E")]
[SerializeField]
private Transform target;
// Token: 0x04002D0F RID: 11535
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002D0F")]
[SerializeField]
private Transform leftHandTarget;
// Token: 0x04002D10 RID: 11536
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4002D10")]
[SerializeField]
private Transform rightHandTarget;
// Token: 0x04002D11 RID: 11537
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4002D11")]
[SerializeField]
private Transform leftFootTarget;
// Token: 0x04002D12 RID: 11538
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4002D12")]
[SerializeField]
private Transform rightFootTarget;
// Token: 0x04002D13 RID: 11539
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4002D13")]
[SerializeField]
private Transform pelvisTarget;
// Token: 0x04002D14 RID: 11540
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4002D14")]
[SerializeField]
private Transform bodyTarget;
// Token: 0x04002D15 RID: 11541
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4002D15")]
[SerializeField]
private Transform headTarget;
// Token: 0x04002D16 RID: 11542
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x4002D16")]
[SerializeField]
private Vector3 pelvisDownAxis;
// Token: 0x04002D17 RID: 11543
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x4002D17")]
private FullBodyBipedIK ik;
// Token: 0x04002D18 RID: 11544
[FieldOffset(Offset = "0x98")]
[Token(Token = "0x4002D18")]
private Quaternion rootRelativeToPelvis;
// Token: 0x04002D19 RID: 11545
[FieldOffset(Offset = "0xA8")]
[Token(Token = "0x4002D19")]
private Vector3 pelvisToRoot;
// Token: 0x04002D1A RID: 11546
[FieldOffset(Offset = "0xB4")]
[Token(Token = "0x4002D1A")]
private float lastWeight;
}
}

View File

@@ -0,0 +1,199 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003CD RID: 973
[Token(Token = "0x20003CD")]
public abstract class PickUp2Handed : MonoBehaviour
{
// Token: 0x06002386 RID: 9094 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002386")]
[Address(RVA = "0x312060", Offset = "0x310E60", VA = "0x180312060")]
private void OnGUI()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002387 RID: 9095
[Token(Token = "0x6002387")]
[Address(Slot = "4")]
protected abstract void RotatePivot();
// Token: 0x06002388 RID: 9096 RVA: 0x00051474 File Offset: 0x0004F674
[Token(Token = "0x6002388")]
[Address(RVA = "0x312470", Offset = "0x311270", VA = "0x180312470")]
private void Start()
{
InteractionSystem interactionSystem = this.interactionSystem;
InteractionSystem.InteractionDelegate interactionDelegate = new InteractionSystem.InteractionDelegate(this.OnStart);
Delegate @delegate = Delegate.Combine(interactionDelegate, interactionDelegate);
int num = 0;
if (@delegate == 0 || @delegate != 0)
{
interactionSystem.OnInteractionStart = num;
InteractionSystem interactionSystem2 = this.interactionSystem;
InteractionSystem.InteractionDelegate onInteractionPause = interactionSystem2.OnInteractionPause;
InteractionSystem.InteractionDelegate interactionDelegate2 = new InteractionSystem.InteractionDelegate(this.OnPause);
Delegate delegate2 = Delegate.Combine(onInteractionPause, interactionDelegate2);
if (delegate2 == 0 || delegate2 != 0)
{
interactionSystem2.OnInteractionPause = delegate2;
InteractionSystem interactionSystem3 = this.interactionSystem;
InteractionSystem.InteractionDelegate onInteractionResume = interactionSystem3.OnInteractionResume;
InteractionSystem.InteractionDelegate interactionDelegate3 = new InteractionSystem.InteractionDelegate(this.OnDrop);
Delegate delegate3 = Delegate.Combine(onInteractionResume, interactionDelegate3);
if (delegate3 == 0 || delegate3 != 0)
{
interactionSystem3.OnInteractionResume = delegate3;
throw new NullReferenceException();
}
}
}
throw new InvalidCastException();
}
// Token: 0x06002389 RID: 9097 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002389")]
[Address(RVA = "0x3121F0", Offset = "0x310FF0", VA = "0x1803121F0")]
private void OnPause(FullBodyBipedEffector effectorType, InteractionObject interactionObject)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600238A RID: 9098 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600238A")]
[Address(RVA = "0x312390", Offset = "0x311190", VA = "0x180312390")]
private void OnStart(FullBodyBipedEffector effectorType, InteractionObject interactionObject)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600238B RID: 9099 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600238B")]
[Address(RVA = "0x311F30", Offset = "0x310D30", VA = "0x180311F30")]
private void OnDrop(FullBodyBipedEffector effectorType, InteractionObject interactionObject)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600238C RID: 9100 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600238C")]
[Address(RVA = "0x311B20", Offset = "0x310920", VA = "0x180311B20")]
private void LateUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x17000200 RID: 512
// (get) Token: 0x0600238D RID: 9101 RVA: 0x00051538 File Offset: 0x0004F738
[Token(Token = "0x17000200")]
private bool holding
{
[Token(Token = "0x600238D")]
[Address(RVA = "0x312670", Offset = "0x311470", VA = "0x180312670")]
get
{
return this.interactionSystem.IsPaused(FullBodyBipedEffector.LeftHand);
}
}
// Token: 0x0600238E RID: 9102 RVA: 0x00051558 File Offset: 0x0004F758
[Token(Token = "0x600238E")]
[Address(RVA = "0x311D00", Offset = "0x310B00", VA = "0x180311D00")]
private void OnDestroy()
{
InteractionSystem interactionSystem = this.interactionSystem;
int num = 0;
if (!(interactionSystem == num))
{
InteractionSystem interactionSystem2 = this.interactionSystem;
InteractionSystem.InteractionDelegate interactionDelegate = new InteractionSystem.InteractionDelegate(this.OnStart);
Delegate @delegate = Delegate.Remove(interactionDelegate, interactionDelegate);
int num2 = 0;
if (@delegate == 0 || @delegate != 0)
{
interactionSystem2.OnInteractionStart = num2;
InteractionSystem interactionSystem3 = this.interactionSystem;
InteractionSystem.InteractionDelegate onInteractionPause = interactionSystem3.OnInteractionPause;
InteractionSystem.InteractionDelegate interactionDelegate2 = new InteractionSystem.InteractionDelegate(this.OnPause);
Delegate delegate2 = Delegate.Remove(onInteractionPause, interactionDelegate2);
if (delegate2 == 0 || delegate2 != 0)
{
interactionSystem3.OnInteractionPause = delegate2;
InteractionSystem interactionSystem4 = this.interactionSystem;
InteractionSystem.InteractionDelegate onInteractionResume = interactionSystem4.OnInteractionResume;
InteractionSystem.InteractionDelegate interactionDelegate3 = new InteractionSystem.InteractionDelegate(this.OnDrop);
Delegate delegate3 = Delegate.Remove(onInteractionResume, interactionDelegate3);
if (delegate3 == 0 || delegate3 != 0)
{
interactionSystem4.OnInteractionResume = delegate3;
return;
}
}
}
throw new InvalidCastException();
}
}
// Token: 0x0600238F RID: 9103 RVA: 0x00051638 File Offset: 0x0004F838
[Token(Token = "0x600238F")]
[Address(RVA = "0x312660", Offset = "0x311460", VA = "0x180312660")]
protected PickUp2Handed()
{
}
// Token: 0x04002D1B RID: 11547
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002D1B")]
[SerializeField]
private int GUIspace;
// Token: 0x04002D1C RID: 11548
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002D1C")]
public InteractionSystem interactionSystem;
// Token: 0x04002D1D RID: 11549
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002D1D")]
public InteractionObject obj;
// Token: 0x04002D1E RID: 11550
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002D1E")]
public Transform pivot;
// Token: 0x04002D1F RID: 11551
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002D1F")]
public Transform holdPoint;
// Token: 0x04002D20 RID: 11552
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002D20")]
public float pickUpTime = 0.3f;
// Token: 0x04002D21 RID: 11553
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x4002D21")]
private float holdWeight;
// Token: 0x04002D22 RID: 11554
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002D22")]
private float holdWeightVel;
// Token: 0x04002D23 RID: 11555
[FieldOffset(Offset = "0x4C")]
[Token(Token = "0x4002D23")]
private Vector3 pickUpPosition;
// Token: 0x04002D24 RID: 11556
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4002D24")]
private Quaternion pickUpRotation;
}
}

View File

@@ -0,0 +1,27 @@
using System;
using Cpp2IlInjected;
namespace RootMotion.Demos
{
// Token: 0x020003CE RID: 974
[Token(Token = "0x20003CE")]
public class PickUpBox : PickUp2Handed
{
// Token: 0x06002390 RID: 9104 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002390")]
[Address(RVA = "0x3126A0", Offset = "0x3114A0", VA = "0x1803126A0", Slot = "4")]
protected override void RotatePivot()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002391 RID: 9105 RVA: 0x00051658 File Offset: 0x0004F858
[Token(Token = "0x6002391")]
[Address(RVA = "0x312660", Offset = "0x311460", VA = "0x180312660")]
public PickUpBox()
{
this.pickUpTime = 0.3f;
base..ctor();
}
}
}

View File

@@ -0,0 +1,27 @@
using System;
using Cpp2IlInjected;
namespace RootMotion.Demos
{
// Token: 0x020003CF RID: 975
[Token(Token = "0x20003CF")]
public class PickUpSphere : PickUp2Handed
{
// Token: 0x06002392 RID: 9106 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002392")]
[Address(RVA = "0x3128F0", Offset = "0x3116F0", VA = "0x1803128F0", Slot = "4")]
protected override void RotatePivot()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002393 RID: 9107 RVA: 0x00051678 File Offset: 0x0004F878
[Token(Token = "0x6002393")]
[Address(RVA = "0x312660", Offset = "0x311460", VA = "0x180312660")]
public PickUpSphere()
{
this.pickUpTime = 0.3f;
base..ctor();
}
}
}

View File

@@ -0,0 +1,136 @@
using System;
using System.Collections;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003DC RID: 988
[Token(Token = "0x20003DC")]
public class PlatformRotator : MonoBehaviour
{
// Token: 0x060023C9 RID: 9161 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023C9")]
[Address(RVA = "0x312F30", Offset = "0x311D30", VA = "0x180312F30")]
private void Start()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023CA RID: 9162 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023CA")]
[Address(RVA = "0x312AF0", Offset = "0x3118F0", VA = "0x180312AF0")]
private void FixedUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023CB RID: 9163 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023CB")]
[Address(RVA = "0x3130A0", Offset = "0x311EA0", VA = "0x1803130A0")]
private IEnumerator SwitchRotation()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023CC RID: 9164 RVA: 0x00051CC8 File Offset: 0x0004FEC8
[Token(Token = "0x60023CC")]
[Address(RVA = "0x312D80", Offset = "0x311B80", VA = "0x180312D80")]
private void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.layer == this.characterLayer)
{
CharacterThirdPerson component = collision.gameObject.GetComponent<CharacterThirdPerson>();
int num = 0;
bool flag = component == num;
if (!flag && component.smoothPhysics != flag)
{
component.smoothPhysics = flag;
}
}
}
// Token: 0x060023CD RID: 9165 RVA: 0x00051D18 File Offset: 0x0004FF18
[Token(Token = "0x60023CD")]
[Address(RVA = "0x312E60", Offset = "0x311C60", VA = "0x180312E60")]
private void OnCollisionExit(Collision collision)
{
if (collision.gameObject.layer == this.characterLayer)
{
CharacterThirdPerson component = collision.gameObject.GetComponent<CharacterThirdPerson>();
int num = 0;
if (!(component == num))
{
component.smoothPhysics = true;
}
}
}
// Token: 0x060023CE RID: 9166 RVA: 0x00051D60 File Offset: 0x0004FF60
[Token(Token = "0x60023CE")]
[Address(RVA = "0x313110", Offset = "0x311F10", VA = "0x180313110")]
public PlatformRotator()
{
}
// Token: 0x04002D5B RID: 11611
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002D5B")]
public float maxAngle = 70f;
// Token: 0x04002D5C RID: 11612
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x4002D5C")]
public float switchRotationTime = 0.5f;
// Token: 0x04002D5D RID: 11613
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002D5D")]
public float random = 0.5f;
// Token: 0x04002D5E RID: 11614
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x4002D5E")]
public float rotationSpeed = 50f;
// Token: 0x04002D5F RID: 11615
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002D5F")]
public Vector3 movePosition;
// Token: 0x04002D60 RID: 11616
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x4002D60")]
public float moveSpeed = 5f;
// Token: 0x04002D61 RID: 11617
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002D61")]
public int characterLayer;
// Token: 0x04002D62 RID: 11618
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x4002D62")]
private Quaternion defaultRotation;
// Token: 0x04002D63 RID: 11619
[FieldOffset(Offset = "0x4C")]
[Token(Token = "0x4002D63")]
private Quaternion targetRotation;
// Token: 0x04002D64 RID: 11620
[FieldOffset(Offset = "0x5C")]
[Token(Token = "0x4002D64")]
private Vector3 targetPosition;
// Token: 0x04002D65 RID: 11621
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4002D65")]
private Vector3 velocity;
// Token: 0x04002D66 RID: 11622
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4002D66")]
private Rigidbody r;
}
}

View File

@@ -0,0 +1,50 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003D0 RID: 976
[Token(Token = "0x20003D0")]
public class RagdollUtilityDemo : MonoBehaviour
{
// Token: 0x06002394 RID: 9108 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002394")]
[Address(RVA = "0xBE3D80", Offset = "0xBE2B80", VA = "0x180BE3D80")]
private void OnGUI()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002395 RID: 9109 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002395")]
[Address(RVA = "0xBE3DD0", Offset = "0xBE2BD0", VA = "0x180BE3DD0")]
private void Update()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002396 RID: 9110 RVA: 0x00051698 File Offset: 0x0004F898
[Token(Token = "0x6002396")]
[Address(RVA = "0x3088F0", Offset = "0x3076F0", VA = "0x1803088F0")]
public RagdollUtilityDemo()
{
}
// Token: 0x04002D25 RID: 11557
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002D25")]
public RagdollUtility ragdollUtility;
// Token: 0x04002D26 RID: 11558
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002D26")]
public Transform root;
// Token: 0x04002D27 RID: 11559
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002D27")]
public Rigidbody pelvis;
}
}

View File

@@ -0,0 +1,74 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003D1 RID: 977
[Token(Token = "0x20003D1")]
[RequireComponent(typeof(Recoil))]
public class RecoilTest : MonoBehaviour
{
// Token: 0x06002397 RID: 9111 RVA: 0x000516AC File Offset: 0x0004F8AC
[Token(Token = "0x6002397")]
[Address(RVA = "0xBE5B90", Offset = "0xBE4990", VA = "0x180BE5B90")]
private void Start()
{
/*
An exception occurred when decompiling this method (06002397)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void RootMotion.Demos.RecoilTest::Start()
---> System.Exception: Basic block has to end with unconditional control flow.
{; Block_0:; stloc:Recoil(var_0_06, call:Recoil(Component::GetComponent, ldloc:RecoilTest[exp:Component](this))); stfld:Recoil(RecoilTest::recoil, ldloc:RecoilTest(this), ldloc:Recoil(var_0_06)); };
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: 0x06002398 RID: 9112 RVA: 0x000516C8 File Offset: 0x0004F8C8
[Token(Token = "0x6002398")]
[Address(RVA = "0xBE5BE0", Offset = "0xBE49E0", VA = "0x180BE5BE0")]
private void Update()
{
if (Input.GetKeyDownInt(KeyCode.R) || Input.GetMouseButtonDown(0))
{
Recoil recoil = this.recoil;
float num = this.magnitude;
recoil.Fire(num);
return;
}
}
// Token: 0x06002399 RID: 9113 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002399")]
[Address(RVA = "0xBE5B40", Offset = "0xBE4940", VA = "0x180BE5B40")]
private void OnGUI()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600239A RID: 9114 RVA: 0x00051704 File Offset: 0x0004F904
[Token(Token = "0x600239A")]
[Address(RVA = "0xBE5C30", Offset = "0xBE4A30", VA = "0x180BE5C30")]
public RecoilTest()
{
}
// Token: 0x04002D28 RID: 11560
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002D28")]
public float magnitude = 1f;
// Token: 0x04002D29 RID: 11561
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002D29")]
private Recoil recoil;
}
}

View File

@@ -0,0 +1,76 @@
using System;
using System.Collections;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003D2 RID: 978
[Token(Token = "0x20003D2")]
public class ResetInteractionObject : MonoBehaviour
{
// Token: 0x0600239B RID: 9115 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600239B")]
[Address(RVA = "0xBE7CC0", Offset = "0xBE6AC0", VA = "0x180BE7CC0")]
private void Start()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600239C RID: 9116 RVA: 0x00051724 File Offset: 0x0004F924
[Token(Token = "0x600239C")]
[Address(RVA = "0xBE7B90", Offset = "0xBE6990", VA = "0x180BE7B90")]
private void OnPickUp(Transform t)
{
base.StopAllCoroutines();
float time = Time.time;
float num = this.resetDelay;
int num2;
ResetInteractionObject.<ResetObject>d__7 <ResetObject>d__ = new ResetInteractionObject.<ResetObject>d__7(num2);
num2 = 0;
<ResetObject>d__.<>4__this = this;
<ResetObject>d__.resetTime = num;
Coroutine coroutine = base.StartCoroutine(<ResetObject>d__);
}
// Token: 0x0600239D RID: 9117 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600239D")]
[Address(RVA = "0xBE7C40", Offset = "0xBE6A40", VA = "0x180BE7C40")]
private IEnumerator ResetObject(float resetTime)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600239E RID: 9118 RVA: 0x00051770 File Offset: 0x0004F970
[Token(Token = "0x600239E")]
[Address(RVA = "0xBE5C30", Offset = "0xBE4A30", VA = "0x180BE5C30")]
public ResetInteractionObject()
{
}
// Token: 0x04002D2A RID: 11562
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002D2A")]
public float resetDelay = 1f;
// Token: 0x04002D2B RID: 11563
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x4002D2B")]
private Vector3 defaultPosition;
// Token: 0x04002D2C RID: 11564
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002D2C")]
private Quaternion defaultRotation;
// Token: 0x04002D2D RID: 11565
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002D2D")]
private Transform defaultParent;
// Token: 0x04002D2E RID: 11566
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002D2E")]
private Rigidbody r;
}
}

View File

@@ -0,0 +1,128 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003A7 RID: 935
[Token(Token = "0x20003A7")]
public class SimpleAimingSystem : MonoBehaviour
{
// Token: 0x060022F9 RID: 8953 RVA: 0x000505AC File Offset: 0x0004E7AC
[Token(Token = "0x60022F9")]
[Address(RVA = "0x11F2B20", Offset = "0x11F1920", VA = "0x1811F2B20")]
private void Start()
{
AimIK aimIK = this.aim;
int num = 0;
aimIK.enabled = num != 0;
LookAtIK lookAtIK = this.lookAt;
int num2 = 0;
lookAtIK.enabled = num2 != 0;
}
// Token: 0x060022FA RID: 8954 RVA: 0x000505E0 File Offset: 0x0004E7E0
[Token(Token = "0x60022FA")]
[Address(RVA = "0x11F2560", Offset = "0x11F1360", VA = "0x1811F2560")]
private void LateUpdate()
{
Transform target = this.aim.solver.target;
int num = 0;
if (target == num)
{
Transform transform = base.transform;
Debug.LogWarning("AimIK and LookAtIK need to have their 'Target' value assigned.", transform);
}
this.Pose();
this.aim.solver.Update();
LookAtIK lookAtIK = this.lookAt;
int num2 = 0;
if (lookAtIK != num2)
{
this.lookAt.solver.Update();
}
}
// Token: 0x060022FB RID: 8955 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60022FB")]
[Address(RVA = "0x11F28B0", Offset = "0x11F16B0", VA = "0x1811F28B0")]
private void Pose()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060022FC RID: 8956 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60022FC")]
[Address(RVA = "0x11F26B0", Offset = "0x11F14B0", VA = "0x1811F26B0")]
private void LimitAimTarget()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060022FD RID: 8957 RVA: 0x00050660 File Offset: 0x0004E860
[Token(Token = "0x60022FD")]
[Address(RVA = "0x11F24D0", Offset = "0x11F12D0", VA = "0x1811F24D0")]
private void DirectCrossFade(string state, float target)
{
float @float = this.animator.GetFloat(state);
float num = Time.deltaTime;
num = @float;
float num2 = Mathf.MoveTowards(num, target, 1f);
this.animator.SetFloat(state, num2);
}
// Token: 0x060022FE RID: 8958 RVA: 0x000506A4 File Offset: 0x0004E8A4
[Token(Token = "0x60022FE")]
[Address(RVA = "0x11F2B60", Offset = "0x11F1960", VA = "0x1811F2B60")]
public SimpleAimingSystem()
{
}
// Token: 0x04002C16 RID: 11286
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002C16")]
[Tooltip("AimPoser is a tool that returns an animation name based on direction.")]
public AimPoser aimPoser;
// Token: 0x04002C17 RID: 11287
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002C17")]
[Tooltip("Reference to the AimIK component.")]
public AimIK aim;
// Token: 0x04002C18 RID: 11288
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002C18")]
[Tooltip("Reference to the LookAt component (only used for the head in this instance).")]
public LookAtIK lookAt;
// Token: 0x04002C19 RID: 11289
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002C19")]
[Tooltip("Reference to the Animator component.")]
public Animator animator;
// Token: 0x04002C1A RID: 11290
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002C1A")]
[Tooltip("Time of cross-fading from pose to pose.")]
public float crossfadeTime = 0.2f;
// Token: 0x04002C1B RID: 11291
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x4002C1B")]
[Tooltip("Will keep the aim target at a distance.")]
public float minAimDistance = 0.5f;
// Token: 0x04002C1C RID: 11292
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002C1C")]
private AimPoser.Pose aimPose;
// Token: 0x04002C1D RID: 11293
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002C1D")]
private AimPoser.Pose lastPose;
}
}

View File

@@ -0,0 +1,181 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003E9 RID: 1001
[Token(Token = "0x20003E9")]
[RequireComponent(typeof(Animator))]
public class SimpleLocomotion : MonoBehaviour
{
// Token: 0x1700020A RID: 522
// (get) Token: 0x0600240B RID: 9227 RVA: 0x000521C8 File Offset: 0x000503C8
// (set) Token: 0x0600240C RID: 9228 RVA: 0x000521DC File Offset: 0x000503DC
[Token(Token = "0x1700020A")]
public bool isGrounded
{
[Token(Token = "0x600240B")]
[Address(RVA = "0x584D60", Offset = "0x583B60", VA = "0x180584D60")]
get;
[Token(Token = "0x600240C")]
[Address(RVA = "0x8EC310", Offset = "0x8EB110", VA = "0x1808EC310")]
private set;
}
// Token: 0x0600240D RID: 9229 RVA: 0x000521F0 File Offset: 0x000503F0
[Token(Token = "0x600240D")]
[Address(RVA = "0x11F3390", Offset = "0x11F2190", VA = "0x1811F3390")]
private void Start()
{
Animator component = base.GetComponent<Animator>();
this.animator = component;
CharacterController component2 = base.GetComponent<CharacterController>();
this.characterController = component2;
CameraController cameraController = this.cameraController;
int num = 0;
cameraController.enabled = num != 0;
}
// Token: 0x0600240E RID: 9230 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600240E")]
[Address(RVA = "0x11F3420", Offset = "0x11F2220", VA = "0x1811F3420")]
private void Update()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600240F RID: 9231 RVA: 0x00052230 File Offset: 0x00050430
[Token(Token = "0x600240F")]
[Address(RVA = "0x11F2CC0", Offset = "0x11F1AC0", VA = "0x1811F2CC0")]
private void LateUpdate()
{
this.cameraController.UpdateInput();
this.cameraController.UpdateTransform();
}
// Token: 0x06002410 RID: 9232 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002410")]
[Address(RVA = "0x11F2FE0", Offset = "0x11F1DE0", VA = "0x1811F2FE0")]
private void Rotate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002411 RID: 9233 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002411")]
[Address(RVA = "0x11F2D00", Offset = "0x11F1B00", VA = "0x1811F2D00")]
private void Move()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002412 RID: 9234 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002412")]
[Address(RVA = "0x11F2C00", Offset = "0x11F1A00", VA = "0x1811F2C00")]
private Vector3 GetInputVector()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002413 RID: 9235 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002413")]
[Address(RVA = "0x11F2B80", Offset = "0x11F1980", VA = "0x1811F2B80")]
private Vector3 GetInputVectorRaw()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002414 RID: 9236 RVA: 0x0005225C File Offset: 0x0005045C
[Token(Token = "0x6002414")]
[Address(RVA = "0x11F3480", Offset = "0x11F2280", VA = "0x1811F3480")]
public SimpleLocomotion()
{
}
// Token: 0x04002DD0 RID: 11728
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002DD0")]
[SerializeField]
[Tooltip("The component that updates the camera.")]
private CameraController cameraController;
// Token: 0x04002DD1 RID: 11729
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002DD1")]
[SerializeField]
[Tooltip("Acceleration of movement.")]
private float accelerationTime = 0.2f;
// Token: 0x04002DD2 RID: 11730
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x4002DD2")]
[SerializeField]
[Tooltip("Turning speed.")]
private float turnTime = 0.2f;
// Token: 0x04002DD3 RID: 11731
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002DD3")]
[SerializeField]
[Tooltip("If true, will run on left shift, if not will walk on left shift.")]
private bool walkByDefault = true;
// Token: 0x04002DD4 RID: 11732
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x4002DD4")]
[SerializeField]
[Tooltip("Smooth or linear rotation.")]
private SimpleLocomotion.RotationMode rotationMode;
// Token: 0x04002DD5 RID: 11733
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002DD5")]
[SerializeField]
[Tooltip("Procedural motion speed (if not using root motion).")]
private float moveSpeed = 3f;
// Token: 0x04002DD7 RID: 11735
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002DD7")]
private Animator animator;
// Token: 0x04002DD8 RID: 11736
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002DD8")]
private float speed;
// Token: 0x04002DD9 RID: 11737
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x4002DD9")]
private float angleVel;
// Token: 0x04002DDA RID: 11738
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002DDA")]
private float speedVel;
// Token: 0x04002DDB RID: 11739
[FieldOffset(Offset = "0x4C")]
[Token(Token = "0x4002DDB")]
private Vector3 linearTargetDirection;
// Token: 0x04002DDC RID: 11740
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4002DDC")]
private CharacterController characterController;
// Token: 0x020003EA RID: 1002
[Token(Token = "0x20003EA")]
[Serializable]
public enum RotationMode
{
// Token: 0x04002DDE RID: 11742
[Token(Token = "0x4002DDE")]
Smooth,
// Token: 0x04002DDF RID: 11743
[Token(Token = "0x4002DDF")]
Linear
}
}
}

View File

@@ -0,0 +1,73 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003EF RID: 1007
[Token(Token = "0x20003EF")]
public class SlowMo : MonoBehaviour
{
// Token: 0x0600241C RID: 9244 RVA: 0x0005234C File Offset: 0x0005054C
[Token(Token = "0x600241C")]
[Address(RVA = "0x11F3A90", Offset = "0x11F2890", VA = "0x1811F3A90")]
private void Update()
{
if ((!this.mouse0 || !Input.GetMouseButton(0)) && (!this.mouse1 || !Input.GetMouseButton(1)))
{
KeyCode[] array = this.keyCodes;
int num = 0;
if (num >= array.Length)
{
Time.timeScale = 1f;
return;
}
if (!Input.GetKeyInt(array[num]))
{
KeyCode[] array2 = this.keyCodes;
num++;
}
}
Time.timeScale = this.slowMoTimeScale;
}
// Token: 0x0600241D RID: 9245 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600241D")]
[Address(RVA = "0x11F39E0", Offset = "0x11F27E0", VA = "0x1811F39E0")]
private bool IsSlowMotion()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600241E RID: 9246 RVA: 0x000523C8 File Offset: 0x000505C8
[Token(Token = "0x600241E")]
[Address(RVA = "0x11F3B50", Offset = "0x11F2950", VA = "0x1811F3B50")]
public SlowMo()
{
}
// Token: 0x04002DED RID: 11757
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002DED")]
[SerializeField]
private KeyCode[] keyCodes;
// Token: 0x04002DEE RID: 11758
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002DEE")]
[SerializeField]
private bool mouse0;
// Token: 0x04002DEF RID: 11759
[FieldOffset(Offset = "0x21")]
[Token(Token = "0x4002DEF")]
[SerializeField]
private bool mouse1;
// Token: 0x04002DF0 RID: 11760
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x4002DF0")]
[SerializeField]
private float slowMoTimeScale = 0.3f;
}
}

View File

@@ -0,0 +1,51 @@
using System;
using System.Collections;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003D4 RID: 980
[Token(Token = "0x20003D4")]
[RequireComponent(typeof(Animator))]
public class SoccerDemo : MonoBehaviour
{
// Token: 0x060023A5 RID: 9125 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023A5")]
[Address(RVA = "0x11F3C00", Offset = "0x11F2A00", VA = "0x1811F3C00")]
private void Start()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023A6 RID: 9126 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023A6")]
[Address(RVA = "0x11F3B90", Offset = "0x11F2990", VA = "0x1811F3B90")]
private IEnumerator ResetDelayed()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023A7 RID: 9127 RVA: 0x000517E8 File Offset: 0x0004F9E8
[Token(Token = "0x60023A7")]
[Address(RVA = "0x3088F0", Offset = "0x3076F0", VA = "0x1803088F0")]
public SoccerDemo()
{
}
// Token: 0x04002D33 RID: 11571
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002D33")]
private Animator animator;
// Token: 0x04002D34 RID: 11572
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002D34")]
private Vector3 defaultPosition;
// Token: 0x04002D35 RID: 11573
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x4002D35")]
private Quaternion defaultRotation;
}
}

View File

@@ -0,0 +1,76 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003A8 RID: 936
[Token(Token = "0x20003A8")]
public class TerrainOffset : MonoBehaviour
{
// Token: 0x060022FF RID: 8959 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60022FF")]
[Address(RVA = "0x12FE9C0", Offset = "0x12FD7C0", VA = "0x1812FE9C0")]
private void LateUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002300 RID: 8960 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002300")]
[Address(RVA = "0x12FE780", Offset = "0x12FD580", VA = "0x1812FE780")]
private Vector3 GetGroundHeightOffset(Vector3 worldPosition)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002301 RID: 8961 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002301")]
[Address(RVA = "0x12FEC70", Offset = "0x12FDA70", VA = "0x1812FEC70")]
public TerrainOffset()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x04002C1E RID: 11294
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002C1E")]
public AimIK aimIK;
// Token: 0x04002C1F RID: 11295
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002C1F")]
public Vector3 raycastOffset;
// Token: 0x04002C20 RID: 11296
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x4002C20")]
public LayerMask raycastLayers;
// Token: 0x04002C21 RID: 11297
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002C21")]
public float min;
// Token: 0x04002C22 RID: 11298
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x4002C22")]
public float max;
// Token: 0x04002C23 RID: 11299
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002C23")]
public float lerpSpeed;
// Token: 0x04002C24 RID: 11300
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x4002C24")]
private RaycastHit hit;
// Token: 0x04002C25 RID: 11301
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4002C25")]
private Vector3 offset;
}
}

View File

@@ -0,0 +1,288 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003D6 RID: 982
[Token(Token = "0x20003D6")]
public class TouchWalls : MonoBehaviour
{
// Token: 0x060023AE RID: 9134 RVA: 0x00051854 File Offset: 0x0004FA54
[Token(Token = "0x60023AE")]
[Address(RVA = "0x1303370", Offset = "0x1302170", VA = "0x181303370")]
private void Start()
{
TouchWalls.EffectorLink[] array = this.effectorLinks;
int num = 0;
int length = array.Length;
if (num < length)
{
TouchWalls.EffectorLink effectorLink = array[num];
InteractionSystem interactionSystem = this.interactionSystem;
effectorLink.Initiate(interactionSystem);
num++;
}
}
// Token: 0x060023AF RID: 9135 RVA: 0x00051898 File Offset: 0x0004FA98
[Token(Token = "0x60023AF")]
[Address(RVA = "0x1303220", Offset = "0x1302020", VA = "0x181303220")]
private void FixedUpdate()
{
TouchWalls.EffectorLink[] array = this.effectorLinks;
int num = 0;
if (num < array.Length)
{
TouchWalls.EffectorLink effectorLink = array[num];
InteractionSystem interactionSystem = this.interactionSystem;
effectorLink.Update(interactionSystem);
TouchWalls.EffectorLink[] array2 = this.effectorLinks;
num++;
}
}
// Token: 0x060023B0 RID: 9136 RVA: 0x000518E0 File Offset: 0x0004FAE0
[Token(Token = "0x60023B0")]
[Address(RVA = "0x13032A0", Offset = "0x13020A0", VA = "0x1813032A0")]
private void OnDestroy()
{
InteractionSystem interactionSystem = this.interactionSystem;
int num = 0;
if (interactionSystem != num)
{
TouchWalls.EffectorLink[] array = this.effectorLinks;
int num2 = 0;
if (num2 < array.Length)
{
TouchWalls.EffectorLink effectorLink = array[num2];
InteractionSystem interactionSystem2 = this.interactionSystem;
effectorLink.Destroy(interactionSystem2);
TouchWalls.EffectorLink[] array2 = this.effectorLinks;
num2++;
}
}
}
// Token: 0x060023B1 RID: 9137 RVA: 0x00051940 File Offset: 0x0004FB40
[Token(Token = "0x60023B1")]
[Address(RVA = "0x3088F0", Offset = "0x3076F0", VA = "0x1803088F0")]
public TouchWalls()
{
}
// Token: 0x04002D39 RID: 11577
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002D39")]
public InteractionSystem interactionSystem;
// Token: 0x04002D3A RID: 11578
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002D3A")]
public TouchWalls.EffectorLink[] effectorLinks;
// Token: 0x020003D7 RID: 983
[Token(Token = "0x20003D7")]
[Serializable]
public class EffectorLink
{
// Token: 0x060023B2 RID: 9138 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023B2")]
[Address(RVA = "0x69D140", Offset = "0x69BF40", VA = "0x18069D140")]
public void Initiate(InteractionSystem interactionSystem)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023B3 RID: 9139 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023B3")]
[Address(RVA = "0x69D020", Offset = "0x69BE20", VA = "0x18069D020")]
private bool FindWalls(Vector3 direction)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023B4 RID: 9140 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023B4")]
[Address(RVA = "0x69D830", Offset = "0x69C630", VA = "0x18069D830")]
public void Update(InteractionSystem interactionSystem)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023B5 RID: 9141 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023B5")]
[Address(RVA = "0x69D6C0", Offset = "0x69C4C0", VA = "0x18069D6C0")]
private void StopTouch(InteractionSystem interactionSystem)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023B6 RID: 9142 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023B6")]
[Address(RVA = "0x69D5C0", Offset = "0x69C3C0", VA = "0x18069D5C0")]
private void OnInteractionStart(FullBodyBipedEffector effectorType, InteractionObject interactionObject)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023B7 RID: 9143 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023B7")]
[Address(RVA = "0x69D540", Offset = "0x69C340", VA = "0x18069D540")]
private void OnInteractionResume(FullBodyBipedEffector effectorType, InteractionObject interactionObject)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023B8 RID: 9144 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023B8")]
[Address(RVA = "0x69D640", Offset = "0x69C440", VA = "0x18069D640")]
private void OnInteractionStop(FullBodyBipedEffector effectorType, InteractionObject interactionObject)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023B9 RID: 9145 RVA: 0x00051954 File Offset: 0x0004FB54
[Token(Token = "0x60023B9")]
[Address(RVA = "0x69CE30", Offset = "0x69BC30", VA = "0x18069CE30")]
public void Destroy(InteractionSystem interactionSystem)
{
if (this.initiated)
{
InteractionSystem.InteractionDelegate onInteractionStart = interactionSystem.OnInteractionStart;
InteractionSystem.InteractionDelegate interactionDelegate = new InteractionSystem.InteractionDelegate(this.OnInteractionStart);
Delegate @delegate = Delegate.Remove(onInteractionStart, interactionDelegate);
int num = 0;
if (@delegate == 0 || @delegate != 0)
{
interactionSystem.OnInteractionStart = num;
InteractionSystem.InteractionDelegate onInteractionResume = interactionSystem.OnInteractionResume;
InteractionSystem.InteractionDelegate interactionDelegate2 = new InteractionSystem.InteractionDelegate(this.OnInteractionResume);
Delegate delegate2 = Delegate.Remove(onInteractionResume, interactionDelegate2);
if (delegate2 == 0 || delegate2 != 0)
{
interactionSystem.OnInteractionResume = delegate2;
InteractionSystem.InteractionDelegate onInteractionStop = interactionSystem.OnInteractionStop;
InteractionSystem.InteractionDelegate interactionDelegate3 = new InteractionSystem.InteractionDelegate(this.OnInteractionStop);
Delegate delegate3 = Delegate.Remove(onInteractionStop, interactionDelegate3);
if (delegate3 == 0 || delegate3 != 0)
{
interactionSystem.OnInteractionStop = delegate3;
return;
}
}
}
throw new InvalidCastException();
}
}
// Token: 0x060023BA RID: 9146 RVA: 0x00051A10 File Offset: 0x0004FC10
[Token(Token = "0x60023BA")]
[Address(RVA = "0x69E050", Offset = "0x69CE50", VA = "0x18069E050")]
public EffectorLink()
{
}
// Token: 0x04002D3B RID: 11579
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4002D3B")]
public bool enabled = true;
// Token: 0x04002D3C RID: 11580
[FieldOffset(Offset = "0x14")]
[Token(Token = "0x4002D3C")]
public FullBodyBipedEffector effectorType;
// Token: 0x04002D3D RID: 11581
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002D3D")]
public InteractionObject interactionObject;
// Token: 0x04002D3E RID: 11582
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002D3E")]
public Transform spherecastFrom;
// Token: 0x04002D3F RID: 11583
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002D3F")]
public float spherecastRadius = 0.1f;
// Token: 0x04002D40 RID: 11584
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x4002D40")]
public float minDistance = 0.3f;
// Token: 0x04002D41 RID: 11585
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002D41")]
public LayerMask touchLayers;
// Token: 0x04002D42 RID: 11586
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x4002D42")]
public float lerpSpeed = 10f;
// Token: 0x04002D43 RID: 11587
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002D43")]
public float minSwitchTime = 0.2f;
// Token: 0x04002D44 RID: 11588
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x4002D44")]
public float releaseDistance = 0.4f;
// Token: 0x04002D45 RID: 11589
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002D45")]
public bool sliding;
// Token: 0x04002D46 RID: 11590
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x4002D46")]
private Vector3 raycastDirectionLocal;
// Token: 0x04002D47 RID: 11591
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4002D47")]
private float raycastDistance;
// Token: 0x04002D48 RID: 11592
[FieldOffset(Offset = "0x54")]
[Token(Token = "0x4002D48")]
private bool inTouch;
// Token: 0x04002D49 RID: 11593
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4002D49")]
private RaycastHit hit;
// Token: 0x04002D4A RID: 11594
[FieldOffset(Offset = "0x84")]
[Token(Token = "0x4002D4A")]
private Vector3 targetPosition;
// Token: 0x04002D4B RID: 11595
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x4002D4B")]
private Quaternion targetRotation;
// Token: 0x04002D4C RID: 11596
[FieldOffset(Offset = "0xA0")]
[Token(Token = "0x4002D4C")]
private bool initiated;
// Token: 0x04002D4D RID: 11597
[FieldOffset(Offset = "0xA4")]
[Token(Token = "0x4002D4D")]
private float nextSwitchTime;
// Token: 0x04002D4E RID: 11598
[FieldOffset(Offset = "0xA8")]
[Token(Token = "0x4002D4E")]
private float speedF;
}
}
}

View File

@@ -0,0 +1,52 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003D8 RID: 984
[Token(Token = "0x20003D8")]
public class TransferMotion : MonoBehaviour
{
// Token: 0x060023BB RID: 9147 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023BB")]
[Address(RVA = "0x13033E0", Offset = "0x13021E0", VA = "0x1813033E0")]
private void OnEnable()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023BC RID: 9148 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023BC")]
[Address(RVA = "0x1303420", Offset = "0x1302220", VA = "0x181303420")]
private void Update()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023BD RID: 9149 RVA: 0x00051A64 File Offset: 0x0004FC64
[Token(Token = "0x60023BD")]
[Address(RVA = "0x1303580", Offset = "0x1302380", VA = "0x181303580")]
public TransferMotion()
{
}
// Token: 0x04002D4F RID: 11599
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002D4F")]
[Tooltip("The Transform to transfer motion to.")]
public Transform to;
// Token: 0x04002D50 RID: 11600
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002D50")]
[Tooltip("The amount of motion to transfer.")]
[Range(0f, 1f)]
public float transferMotion = 0.9f;
// Token: 0x04002D51 RID: 11601
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x4002D51")]
private Vector3 lastPosition;
}
}

View File

@@ -0,0 +1,77 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003DF RID: 991
[Token(Token = "0x20003DF")]
public class Turret : MonoBehaviour
{
// Token: 0x060023D8 RID: 9176 RVA: 0x00051E3C File Offset: 0x0005003C
[Token(Token = "0x60023D8")]
[Address(RVA = "0x75A620", Offset = "0x759420", VA = "0x18075A620")]
private void Update()
{
Turret.Part[] array = this.parts;
int num = 0;
int length = array.Length;
if (num < length)
{
Turret.Part part = array[num];
Transform transform = this.target;
part.AimAt(transform);
num++;
}
}
// Token: 0x060023D9 RID: 9177 RVA: 0x00051E80 File Offset: 0x00050080
[Token(Token = "0x60023D9")]
[Address(RVA = "0x3088F0", Offset = "0x3076F0", VA = "0x1803088F0")]
public Turret()
{
}
// Token: 0x04002D6C RID: 11628
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002D6C")]
public Transform target;
// Token: 0x04002D6D RID: 11629
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002D6D")]
public Turret.Part[] parts;
// Token: 0x020003E0 RID: 992
[Token(Token = "0x20003E0")]
[Serializable]
public class Part
{
// Token: 0x060023DA RID: 9178 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023DA")]
[Address(RVA = "0x69F7C0", Offset = "0x69E5C0", VA = "0x18069F7C0")]
public void AimAt(Transform target)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023DB RID: 9179 RVA: 0x00051E94 File Offset: 0x00050094
[Token(Token = "0x60023DB")]
[Address(RVA = "0x3D8B20", Offset = "0x3D7920", VA = "0x1803D8B20")]
public Part()
{
}
// Token: 0x04002D6E RID: 11630
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4002D6E")]
public Transform transform;
// Token: 0x04002D6F RID: 11631
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002D6F")]
private RotationLimit rotationLimit;
}
}
}

View File

@@ -0,0 +1,110 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003D9 RID: 985
[Token(Token = "0x20003D9")]
public class TwoHandedProp : MonoBehaviour
{
// Token: 0x060023BE RID: 9150 RVA: 0x00051A84 File Offset: 0x0004FC84
[Token(Token = "0x60023BE")]
[Address(RVA = "0x75B400", Offset = "0x75A200", VA = "0x18075B400")]
private void Start()
{
FullBodyBipedIK component = base.GetComponent<FullBodyBipedIK>();
this.ik = component;
IKSolverFullBodyBiped solver = this.ik.solver;
IKSolver.UpdateDelegate updateDelegate = new IKSolver.UpdateDelegate(this.AfterFBBIK);
Delegate @delegate = Delegate.Combine(updateDelegate, updateDelegate);
int num = 0;
if (@delegate == 0 || @delegate != 0)
{
solver.OnPostUpdate = num;
this.ik.solver.leftHandEffector.positionWeight = 1f;
this.ik.solver.rightHandEffector.positionWeight = 1f;
Transform target = this.ik.solver.rightHandEffector.target;
int num2 = 0;
if (target == num2)
{
Debug.LogError("Right Hand Effector needs a Target in this demo.");
}
return;
}
throw new InvalidCastException();
}
// Token: 0x060023BF RID: 9151 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023BF")]
[Address(RVA = "0x75AFD0", Offset = "0x759DD0", VA = "0x18075AFD0")]
private void LateUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023C0 RID: 9152 RVA: 0x00051B44 File Offset: 0x0004FD44
[Token(Token = "0x60023C0")]
[Address(RVA = "0x75AED0", Offset = "0x759CD0", VA = "0x18075AED0")]
private void AfterFBBIK()
{
Transform bone = this.ik.solver.leftHandEffector.bone;
Quaternion rotation = this.ik.solver.leftHandEffector.rotation;
bone.rotation = rotation;
Transform bone2 = this.ik.solver.rightHandEffector.bone;
Quaternion rotation2 = this.ik.solver.rightHandEffector.rotation;
bone2.rotation = rotation2;
}
// Token: 0x060023C1 RID: 9153 RVA: 0x00051BC0 File Offset: 0x0004FDC0
[Token(Token = "0x60023C1")]
[Address(RVA = "0x75B2E0", Offset = "0x75A0E0", VA = "0x18075B2E0")]
private void OnDestroy()
{
FullBodyBipedIK fullBodyBipedIK = this.ik;
int num = 0;
if (fullBodyBipedIK != num)
{
IKSolverFullBodyBiped solver = this.ik.solver;
IKSolver.UpdateDelegate onPostUpdate = solver.OnPostUpdate;
IKSolver.UpdateDelegate updateDelegate = new IKSolver.UpdateDelegate(this.AfterFBBIK);
Delegate @delegate = Delegate.Remove(onPostUpdate, updateDelegate);
int num2 = 0;
if (@delegate != 0 && @delegate == 0)
{
throw new InvalidCastException();
}
solver.OnPostUpdate = num2;
}
}
// Token: 0x060023C2 RID: 9154 RVA: 0x00051C2C File Offset: 0x0004FE2C
[Token(Token = "0x60023C2")]
[Address(RVA = "0x3088F0", Offset = "0x3076F0", VA = "0x1803088F0")]
public TwoHandedProp()
{
}
// Token: 0x04002D52 RID: 11602
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002D52")]
[Tooltip("The left hand target parented to the right hand.")]
public Transform leftHandTarget;
// Token: 0x04002D53 RID: 11603
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002D53")]
private FullBodyBipedIK ik;
// Token: 0x04002D54 RID: 11604
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002D54")]
private Vector3 targetPosRelativeToRight;
// Token: 0x04002D55 RID: 11605
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x4002D55")]
private Quaternion targetRotRelativeToRight;
}
}

View File

@@ -0,0 +1,43 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003EB RID: 1003
[Token(Token = "0x20003EB")]
public class UserControlAI : UserControlThirdPerson
{
// Token: 0x06002415 RID: 9237 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002415")]
[Address(RVA = "0x8C3B60", Offset = "0x8C2960", VA = "0x1808C3B60", Slot = "4")]
protected override void Update()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002416 RID: 9238 RVA: 0x00052298 File Offset: 0x00050498
[Token(Token = "0x6002416")]
[Address(RVA = "0x8C3D70", Offset = "0x8C2B70", VA = "0x1808C3D70")]
public UserControlAI()
{
this.canCrouch = true;
base..ctor();
}
// Token: 0x04002DE0 RID: 11744
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002DE0")]
public Transform moveTarget;
// Token: 0x04002DE1 RID: 11745
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4002DE1")]
public float stoppingDistance = 0.5f;
// Token: 0x04002DE2 RID: 11746
[FieldOffset(Offset = "0x54")]
[Token(Token = "0x4002DE2")]
public float stoppingThreshold = 1.5f;
}
}

View File

@@ -0,0 +1,60 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003DA RID: 986
[Token(Token = "0x20003DA")]
public class UserControlInteractions : UserControlThirdPerson
{
// Token: 0x060023C3 RID: 9155 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023C3")]
[Address(RVA = "0x8C3EF0", Offset = "0x8C2CF0", VA = "0x1808C3EF0", Slot = "4")]
protected override void Update()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023C4 RID: 9156 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023C4")]
[Address(RVA = "0x8C3D90", Offset = "0x8C2B90", VA = "0x1808C3D90")]
private void OnGUI()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023C5 RID: 9157 RVA: 0x00051C40 File Offset: 0x0004FE40
[Token(Token = "0x60023C5")]
[Address(RVA = "0x8C3FE0", Offset = "0x8C2DE0", VA = "0x1808C3FE0")]
public UserControlInteractions()
{
this.canCrouch = true;
base..ctor();
}
// Token: 0x04002D56 RID: 11606
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002D56")]
[SerializeField]
private CharacterThirdPerson character;
// Token: 0x04002D57 RID: 11607
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4002D57")]
[SerializeField]
private InteractionSystem interactionSystem;
// Token: 0x04002D58 RID: 11608
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4002D58")]
[SerializeField]
private bool disableInputInInteraction = true;
// Token: 0x04002D59 RID: 11609
[FieldOffset(Offset = "0x5C")]
[Token(Token = "0x4002D59")]
public float enableInputAtProgress = 0.8f;
}
}

View File

@@ -0,0 +1,91 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003EC RID: 1004
[Token(Token = "0x20003EC")]
public class UserControlThirdPerson : MonoBehaviour
{
// Token: 0x06002417 RID: 9239 RVA: 0x000522C8 File Offset: 0x000504C8
[Token(Token = "0x6002417")]
[Address(RVA = "0x8C4000", Offset = "0x8C2E00", VA = "0x1808C4000")]
private void Start()
{
Transform transform = Camera.main.transform;
this.cam = transform;
throw new NullReferenceException();
}
// Token: 0x06002418 RID: 9240 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002418")]
[Address(RVA = "0x8C4040", Offset = "0x8C2E40", VA = "0x1808C4040", Slot = "4")]
protected virtual void Update()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002419 RID: 9241 RVA: 0x000522F0 File Offset: 0x000504F0
[Token(Token = "0x6002419")]
[Address(RVA = "0x8C4370", Offset = "0x8C3170", VA = "0x1808C4370")]
public UserControlThirdPerson()
{
}
// Token: 0x04002DE3 RID: 11747
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002DE3")]
public bool walkByDefault;
// Token: 0x04002DE4 RID: 11748
[FieldOffset(Offset = "0x19")]
[Token(Token = "0x4002DE4")]
public bool canCrouch = true;
// Token: 0x04002DE5 RID: 11749
[FieldOffset(Offset = "0x1A")]
[Token(Token = "0x4002DE5")]
public bool canJump;
// Token: 0x04002DE6 RID: 11750
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x4002DE6")]
public UserControlThirdPerson.State state;
// Token: 0x04002DE7 RID: 11751
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002DE7")]
protected Transform cam;
// Token: 0x020003ED RID: 1005
[Token(Token = "0x20003ED")]
public struct State
{
// Token: 0x04002DE8 RID: 11752
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x4002DE8")]
public Vector3 move;
// Token: 0x04002DE9 RID: 11753
[FieldOffset(Offset = "0xC")]
[Token(Token = "0x4002DE9")]
public Vector3 lookPos;
// Token: 0x04002DEA RID: 11754
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002DEA")]
public bool crouch;
// Token: 0x04002DEB RID: 11755
[FieldOffset(Offset = "0x19")]
[Token(Token = "0x4002DEB")]
public bool jump;
// Token: 0x04002DEC RID: 11756
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x4002DEC")]
public int actionIndex;
}
}
}

View File

@@ -0,0 +1,51 @@
using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
namespace RootMotion.Demos
{
// Token: 0x020003E1 RID: 993
[Token(Token = "0x20003E1")]
public class VRIKPlatform : MonoBehaviour
{
// Token: 0x060023DC RID: 9180 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023DC")]
[Address(RVA = "0x8C5480", Offset = "0x8C4280", VA = "0x1808C5480")]
private void Start()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023DD RID: 9181 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023DD")]
[Address(RVA = "0x8C54F0", Offset = "0x8C42F0", VA = "0x1808C54F0")]
private void Update()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060023DE RID: 9182 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60023DE")]
[Address(RVA = "0x8C56E0", Offset = "0x8C44E0", VA = "0x1808C56E0")]
public VRIKPlatform()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x04002D70 RID: 11632
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002D70")]
public VRIK ik;
// Token: 0x04002D71 RID: 11633
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002D71")]
private Vector3 lastPosition;
// Token: 0x04002D72 RID: 11634
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x4002D72")]
private Quaternion lastRotation;
}
}

View File

@@ -0,0 +1,81 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x02000406 RID: 1030
[Token(Token = "0x2000406")]
[AddComponentMenu("Scripts/RootMotion.FinalIK/IK/Aim IK")]
[HelpURL("https://www.youtube.com/watch?v=wT8fViZpLmQ&index=3&list=PLVxSIA1OaTOu8Nos3CalXbJ2DrKnntMv6")]
public class AimIK : IK
{
// Token: 0x060024ED RID: 9453 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024ED")]
[Address(RVA = "0x11E3B70", Offset = "0x11E2970", VA = "0x1811E3B70", Slot = "8")]
[ContextMenu("User Manual")]
protected override void OpenUserManual()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024EE RID: 9454 RVA: 0x00053AEC File Offset: 0x00051CEC
[Token(Token = "0x60024EE")]
[Address(RVA = "0x11E3AF0", Offset = "0x11E28F0", VA = "0x1811E3AF0", Slot = "9")]
[ContextMenu("Scrpt Reference")]
protected override void OpenScriptReference()
{
Application.OpenURL("http://www.root-motion.com/finalikdox/html/class_root_motion_1_1_final_i_k_1_1_aim_i_k.html");
}
// Token: 0x060024EF RID: 9455 RVA: 0x00053B04 File Offset: 0x00051D04
[Token(Token = "0x60024EF")]
[Address(RVA = "0x11E3B30", Offset = "0x11E2930", VA = "0x1811E3B30")]
[ContextMenu("TUTORIAL VIDEO")]
private void OpenSetupTutorial()
{
Application.OpenURL("https://www.youtube.com/watch?v=wT8fViZpLmQ");
}
// Token: 0x060024F0 RID: 9456 RVA: 0x00053B1C File Offset: 0x00051D1C
[Token(Token = "0x60024F0")]
[Address(RVA = "0x11E3BB0", Offset = "0x11E29B0", VA = "0x1811E3BB0")]
[ContextMenu("Support Group")]
private void SupportGroup()
{
Application.OpenURL("https://groups.google.com/forum/#!forum/final-ik");
}
// Token: 0x060024F1 RID: 9457 RVA: 0x00053B34 File Offset: 0x00051D34
[Token(Token = "0x60024F1")]
[Address(RVA = "0x11E3AB0", Offset = "0x11E28B0", VA = "0x1811E3AB0")]
[ContextMenu("Asset Store Thread")]
private void ASThread()
{
Application.OpenURL("http://forum.unity3d.com/threads/final-ik-full-body-ik-aim-look-at-fabrik-ccd-ik-1-0-released.222685/");
}
// Token: 0x060024F2 RID: 9458 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024F2")]
[Address(RVA = "0x31E3C0", Offset = "0x31D1C0", VA = "0x18031E3C0", Slot = "7")]
public override IKSolver GetIKSolver()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024F3 RID: 9459 RVA: 0x00053B4C File Offset: 0x00051D4C
[Token(Token = "0x60024F3")]
[Address(RVA = "0x11E3BF0", Offset = "0x11E29F0", VA = "0x1811E3BF0")]
public AimIK()
{
IKSolverAim iksolverAim = new IKSolverAim();
this.solver = iksolverAim;
base..ctor();
}
// Token: 0x04002E99 RID: 11929
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002E99")]
public IKSolverAim solver;
}
}

View File

@@ -0,0 +1,106 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x02000467 RID: 1127
[Token(Token = "0x2000467")]
public class AimPoser : MonoBehaviour
{
// Token: 0x06002888 RID: 10376 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002888")]
[Address(RVA = "0x11E3C60", Offset = "0x11E2A60", VA = "0x1811E3C60")]
public AimPoser.Pose GetPose(Vector3 localDirection)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002889 RID: 10377 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002889")]
[Address(RVA = "0x11E3D70", Offset = "0x11E2B70", VA = "0x1811E3D70")]
public void SetPoseActive(AimPoser.Pose pose)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600288A RID: 10378 RVA: 0x00059564 File Offset: 0x00057764
[Token(Token = "0x600288A")]
[Address(RVA = "0x11E3E00", Offset = "0x11E2C00", VA = "0x1811E3E00")]
public AimPoser()
{
AimPoser.Pose[] array = new AimPoser.Pose[0];
this.poses = array;
base..ctor();
}
// Token: 0x040031C5 RID: 12741
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40031C5")]
public float angleBuffer = 5f;
// Token: 0x040031C6 RID: 12742
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40031C6")]
public AimPoser.Pose[] poses;
// Token: 0x02000468 RID: 1128
[Token(Token = "0x2000468")]
[Serializable]
public class Pose
{
// Token: 0x0600288B RID: 10379 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600288B")]
[Address(RVA = "0x5FD280", Offset = "0x5FC080", VA = "0x1805FD280")]
public bool IsInDirection(Vector3 d)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600288C RID: 10380 RVA: 0x00059590 File Offset: 0x00057790
[Token(Token = "0x600288C")]
[Address(RVA = "0x5FC8F0", Offset = "0x5FB6F0", VA = "0x1805FC8F0")]
public void SetAngleBuffer(float value)
{
this.angleBuffer = value;
}
// Token: 0x0600288D RID: 10381 RVA: 0x000595A4 File Offset: 0x000577A4
[Token(Token = "0x600288D")]
[Address(RVA = "0x5FD4D0", Offset = "0x5FC2D0", VA = "0x1805FD4D0")]
public Pose()
{
}
// Token: 0x040031C7 RID: 12743
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40031C7")]
public bool visualize = true;
// Token: 0x040031C8 RID: 12744
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40031C8")]
public string name;
// Token: 0x040031C9 RID: 12745
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40031C9")]
public Vector3 direction;
// Token: 0x040031CA RID: 12746
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x40031CA")]
public float yaw = 75f;
// Token: 0x040031CB RID: 12747
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40031CB")]
public float pitch = 45f;
// Token: 0x040031CC RID: 12748
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x40031CC")]
private float angleBuffer;
}
}
}

View File

@@ -0,0 +1,137 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x02000469 RID: 1129
[Token(Token = "0x2000469")]
public class Amplifier : OffsetModifier
{
// Token: 0x0600288E RID: 10382 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600288E")]
[Address(RVA = "0x11E4E70", Offset = "0x11E3C70", VA = "0x1811E4E70", Slot = "4")]
protected override void OnModifyOffset()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600288F RID: 10383 RVA: 0x000595D4 File Offset: 0x000577D4
[Token(Token = "0x600288F")]
[Address(RVA = "0x8CD260", Offset = "0x8CC060", VA = "0x1808CD260")]
public Amplifier()
{
}
// Token: 0x040031CD RID: 12749
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40031CD")]
[Tooltip("The amplified bodies.")]
public Amplifier.Body[] bodies;
// Token: 0x0200046A RID: 1130
[Token(Token = "0x200046A")]
[Serializable]
public class Body
{
// Token: 0x06002890 RID: 10384 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002890")]
[Address(RVA = "0x5F8C60", Offset = "0x5F7A60", VA = "0x1805F8C60")]
public void Update(IKSolverFullBodyBiped solver, float w, float deltaTime)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002891 RID: 10385 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002891")]
[Address(RVA = "0x5F8C00", Offset = "0x5F7A00", VA = "0x1805F8C00")]
private static Vector3 Multiply(Vector3 v1, Vector3 v2)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002892 RID: 10386 RVA: 0x000595E8 File Offset: 0x000577E8
[Token(Token = "0x6002892")]
[Address(RVA = "0x5F91B0", Offset = "0x5F7FB0", VA = "0x1805F91B0")]
public Body()
{
}
// Token: 0x040031CE RID: 12750
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40031CE")]
[Tooltip("The Transform that's motion we are reading.")]
public Transform transform;
// Token: 0x040031CF RID: 12751
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40031CF")]
[Tooltip("Amplify the 'transform's' position relative to this Transform.")]
public Transform relativeTo;
// Token: 0x040031D0 RID: 12752
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40031D0")]
[Tooltip("Linking the body to effectors. One Body can be used to offset more than one effector.")]
public Amplifier.Body.EffectorLink[] effectorLinks;
// Token: 0x040031D1 RID: 12753
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40031D1")]
[Tooltip("Amplification magnitude along the up axis of the character.")]
public float verticalWeight = 1f;
// Token: 0x040031D2 RID: 12754
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x40031D2")]
[Tooltip("Amplification magnitude along the horizontal axes of the character.")]
public float horizontalWeight = 1f;
// Token: 0x040031D3 RID: 12755
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40031D3")]
[Tooltip("Speed of the amplifier. 0 means instant.")]
public float speed = 3f;
// Token: 0x040031D4 RID: 12756
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x40031D4")]
private Vector3 lastRelativePos;
// Token: 0x040031D5 RID: 12757
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x40031D5")]
private Vector3 smoothDelta;
// Token: 0x040031D6 RID: 12758
[FieldOffset(Offset = "0x4C")]
[Token(Token = "0x40031D6")]
private bool firstUpdate;
// Token: 0x0200046B RID: 1131
[Token(Token = "0x200046B")]
[Serializable]
public class EffectorLink
{
// Token: 0x06002893 RID: 10387 RVA: 0x0003883F File Offset: 0x00036A3F
[Token(Token = "0x6002893")]
[Address(RVA = "0x3D8B20", Offset = "0x3D7920", VA = "0x1803D8B20")]
public EffectorLink()
{
}
// Token: 0x040031D7 RID: 12759
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40031D7")]
[Tooltip("Type of the FBBIK effector to use")]
public FullBodyBipedEffector effector;
// Token: 0x040031D8 RID: 12760
[FieldOffset(Offset = "0x14")]
[Token(Token = "0x40031D8")]
[Tooltip("Weight of using this effector")]
public float weight;
}
}
}
}

View File

@@ -0,0 +1,420 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x020003F0 RID: 1008
[Token(Token = "0x20003F0")]
[AddComponentMenu("Scripts/RootMotion.FinalIK/IK/Biped IK")]
[HelpURL("http://www.root-motion.com/finalikdox/html/page2.html")]
public class BipedIK : SolverManager
{
// Token: 0x0600241F RID: 9247 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600241F")]
[Address(RVA = "0x8D59E0", Offset = "0x8D47E0", VA = "0x1808D59E0")]
[ContextMenu("User Manual")]
private void OpenUserManual()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002420 RID: 9248 RVA: 0x000523E8 File Offset: 0x000505E8
[Token(Token = "0x6002420")]
[Address(RVA = "0x8D59A0", Offset = "0x8D47A0", VA = "0x1808D59A0")]
[ContextMenu("Scrpt Reference")]
private void OpenScriptReference()
{
Application.OpenURL("http://www.root-motion.com/finalikdox/html/class_root_motion_1_1_final_i_k_1_1_biped_i_k.html");
}
// Token: 0x06002421 RID: 9249 RVA: 0x00052400 File Offset: 0x00050600
[Token(Token = "0x6002421")]
[Address(RVA = "0x8D5F00", Offset = "0x8D4D00", VA = "0x1808D5F00")]
[ContextMenu("Support Group")]
private void SupportGroup()
{
Application.OpenURL("https://groups.google.com/forum/#!forum/final-ik");
}
// Token: 0x06002422 RID: 9250 RVA: 0x00052418 File Offset: 0x00050618
[Token(Token = "0x6002422")]
[Address(RVA = "0x8D5290", Offset = "0x8D4090", VA = "0x1808D5290")]
[ContextMenu("Asset Store Thread")]
private void ASThread()
{
Application.OpenURL("http://forum.unity3d.com/threads/final-ik-full-body-ik-aim-look-at-fabrik-ccd-ik-1-0-released.222685/");
}
// Token: 0x06002423 RID: 9251 RVA: 0x00052430 File Offset: 0x00050630
[Token(Token = "0x6002423")]
[Address(RVA = "0x8D5410", Offset = "0x8D4210", VA = "0x1808D5410")]
public float GetIKPositionWeight(AvatarIKGoal goal)
{
if (goal != AvatarIKGoal.LeftFoot)
{
if (goal != AvatarIKGoal.LeftFoot)
{
if (goal != AvatarIKGoal.LeftFoot)
{
BipedIKSolvers bipedIKSolvers = this.solvers;
}
BipedIKSolvers bipedIKSolvers2 = this.solvers;
}
BipedIKSolvers bipedIKSolvers3 = this.solvers;
}
return this.solvers.leftFoot.IKPositionWeight;
}
// Token: 0x06002424 RID: 9252 RVA: 0x00052474 File Offset: 0x00050674
[Token(Token = "0x6002424")]
[Address(RVA = "0x8D5520", Offset = "0x8D4320", VA = "0x1808D5520")]
public float GetIKRotationWeight(AvatarIKGoal goal)
{
if (goal != AvatarIKGoal.LeftFoot)
{
if (goal != AvatarIKGoal.LeftFoot)
{
if (goal != AvatarIKGoal.LeftFoot)
{
BipedIKSolvers bipedIKSolvers = this.solvers;
}
BipedIKSolvers bipedIKSolvers2 = this.solvers;
}
BipedIKSolvers bipedIKSolvers3 = this.solvers;
}
return this.solvers.leftFoot.IKRotationWeight;
}
// Token: 0x06002425 RID: 9253 RVA: 0x000524B8 File Offset: 0x000506B8
[Token(Token = "0x6002425")]
[Address(RVA = "0x8D5A20", Offset = "0x8D4820", VA = "0x1808D5A20")]
public void SetIKPositionWeight(AvatarIKGoal goal, float weight)
{
if (goal != AvatarIKGoal.LeftFoot)
{
if (goal != AvatarIKGoal.LeftFoot)
{
if (goal != AvatarIKGoal.LeftFoot)
{
BipedIKSolvers bipedIKSolvers = this.solvers;
}
BipedIKSolvers bipedIKSolvers2 = this.solvers;
}
BipedIKSolvers bipedIKSolvers3 = this.solvers;
}
this.solvers.leftFoot.SetIKPositionWeight(weight);
}
// Token: 0x06002426 RID: 9254 RVA: 0x00052500 File Offset: 0x00050700
[Token(Token = "0x6002426")]
[Address(RVA = "0x8D5B10", Offset = "0x8D4910", VA = "0x1808D5B10")]
public void SetIKRotationWeight(AvatarIKGoal goal, float weight)
{
if (goal != AvatarIKGoal.LeftFoot)
{
if (goal != AvatarIKGoal.LeftFoot)
{
if (goal != AvatarIKGoal.LeftFoot)
{
BipedIKSolvers bipedIKSolvers = this.solvers;
}
BipedIKSolvers bipedIKSolvers2 = this.solvers;
}
BipedIKSolvers bipedIKSolvers3 = this.solvers;
}
this.solvers.leftFoot.SetIKRotationWeight(weight);
}
// Token: 0x06002427 RID: 9255 RVA: 0x00052548 File Offset: 0x00050748
[Token(Token = "0x6002427")]
[Address(RVA = "0x8D5A90", Offset = "0x8D4890", VA = "0x1808D5A90")]
public void SetIKPosition(AvatarIKGoal goal, Vector3 IKPosition)
{
if (goal != AvatarIKGoal.LeftFoot)
{
if (goal != AvatarIKGoal.LeftFoot)
{
if (goal != AvatarIKGoal.LeftFoot)
{
BipedIKSolvers bipedIKSolvers = this.solvers;
}
BipedIKSolvers bipedIKSolvers2 = this.solvers;
}
BipedIKSolvers bipedIKSolvers3 = this.solvers;
}
IKSolverLimb leftFoot = this.solvers.leftFoot;
float z = IKPosition.z;
leftFoot.IKPosition.z = z;
}
// Token: 0x06002428 RID: 9256 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002428")]
[Address(RVA = "0x8D5B80", Offset = "0x8D4980", VA = "0x1808D5B80")]
public void SetIKRotation(AvatarIKGoal goal, Quaternion IKRotation)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002429 RID: 9257 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002429")]
[Address(RVA = "0x8D5480", Offset = "0x8D4280", VA = "0x1808D5480")]
public Vector3 GetIKPosition(AvatarIKGoal goal)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600242A RID: 9258 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600242A")]
[Address(RVA = "0x8D5590", Offset = "0x8D4390", VA = "0x1808D5590")]
public Quaternion GetIKRotation(AvatarIKGoal goal)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600242B RID: 9259 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600242B")]
[Address(RVA = "0x8D5C20", Offset = "0x8D4A20", VA = "0x1808D5C20")]
public void SetLookAtWeight(float weight, float bodyWeight, float headWeight, float eyesWeight, float clampWeight, float clampWeightHead, float clampWeightEyes)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600242C RID: 9260 RVA: 0x000525A0 File Offset: 0x000507A0
[Token(Token = "0x600242C")]
[Address(RVA = "0x8D5BF0", Offset = "0x8D49F0", VA = "0x1808D5BF0")]
public void SetLookAtPosition(Vector3 lookAtPosition)
{
IKSolverLookAt lookAt = this.solvers.lookAt;
float z = lookAtPosition.z;
lookAt.IKPosition.z = z;
}
// Token: 0x0600242D RID: 9261 RVA: 0x000525D4 File Offset: 0x000507D4
[Token(Token = "0x600242D")]
[Address(RVA = "0x8D5C60", Offset = "0x8D4A60", VA = "0x1808D5C60")]
public void SetSpinePosition(Vector3 spinePosition)
{
IKSolverFABRIK spine = this.solvers.spine;
float z = spinePosition.z;
spine.IKPosition.z = z;
}
// Token: 0x0600242E RID: 9262 RVA: 0x00052608 File Offset: 0x00050808
[Token(Token = "0x600242E")]
[Address(RVA = "0x8D5C90", Offset = "0x8D4A90", VA = "0x1808D5C90")]
public void SetSpineWeight(float weight)
{
this.solvers.spine.SetIKPositionWeight(weight);
}
// Token: 0x0600242F RID: 9263 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600242F")]
[Address(RVA = "0x8D53A0", Offset = "0x8D41A0", VA = "0x1808D53A0")]
public IKSolverLimb GetGoalIK(AvatarIKGoal goal)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002430 RID: 9264 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002430")]
[Address(RVA = "0x638370", Offset = "0x637170", VA = "0x180638370")]
public void InitiateBipedIK()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002431 RID: 9265 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002431")]
[Address(RVA = "0x30E190", Offset = "0x30CF90", VA = "0x18030E190")]
public void UpdateBipedIK()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002432 RID: 9266 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002432")]
[Address(RVA = "0x8D5CC0", Offset = "0x8D4AC0", VA = "0x1808D5CC0")]
public void SetToDefaults()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002433 RID: 9267 RVA: 0x0005262C File Offset: 0x0005082C
[Token(Token = "0x6002433")]
[Address(RVA = "0x8D52D0", Offset = "0x8D40D0", VA = "0x1808D52D0", Slot = "6")]
protected override void FixTransforms()
{
this.solvers.lookAt.FixTransforms();
BipedIKSolvers bipedIKSolvers = this.solvers;
int num = 0;
IKSolverLimb[] limbs = bipedIKSolvers.limbs;
if (num < limbs.Length)
{
this.solvers.limbs[num].FixTransforms();
BipedIKSolvers bipedIKSolvers2 = this.solvers;
num++;
}
}
// Token: 0x06002434 RID: 9268 RVA: 0x0005268C File Offset: 0x0005088C
[Token(Token = "0x6002434")]
[Address(RVA = "0x8D5600", Offset = "0x8D4400", VA = "0x1808D5600", Slot = "4")]
protected override void InitiateSolver()
{
string text;
if (!BipedReferences.SetupError(this.references, text))
{
BipedIKSolvers bipedIKSolvers = this.solvers;
BipedReferences bipedReferences = this.references;
IKSolverLimb leftHand = bipedIKSolvers.leftHand;
Transform root = bipedReferences.root;
int num = 0;
Transform leftHand2 = bipedReferences.leftHand;
Transform leftForearm = bipedReferences.leftForearm;
Transform leftUpperArm = bipedReferences.leftUpperArm;
bool flag = leftHand.SetChain(leftUpperArm, leftForearm, leftHand2, root);
IKSolverLimb rightHand = bipedIKSolvers.rightHand;
Transform root2 = bipedReferences.root;
Transform rightHand2 = bipedReferences.rightHand;
Transform rightForearm = bipedReferences.rightForearm;
Transform rightUpperArm = bipedReferences.rightUpperArm;
bool flag2 = rightHand.SetChain(rightUpperArm, rightForearm, rightHand2, root2);
IKSolverLimb leftFoot = bipedIKSolvers.leftFoot;
Transform root3 = bipedReferences.root;
Transform leftFoot2 = bipedReferences.leftFoot;
Transform leftCalf = bipedReferences.leftCalf;
Transform leftThigh = bipedReferences.leftThigh;
bool flag3 = leftFoot.SetChain(leftThigh, leftCalf, leftFoot2, root3);
IKSolverLimb rightFoot = bipedIKSolvers.rightFoot;
Transform root4 = bipedReferences.root;
Transform rightFoot2 = bipedReferences.rightFoot;
Transform rightCalf = bipedReferences.rightCalf;
Transform rightThigh = bipedReferences.rightThigh;
bool flag4 = rightFoot.SetChain(rightThigh, rightCalf, rightFoot2, root4);
IKSolverFABRIK spine = bipedIKSolvers.spine;
Transform root5 = bipedReferences.root;
Transform[] spine2 = bipedReferences.spine;
bool flag5 = spine.SetChain(spine2, root5);
IKSolverLookAt lookAt = bipedIKSolvers.lookAt;
Transform root6 = bipedReferences.root;
Transform[] eyes = bipedReferences.eyes;
Transform head = bipedReferences.head;
Transform[] spine3 = bipedReferences.spine;
bool flag6 = lookAt.SetChain(spine3, head, eyes, root6);
IKSolverAim aim = bipedIKSolvers.aim;
Transform root7 = bipedReferences.root;
Transform[] spine4 = bipedReferences.spine;
bool flag7 = aim.SetChain(spine4, root7);
bipedIKSolvers.leftFoot.goal = (AvatarIKGoal)num;
bipedIKSolvers.rightFoot.goal = (AvatarIKGoal)((ulong)1L);
bipedIKSolvers.leftHand.goal = (AvatarIKGoal)((ulong)2L);
bipedIKSolvers.rightHand.goal = (AvatarIKGoal)((ulong)3L);
BipedIKSolvers bipedIKSolvers2 = this.solvers;
IKSolverFABRIK spine5 = bipedIKSolvers2.spine;
if (spine5.bones.Length > 1)
{
Transform transform = base.transform;
spine5.Initiate(transform);
BipedIKSolvers bipedIKSolvers3 = this.solvers;
}
IKSolverLookAt lookAt2 = bipedIKSolvers2.lookAt;
Transform transform2 = base.transform;
lookAt2.Initiate(transform2);
IKSolverAim aim2 = this.solvers.aim;
Transform transform3 = base.transform;
aim2.Initiate(transform3);
IKSolverLimb[] limbs = this.solvers.limbs;
int length = limbs.Length;
if (num < length)
{
IKSolverLimb iksolverLimb = limbs[num];
Transform transform4 = base.transform;
iksolverLimb.Initiate(transform4);
num++;
}
BipedIKSolvers bipedIKSolvers4 = this.solvers;
BipedReferences bipedReferences2 = this.references;
Constraints pelvis = bipedIKSolvers4.pelvis;
Transform pelvis2 = bipedReferences2.pelvis;
pelvis.Initiate(pelvis2);
return;
}
Transform root8 = this.references.root;
int num2 = 0;
Warning.Log(text, root8, num2 != 0);
throw new NullReferenceException();
}
// Token: 0x06002435 RID: 9269 RVA: 0x00052954 File Offset: 0x00050B54
[Token(Token = "0x6002435")]
[Address(RVA = "0x8D5F40", Offset = "0x8D4D40", VA = "0x1808D5F40", Slot = "5")]
protected override void UpdateSolver()
{
int num;
IKSolverFABRIK spine;
do
{
BipedIKSolvers bipedIKSolvers = this.solvers;
num = 0;
IKSolverLimb[] limbs = bipedIKSolvers.limbs;
BipedIKSolvers bipedIKSolvers2 = this.solvers;
if (num < limbs.Length)
{
bipedIKSolvers2.limbs[num].MaintainBend();
this.solvers.limbs[num].MaintainRotation();
BipedIKSolvers bipedIKSolvers3 = this.solvers;
num++;
}
bipedIKSolvers2.pelvis.Update();
spine = this.solvers.spine;
}
while (spine.bones.Length <= 1);
spine.Update();
this.solvers.aim.Update();
this.solvers.lookAt.Update();
IKSolverLimb[] limbs2 = this.solvers.limbs;
if (num < limbs2.Length)
{
this.solvers.limbs[num].Update();
BipedIKSolvers bipedIKSolvers4 = this.solvers;
num++;
while (bipedIKSolvers4 != 0)
{
}
}
}
// Token: 0x06002436 RID: 9270 RVA: 0x00052A48 File Offset: 0x00050C48
[Token(Token = "0x6002436")]
[Address(RVA = "0x8D5970", Offset = "0x8D4770", VA = "0x1808D5970")]
public void LogWarning(string message)
{
Transform transform = base.transform;
int num = 0;
Warning.Log(message, transform, num != 0);
}
// Token: 0x06002437 RID: 9271 RVA: 0x00052A68 File Offset: 0x00050C68
[Token(Token = "0x6002437")]
[Address(RVA = "0x8D6160", Offset = "0x8D4F60", VA = "0x1808D6160")]
public BipedIK()
{
BipedReferences bipedReferences = new BipedReferences();
this.references = bipedReferences;
BipedIKSolvers bipedIKSolvers = new BipedIKSolvers();
this.solvers = bipedIKSolvers;
base..ctor();
}
// Token: 0x04002DF1 RID: 11761
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002DF1")]
public BipedReferences references;
// Token: 0x04002DF2 RID: 11762
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002DF2")]
public BipedIKSolvers solvers;
}
}

View File

@@ -0,0 +1,229 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x020003F1 RID: 1009
[Token(Token = "0x20003F1")]
[Serializable]
public class BipedIKSolvers
{
// Token: 0x1700020B RID: 523
// (get) Token: 0x06002438 RID: 9272 RVA: 0x00052A98 File Offset: 0x00050C98
[Token(Token = "0x1700020B")]
public IKSolverLimb[] limbs
{
[Token(Token = "0x6002438")]
[Address(RVA = "0x8D5090", Offset = "0x8D3E90", VA = "0x1808D5090")]
get
{
IKSolverLimb[] limbs;
IKSolverLimb[] array;
IKSolverLimb iksolverLimb4;
for (;;)
{
limbs = this._limbs;
if (limbs != 0 && limbs.Length == 4)
{
return limbs;
}
array = new IKSolverLimb[4];
IKSolverLimb iksolverLimb = this.leftFoot;
if (iksolverLimb == 0 || array != 0)
{
array[0] = iksolverLimb;
IKSolverLimb iksolverLimb2 = this.rightFoot;
if (iksolverLimb2 == 0 || array != 0)
{
array[1] = iksolverLimb2;
IKSolverLimb iksolverLimb3 = this.leftHand;
if (iksolverLimb3 == 0 || array != 0)
{
array[2] = iksolverLimb3;
iksolverLimb4 = this.rightHand;
if (iksolverLimb4 == 0 || array != 0)
{
break;
}
}
}
}
}
array[3] = iksolverLimb4;
this._limbs = array;
return limbs;
}
}
// Token: 0x1700020C RID: 524
// (get) Token: 0x06002439 RID: 9273 RVA: 0x00052B34 File Offset: 0x00050D34
[Token(Token = "0x1700020C")]
public IKSolver[] ikSolvers
{
[Token(Token = "0x6002439")]
[Address(RVA = "0x8D4D80", Offset = "0x8D3B80", VA = "0x1808D4D80")]
get
{
IKSolver[] ikSolvers;
IKSolver[] array;
IKSolverAim iksolverAim;
for (;;)
{
ikSolvers = this._ikSolvers;
if (ikSolvers != 0 && ikSolvers.Length == 7)
{
return ikSolvers;
}
array = new IKSolver[7];
IKSolverLimb iksolverLimb = this.leftFoot;
if (iksolverLimb == 0 || array != 0)
{
array[0] = iksolverLimb;
IKSolverLimb iksolverLimb2 = this.rightFoot;
if (iksolverLimb2 == 0 || array != 0)
{
array[1] = iksolverLimb2;
IKSolverLimb iksolverLimb3 = this.leftHand;
if (iksolverLimb3 == 0 || array != 0)
{
array[2] = iksolverLimb3;
IKSolverLimb iksolverLimb4 = this.rightHand;
if (iksolverLimb4 == 0 || array != 0)
{
array[3] = iksolverLimb4;
IKSolverFABRIK iksolverFABRIK = this.spine;
if (iksolverFABRIK == 0 || array != 0)
{
array[4] = iksolverFABRIK;
IKSolverLookAt iksolverLookAt = this.lookAt;
if (iksolverLookAt == 0 || array != 0)
{
array[5] = iksolverLookAt;
iksolverAim = this.aim;
if (iksolverAim == 0 || array != 0)
{
break;
}
}
}
}
}
}
}
}
array[6] = iksolverAim;
this._ikSolvers = array;
return ikSolvers;
}
}
// Token: 0x0600243A RID: 9274 RVA: 0x00052C28 File Offset: 0x00050E28
[Token(Token = "0x600243A")]
[Address(RVA = "0x8D4A20", Offset = "0x8D3820", VA = "0x1808D4A20")]
public void AssignReferences(BipedReferences references)
{
IKSolverLimb iksolverLimb = this.leftHand;
Transform root = references.root;
int num = 0;
Transform transform = references.leftHand;
Transform leftForearm = references.leftForearm;
Transform leftUpperArm = references.leftUpperArm;
bool flag = iksolverLimb.SetChain(leftUpperArm, leftForearm, transform, root);
IKSolverLimb iksolverLimb2 = this.rightHand;
Transform root2 = references.root;
Transform transform2 = references.rightHand;
Transform rightForearm = references.rightForearm;
Transform rightUpperArm = references.rightUpperArm;
bool flag2 = iksolverLimb2.SetChain(rightUpperArm, rightForearm, transform2, root2);
IKSolverLimb iksolverLimb3 = this.leftFoot;
Transform root3 = references.root;
Transform transform3 = references.leftFoot;
Transform leftCalf = references.leftCalf;
Transform leftThigh = references.leftThigh;
bool flag3 = iksolverLimb3.SetChain(leftThigh, leftCalf, transform3, root3);
IKSolverLimb iksolverLimb4 = this.rightFoot;
Transform root4 = references.root;
Transform transform4 = references.rightFoot;
Transform rightCalf = references.rightCalf;
Transform rightThigh = references.rightThigh;
bool flag4 = iksolverLimb4.SetChain(rightThigh, rightCalf, transform4, root4);
IKSolverFABRIK iksolverFABRIK = this.spine;
Transform root5 = references.root;
Transform[] array = references.spine;
bool flag5 = iksolverFABRIK.SetChain(array, root5);
IKSolverLookAt iksolverLookAt = this.lookAt;
Transform root6 = references.root;
Transform[] eyes = references.eyes;
Transform head = references.head;
Transform[] array2 = references.spine;
bool flag6 = iksolverLookAt.SetChain(array2, head, eyes, root6);
IKSolverAim iksolverAim = this.aim;
Transform root7 = references.root;
Transform[] array3 = references.spine;
bool flag7 = iksolverAim.SetChain(array3, root7);
this.leftFoot.goal = (AvatarIKGoal)num;
this.rightFoot.goal = (AvatarIKGoal)((ulong)1L);
this.leftHand.goal = (AvatarIKGoal)((ulong)2L);
this.rightHand.goal = (AvatarIKGoal)((ulong)3L);
}
// Token: 0x0600243B RID: 9275 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600243B")]
[Address(RVA = "0x8D4BC0", Offset = "0x8D39C0", VA = "0x1808D4BC0")]
public BipedIKSolvers()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x04002DF3 RID: 11763
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4002DF3")]
public IKSolverLimb leftFoot;
// Token: 0x04002DF4 RID: 11764
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002DF4")]
public IKSolverLimb rightFoot;
// Token: 0x04002DF5 RID: 11765
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002DF5")]
public IKSolverLimb leftHand;
// Token: 0x04002DF6 RID: 11766
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002DF6")]
public IKSolverLimb rightHand;
// Token: 0x04002DF7 RID: 11767
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002DF7")]
public IKSolverFABRIK spine;
// Token: 0x04002DF8 RID: 11768
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002DF8")]
public IKSolverLookAt lookAt;
// Token: 0x04002DF9 RID: 11769
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002DF9")]
public IKSolverAim aim;
// Token: 0x04002DFA RID: 11770
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002DFA")]
public Constraints pelvis;
// Token: 0x04002DFB RID: 11771
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4002DFB")]
private IKSolverLimb[] _limbs;
// Token: 0x04002DFC RID: 11772
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4002DFC")]
private IKSolver[] _ikSolvers;
}
}

View File

@@ -0,0 +1,68 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x0200046C RID: 1132
[Token(Token = "0x200046C")]
public class BodyTilt : OffsetModifier
{
// Token: 0x06002894 RID: 10388 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002894")]
[Address(RVA = "0xDE3E10", Offset = "0xDE2C10", VA = "0x180DE3E10", Slot = "5")]
protected override void Start()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002895 RID: 10389 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002895")]
[Address(RVA = "0xDE3C10", Offset = "0xDE2A10", VA = "0x180DE3C10", Slot = "4")]
protected override void OnModifyOffset()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002896 RID: 10390 RVA: 0x0005961C File Offset: 0x0005781C
[Token(Token = "0x6002896")]
[Address(RVA = "0xDE3E60", Offset = "0xDE2C60", VA = "0x180DE3E60")]
public BodyTilt()
{
}
// Token: 0x040031D9 RID: 12761
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40031D9")]
[Tooltip("Speed of tilting")]
public float tiltSpeed = 6f;
// Token: 0x040031DA RID: 12762
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x40031DA")]
[Tooltip("Sensitivity of tilting")]
public float tiltSensitivity = 0.07f;
// Token: 0x040031DB RID: 12763
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x40031DB")]
[Tooltip("The OffsetPose components")]
public OffsetPose poseLeft;
// Token: 0x040031DC RID: 12764
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x40031DC")]
[Tooltip("The OffsetPose components")]
public OffsetPose poseRight;
// Token: 0x040031DD RID: 12765
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x40031DD")]
private float tiltAngle;
// Token: 0x040031DE RID: 12766
[FieldOffset(Offset = "0x4C")]
[Token(Token = "0x40031DE")]
private Vector3 lastForward;
}
}

View File

@@ -0,0 +1,72 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x02000407 RID: 1031
[Token(Token = "0x2000407")]
[HelpURL("http://www.root-motion.com/finalikdox/html/page3.html")]
[AddComponentMenu("Scripts/RootMotion.FinalIK/IK/CCD IK")]
public class CCDIK : IK
{
// Token: 0x060024F4 RID: 9460 RVA: 0x00053B6C File Offset: 0x00051D6C
[Token(Token = "0x60024F4")]
[Address(RVA = "0x1348D60", Offset = "0x1347B60", VA = "0x181348D60", Slot = "8")]
[ContextMenu("User Manual")]
protected override void OpenUserManual()
{
Application.OpenURL("http://www.root-motion.com/finalikdox/html/page3.html");
}
// Token: 0x060024F5 RID: 9461 RVA: 0x00053B84 File Offset: 0x00051D84
[Token(Token = "0x60024F5")]
[Address(RVA = "0x1348D20", Offset = "0x1347B20", VA = "0x181348D20", Slot = "9")]
[ContextMenu("Scrpt Reference")]
protected override void OpenScriptReference()
{
Application.OpenURL("http://www.root-motion.com/finalikdox/html/class_root_motion_1_1_final_i_k_1_1_c_c_d_i_k.html");
}
// Token: 0x060024F6 RID: 9462 RVA: 0x00053B9C File Offset: 0x00051D9C
[Token(Token = "0x60024F6")]
[Address(RVA = "0x1348DA0", Offset = "0x1347BA0", VA = "0x181348DA0")]
[ContextMenu("Support Group")]
private void SupportGroup()
{
Application.OpenURL("https://groups.google.com/forum/#!forum/final-ik");
}
// Token: 0x060024F7 RID: 9463 RVA: 0x00053BB4 File Offset: 0x00051DB4
[Token(Token = "0x60024F7")]
[Address(RVA = "0x1348CE0", Offset = "0x1347AE0", VA = "0x181348CE0")]
[ContextMenu("Asset Store Thread")]
private void ASThread()
{
Application.OpenURL("http://forum.unity3d.com/threads/final-ik-full-body-ik-aim-look-at-fabrik-ccd-ik-1-0-released.222685/");
}
// Token: 0x060024F8 RID: 9464 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024F8")]
[Address(RVA = "0x31E3C0", Offset = "0x31D1C0", VA = "0x18031E3C0", Slot = "7")]
public override IKSolver GetIKSolver()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024F9 RID: 9465 RVA: 0x00053BCC File Offset: 0x00051DCC
[Token(Token = "0x60024F9")]
[Address(RVA = "0x1348DE0", Offset = "0x1347BE0", VA = "0x181348DE0")]
public CCDIK()
{
IKSolverCCD iksolverCCD = new IKSolverCCD();
this.solver = iksolverCCD;
base..ctor();
}
// Token: 0x04002E9A RID: 11930
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002E9A")]
public IKSolverCCD solver;
}
}

View File

@@ -0,0 +1,49 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x020003F2 RID: 1010
[Token(Token = "0x20003F2")]
[Serializable]
public abstract class Constraint
{
// Token: 0x1700020D RID: 525
// (get) Token: 0x0600243C RID: 9276 RVA: 0x00052DD4 File Offset: 0x00050FD4
[Token(Token = "0x1700020D")]
public bool isValid
{
[Token(Token = "0x600243C")]
[Address(RVA = "0xE90970", Offset = "0xE8F770", VA = "0x180E90970")]
get
{
Transform transform = this.transform;
int num = 0;
return transform != num;
}
}
// Token: 0x0600243D RID: 9277
[Token(Token = "0x600243D")]
[Address(Slot = "4")]
public abstract void UpdateConstraint();
// Token: 0x0600243E RID: 9278 RVA: 0x00052DF4 File Offset: 0x00050FF4
[Token(Token = "0x600243E")]
[Address(RVA = "0x3D8B20", Offset = "0x3D7920", VA = "0x1803D8B20")]
protected Constraint()
{
}
// Token: 0x04002DFD RID: 11773
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4002DFD")]
public Transform transform;
// Token: 0x04002DFE RID: 11774
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002DFE")]
public float weight;
}
}

View File

@@ -0,0 +1,54 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x020003F3 RID: 1011
[Token(Token = "0x20003F3")]
[Serializable]
public class ConstraintPosition : Constraint
{
// Token: 0x0600243F RID: 9279 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600243F")]
[Address(RVA = "0xE904D0", Offset = "0xE8F2D0", VA = "0x180E904D0", Slot = "4")]
public override void UpdateConstraint()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002440 RID: 9280 RVA: 0x00052E08 File Offset: 0x00051008
[Token(Token = "0x6002440")]
[Address(RVA = "0x3D8B20", Offset = "0x3D7920", VA = "0x1803D8B20")]
public ConstraintPosition()
{
}
// Token: 0x06002441 RID: 9281 RVA: 0x00052E1C File Offset: 0x0005101C
[Token(Token = "0x6002441")]
[Address(RVA = "0x44F860", Offset = "0x44E660", VA = "0x18044F860")]
public ConstraintPosition(Transform transform)
{
/*
An exception occurred when decompiling this method (06002441)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void RootMotion.FinalIK.ConstraintPosition::.ctor(UnityEngine.Transform)
---> System.Exception: Basic block has to end with unconditional control flow.
{; Block_0:; call:void(object::.ctor, ldloc:ConstraintPosition[exp:object](this)); stfld:Transform(Constraint::transform, ldloc:ConstraintPosition[exp:Constraint](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: 0x04002DFF RID: 11775
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002DFF")]
public Vector3 position;
}
}

View File

@@ -0,0 +1,82 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x020003F4 RID: 1012
[Token(Token = "0x20003F4")]
[Serializable]
public class ConstraintPositionOffset : Constraint
{
// Token: 0x06002442 RID: 9282 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002442")]
[Address(RVA = "0xE90210", Offset = "0xE8F010", VA = "0x180E90210", Slot = "4")]
public override void UpdateConstraint()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002443 RID: 9283 RVA: 0x00052E38 File Offset: 0x00051038
[Token(Token = "0x6002443")]
[Address(RVA = "0x3D8B20", Offset = "0x3D7920", VA = "0x1803D8B20")]
public ConstraintPositionOffset()
{
}
// Token: 0x06002444 RID: 9284 RVA: 0x00052E4C File Offset: 0x0005104C
[Token(Token = "0x6002444")]
[Address(RVA = "0x44F860", Offset = "0x44E660", VA = "0x18044F860")]
public ConstraintPositionOffset(Transform transform)
{
/*
An exception occurred when decompiling this method (06002444)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void RootMotion.FinalIK.ConstraintPositionOffset::.ctor(UnityEngine.Transform)
---> System.Exception: Basic block has to end with unconditional control flow.
{; Block_0:; call:void(object::.ctor, ldloc:ConstraintPositionOffset[exp:object](this)); stfld:Transform(Constraint::transform, ldloc:ConstraintPositionOffset[exp:Constraint](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: 0x1700020E RID: 526
// (get) Token: 0x06002445 RID: 9285 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x1700020E")]
private bool positionChanged
{
[Token(Token = "0x6002445")]
[Address(RVA = "0xE90470", Offset = "0xE8F270", VA = "0x180E90470")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x04002E00 RID: 11776
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002E00")]
public Vector3 offset;
// Token: 0x04002E01 RID: 11777
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x4002E01")]
private Vector3 defaultLocalPosition;
// Token: 0x04002E02 RID: 11778
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002E02")]
private Vector3 lastLocalPosition;
// Token: 0x04002E03 RID: 11779
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x4002E03")]
private bool initiated;
}
}

View File

@@ -0,0 +1,54 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x020003F5 RID: 1013
[Token(Token = "0x20003F5")]
[Serializable]
public class ConstraintRotation : Constraint
{
// Token: 0x06002446 RID: 9286 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002446")]
[Address(RVA = "0xE90870", Offset = "0xE8F670", VA = "0x180E90870", Slot = "4")]
public override void UpdateConstraint()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002447 RID: 9287 RVA: 0x00052E68 File Offset: 0x00051068
[Token(Token = "0x6002447")]
[Address(RVA = "0x3D8B20", Offset = "0x3D7920", VA = "0x1803D8B20")]
public ConstraintRotation()
{
}
// Token: 0x06002448 RID: 9288 RVA: 0x00052E7C File Offset: 0x0005107C
[Token(Token = "0x6002448")]
[Address(RVA = "0x44F860", Offset = "0x44E660", VA = "0x18044F860")]
public ConstraintRotation(Transform transform)
{
/*
An exception occurred when decompiling this method (06002448)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void RootMotion.FinalIK.ConstraintRotation::.ctor(UnityEngine.Transform)
---> System.Exception: Basic block has to end with unconditional control flow.
{; Block_0:; call:void(object::.ctor, ldloc:ConstraintRotation[exp:object](this)); stfld:Transform(Constraint::transform, ldloc:ConstraintRotation[exp:Constraint](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: 0x04002E04 RID: 11780
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002E04")]
public Quaternion rotation;
}
}

View File

@@ -0,0 +1,92 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x020003F6 RID: 1014
[Token(Token = "0x20003F6")]
[Serializable]
public class ConstraintRotationOffset : Constraint
{
// Token: 0x06002449 RID: 9289 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002449")]
[Address(RVA = "0xE90630", Offset = "0xE8F430", VA = "0x180E90630", Slot = "4")]
public override void UpdateConstraint()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600244A RID: 9290 RVA: 0x00052E98 File Offset: 0x00051098
[Token(Token = "0x600244A")]
[Address(RVA = "0x3D8B20", Offset = "0x3D7920", VA = "0x1803D8B20")]
public ConstraintRotationOffset()
{
}
// Token: 0x0600244B RID: 9291 RVA: 0x00052EAC File Offset: 0x000510AC
[Token(Token = "0x600244B")]
[Address(RVA = "0x44F860", Offset = "0x44E660", VA = "0x18044F860")]
public ConstraintRotationOffset(Transform transform)
{
/*
An exception occurred when decompiling this method (0600244B)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void RootMotion.FinalIK.ConstraintRotationOffset::.ctor(UnityEngine.Transform)
---> System.Exception: Basic block has to end with unconditional control flow.
{; Block_0:; call:void(object::.ctor, ldloc:ConstraintRotationOffset[exp:object](this)); stfld:Transform(Constraint::transform, ldloc:ConstraintRotationOffset[exp:Constraint](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: 0x1700020F RID: 527
// (get) Token: 0x0600244C RID: 9292 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x1700020F")]
private bool rotationChanged
{
[Token(Token = "0x600244C")]
[Address(RVA = "0xE90820", Offset = "0xE8F620", VA = "0x180E90820")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x04002E05 RID: 11781
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002E05")]
public Quaternion offset;
// Token: 0x04002E06 RID: 11782
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002E06")]
private Quaternion defaultRotation;
// Token: 0x04002E07 RID: 11783
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002E07")]
private Quaternion defaultLocalRotation;
// Token: 0x04002E08 RID: 11784
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4002E08")]
private Quaternion lastLocalRotation;
// Token: 0x04002E09 RID: 11785
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4002E09")]
private Quaternion defaultTargetLocalRotation;
// Token: 0x04002E0A RID: 11786
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4002E0A")]
private bool initiated;
}
}

View File

@@ -0,0 +1,87 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x020003F7 RID: 1015
[Token(Token = "0x20003F7")]
[Serializable]
public class Constraints
{
// Token: 0x0600244D RID: 9293 RVA: 0x00052EC8 File Offset: 0x000510C8
[Token(Token = "0x600244D")]
[Address(RVA = "0xE90A50", Offset = "0xE8F850", VA = "0x180E90A50")]
public bool IsValid()
{
Transform transform = this.transform;
int num = 0;
return transform != num;
}
// Token: 0x0600244E RID: 9294 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600244E")]
[Address(RVA = "0xE909D0", Offset = "0xE8F7D0", VA = "0x180E909D0")]
public void Initiate(Transform transform)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600244F RID: 9295 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600244F")]
[Address(RVA = "0xE90AB0", Offset = "0xE8F8B0", VA = "0x180E90AB0")]
public void Update()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002450 RID: 9296 RVA: 0x00052EE8 File Offset: 0x000510E8
[Token(Token = "0x6002450")]
[Address(RVA = "0x3D8B20", Offset = "0x3D7920", VA = "0x1803D8B20")]
public Constraints()
{
}
// Token: 0x04002E0B RID: 11787
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4002E0B")]
public Transform transform;
// Token: 0x04002E0C RID: 11788
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002E0C")]
public Transform target;
// Token: 0x04002E0D RID: 11789
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002E0D")]
public Vector3 positionOffset;
// Token: 0x04002E0E RID: 11790
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x4002E0E")]
public Vector3 position;
// Token: 0x04002E0F RID: 11791
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002E0F")]
[Range(0f, 1f)]
public float positionWeight;
// Token: 0x04002E10 RID: 11792
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x4002E10")]
public Vector3 rotationOffset;
// Token: 0x04002E11 RID: 11793
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002E11")]
public Vector3 rotation;
// Token: 0x04002E12 RID: 11794
[FieldOffset(Offset = "0x54")]
[Token(Token = "0x4002E12")]
[Range(0f, 1f)]
public float rotationWeight;
}
}

View File

@@ -0,0 +1,72 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x02000408 RID: 1032
[Token(Token = "0x2000408")]
[HelpURL("http://www.root-motion.com/finalikdox/html/page4.html")]
[AddComponentMenu("Scripts/RootMotion.FinalIK/IK/FABRIK")]
public class FABRIK : IK
{
// Token: 0x060024FA RID: 9466 RVA: 0x00053BEC File Offset: 0x00051DEC
[Token(Token = "0x60024FA")]
[Address(RVA = "0xA6B470", Offset = "0xA6A270", VA = "0x180A6B470", Slot = "8")]
[ContextMenu("User Manual")]
protected override void OpenUserManual()
{
Application.OpenURL("http://www.root-motion.com/finalikdox/html/page4.html");
}
// Token: 0x060024FB RID: 9467 RVA: 0x00053C04 File Offset: 0x00051E04
[Token(Token = "0x60024FB")]
[Address(RVA = "0xA6B430", Offset = "0xA6A230", VA = "0x180A6B430", Slot = "9")]
[ContextMenu("Scrpt Reference")]
protected override void OpenScriptReference()
{
Application.OpenURL("http://www.root-motion.com/finalikdox/html/class_root_motion_1_1_final_i_k_1_1_f_a_b_r_i_k.html");
}
// Token: 0x060024FC RID: 9468 RVA: 0x00053C1C File Offset: 0x00051E1C
[Token(Token = "0x60024FC")]
[Address(RVA = "0xA6B4B0", Offset = "0xA6A2B0", VA = "0x180A6B4B0")]
[ContextMenu("Support Group")]
private void SupportGroup()
{
Application.OpenURL("https://groups.google.com/forum/#!forum/final-ik");
}
// Token: 0x060024FD RID: 9469 RVA: 0x00053C34 File Offset: 0x00051E34
[Token(Token = "0x60024FD")]
[Address(RVA = "0xA6B3F0", Offset = "0xA6A1F0", VA = "0x180A6B3F0")]
[ContextMenu("Asset Store Thread")]
private void ASThread()
{
Application.OpenURL("http://forum.unity3d.com/threads/final-ik-full-body-ik-aim-look-at-fabrik-ccd-ik-1-0-released.222685/");
}
// Token: 0x060024FE RID: 9470 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024FE")]
[Address(RVA = "0x31E3C0", Offset = "0x31D1C0", VA = "0x18031E3C0", Slot = "7")]
public override IKSolver GetIKSolver()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024FF RID: 9471 RVA: 0x00053C4C File Offset: 0x00051E4C
[Token(Token = "0x60024FF")]
[Address(RVA = "0xA6B4F0", Offset = "0xA6A2F0", VA = "0x180A6B4F0")]
public FABRIK()
{
IKSolverFABRIK iksolverFABRIK = new IKSolverFABRIK();
this.solver = iksolverFABRIK;
base..ctor();
}
// Token: 0x04002E9B RID: 11931
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002E9B")]
public IKSolverFABRIK solver;
}
}

View File

@@ -0,0 +1,88 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x02000413 RID: 1043
[Token(Token = "0x2000413")]
[Serializable]
public class FABRIKChain
{
// Token: 0x06002546 RID: 9542 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002546")]
[Address(RVA = "0xA6AE80", Offset = "0xA69C80", VA = "0x180A6AE80")]
public bool IsValid(ref string message)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002547 RID: 9543 RVA: 0x0005455C File Offset: 0x0005275C
[Token(Token = "0x6002547")]
[Address(RVA = "0xA6AE50", Offset = "0xA69C50", VA = "0x180A6AE50")]
public void Initiate()
{
FABRIK fabrik = this.ik;
int num = 0;
fabrik.enabled = num != 0;
}
// Token: 0x06002548 RID: 9544 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002548")]
[Address(RVA = "0xA6AF60", Offset = "0xA69D60", VA = "0x180A6AF60")]
public void Stage1(FABRIKChain[] chain)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002549 RID: 9545 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002549")]
[Address(RVA = "0xA6B0A0", Offset = "0xA69EA0", VA = "0x180A6B0A0")]
public void Stage2(Vector3 rootPosition, FABRIKChain[] chain)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600254A RID: 9546 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600254A")]
[Address(RVA = "0xA6AB30", Offset = "0xA69930", VA = "0x180A6AB30")]
private Vector3 GetCentroid(FABRIKChain[] chain)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600254B RID: 9547 RVA: 0x00054580 File Offset: 0x00052780
[Token(Token = "0x600254B")]
[Address(RVA = "0xA6B220", Offset = "0xA6A020", VA = "0x180A6B220")]
public FABRIKChain()
{
int num = 0;
this.pin = 1f;
int[] array = new int[num];
this.children = array;
base..ctor();
}
// Token: 0x04002EBE RID: 11966
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4002EBE")]
public FABRIK ik;
// Token: 0x04002EBF RID: 11967
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002EBF")]
[Range(0f, 1f)]
public float pull = 1f;
// Token: 0x04002EC0 RID: 11968
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x4002EC0")]
[Range(0f, 1f)]
public float pin;
// Token: 0x04002EC1 RID: 11969
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002EC1")]
public int[] children;
}
}

View File

@@ -0,0 +1,72 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x02000409 RID: 1033
[Token(Token = "0x2000409")]
[HelpURL("http://www.root-motion.com/finalikdox/html/page5.html")]
[AddComponentMenu("Scripts/RootMotion.FinalIK/IK/FABRIK Root")]
public class FABRIKRoot : IK
{
// Token: 0x06002500 RID: 9472 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002500")]
[Address(RVA = "0xA6B300", Offset = "0xA6A100", VA = "0x180A6B300", Slot = "8")]
[ContextMenu("User Manual")]
protected override void OpenUserManual()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002501 RID: 9473 RVA: 0x00053C6C File Offset: 0x00051E6C
[Token(Token = "0x6002501")]
[Address(RVA = "0xA6B2C0", Offset = "0xA6A0C0", VA = "0x180A6B2C0", Slot = "9")]
[ContextMenu("Scrpt Reference")]
protected override void OpenScriptReference()
{
Application.OpenURL("http://www.root-motion.com/finalikdox/html/class_root_motion_1_1_final_i_k_1_1_f_a_b_r_i_k_root.html");
}
// Token: 0x06002502 RID: 9474 RVA: 0x00053C84 File Offset: 0x00051E84
[Token(Token = "0x6002502")]
[Address(RVA = "0xA6B340", Offset = "0xA6A140", VA = "0x180A6B340")]
[ContextMenu("Support Group")]
private void SupportGroup()
{
Application.OpenURL("https://groups.google.com/forum/#!forum/final-ik");
}
// Token: 0x06002503 RID: 9475 RVA: 0x00053C9C File Offset: 0x00051E9C
[Token(Token = "0x6002503")]
[Address(RVA = "0xA6B280", Offset = "0xA6A080", VA = "0x180A6B280")]
[ContextMenu("Asset Store Thread")]
private void ASThread()
{
Application.OpenURL("http://forum.unity3d.com/threads/final-ik-full-body-ik-aim-look-at-fabrik-ccd-ik-1-0-released.222685/");
}
// Token: 0x06002504 RID: 9476 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002504")]
[Address(RVA = "0x31E3C0", Offset = "0x31D1C0", VA = "0x18031E3C0", Slot = "7")]
public override IKSolver GetIKSolver()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002505 RID: 9477 RVA: 0x00053CB4 File Offset: 0x00051EB4
[Token(Token = "0x6002505")]
[Address(RVA = "0xA6B380", Offset = "0xA6A180", VA = "0x180A6B380")]
public FABRIKRoot()
{
IKSolverFABRIKRoot iksolverFABRIKRoot = new IKSolverFABRIKRoot();
this.solver = iksolverFABRIKRoot;
base..ctor();
}
// Token: 0x04002E9C RID: 11932
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002E9C")]
public IKSolverFABRIKRoot solver;
}
}

View File

@@ -0,0 +1,96 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x02000414 RID: 1044
[Token(Token = "0x2000414")]
public class FBBIKArmBending : MonoBehaviour
{
// Token: 0x0600254C RID: 9548 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600254C")]
[Address(RVA = "0xA6B560", Offset = "0xA6A360", VA = "0x180A6B560")]
private void LateUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600254D RID: 9549 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600254D")]
[Address(RVA = "0xA6BD50", Offset = "0xA6AB50", VA = "0x180A6BD50")]
private void OnPostFBBIK()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600254E RID: 9550 RVA: 0x000545BC File Offset: 0x000527BC
[Token(Token = "0x600254E")]
[Address(RVA = "0xA6BC30", Offset = "0xA6AA30", VA = "0x180A6BC30")]
private void OnDestroy()
{
FullBodyBipedIK fullBodyBipedIK = this.ik;
int num = 0;
if (fullBodyBipedIK != num)
{
IKSolverFullBodyBiped solver = this.ik.solver;
IKSolver.UpdateDelegate onPostUpdate = solver.OnPostUpdate;
IKSolver.UpdateDelegate updateDelegate = new IKSolver.UpdateDelegate(this.OnPostFBBIK);
Delegate @delegate = Delegate.Remove(onPostUpdate, updateDelegate);
int num2 = 0;
if (@delegate != 0 && @delegate == 0)
{
throw new InvalidCastException();
}
solver.OnPostUpdate = num2;
}
}
// Token: 0x0600254F RID: 9551 RVA: 0x00054628 File Offset: 0x00052828
[Token(Token = "0x600254F")]
[Address(RVA = "0x3088F0", Offset = "0x3076F0", VA = "0x1803088F0")]
public FBBIKArmBending()
{
}
// Token: 0x04002EC2 RID: 11970
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002EC2")]
public FullBodyBipedIK ik;
// Token: 0x04002EC3 RID: 11971
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002EC3")]
public Vector3 bendDirectionOffsetLeft;
// Token: 0x04002EC4 RID: 11972
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x4002EC4")]
public Vector3 bendDirectionOffsetRight;
// Token: 0x04002EC5 RID: 11973
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002EC5")]
public Vector3 characterSpaceBendOffsetLeft;
// Token: 0x04002EC6 RID: 11974
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x4002EC6")]
public Vector3 characterSpaceBendOffsetRight;
// Token: 0x04002EC7 RID: 11975
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4002EC7")]
private Quaternion leftHandTargetRotation;
// Token: 0x04002EC8 RID: 11976
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4002EC8")]
private Quaternion rightHandTargetRotation;
// Token: 0x04002EC9 RID: 11977
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4002EC9")]
private bool initiated;
}
}

View File

@@ -0,0 +1,527 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x02000415 RID: 1045
[Token(Token = "0x2000415")]
public class FBBIKHeadEffector : MonoBehaviour
{
// Token: 0x06002550 RID: 9552 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002550")]
[Address(RVA = "0xA6BF50", Offset = "0xA6AD50", VA = "0x180A6BF50")]
private void Awake()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002551 RID: 9553 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002551")]
[Address(RVA = "0xA6F010", Offset = "0xA6DE10", VA = "0x180A6F010")]
private void OnStoreDefaultLocalState()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002552 RID: 9554 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002552")]
[Address(RVA = "0xA6DE90", Offset = "0xA6CC90", VA = "0x180A6DE90")]
private void OnFixTransforms()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002553 RID: 9555 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002553")]
[Address(RVA = "0xA6E630", Offset = "0xA6D430", VA = "0x180A6E630")]
private void OnPreRead()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002554 RID: 9556 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002554")]
[Address(RVA = "0xA6FC90", Offset = "0xA6EA90", VA = "0x180A6FC90")]
private void SpineBend()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002555 RID: 9557 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002555")]
[Address(RVA = "0xA6C370", Offset = "0xA6B170", VA = "0x180A6C370")]
private void CCDPass()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002556 RID: 9558 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002556")]
[Address(RVA = "0xA6CAB0", Offset = "0xA6B8B0", VA = "0x180A6CAB0")]
private void Iterate(int iteration)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002557 RID: 9559 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002557")]
[Address(RVA = "0xA6E410", Offset = "0xA6D210", VA = "0x180A6E410")]
private void OnPostUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002558 RID: 9560 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002558")]
[Address(RVA = "0xA6C810", Offset = "0xA6B610", VA = "0x180A6C810")]
private void ChestDirection()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002559 RID: 9561 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002559")]
[Address(RVA = "0xA6F6D0", Offset = "0xA6E4D0", VA = "0x180A6F6D0")]
private void PostStretching()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600255A RID: 9562 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600255A")]
[Address(RVA = "0xA6D920", Offset = "0xA6C720", VA = "0x180A6D920")]
private void LerpSolverPosition(IKEffector effector, Vector3 position, float weight, Vector3 offset)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600255B RID: 9563 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600255B")]
[Address(RVA = "0xA6FB00", Offset = "0xA6E900", VA = "0x180A6FB00")]
private void Solve(ref Vector3 pos1, ref Vector3 pos2, float nominalDistance)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600255C RID: 9564 RVA: 0x0005463C File Offset: 0x0005283C
[Token(Token = "0x600255C")]
[Address(RVA = "0xA6DAF0", Offset = "0xA6C8F0", VA = "0x180A6DAF0")]
private void OnDestroy()
{
FullBodyBipedIK fullBodyBipedIK = this.ik;
int num = 0;
if (fullBodyBipedIK != num)
{
IKSolverFullBodyBiped solver = this.ik.solver;
IKSolver.UpdateDelegate updateDelegate = new IKSolver.UpdateDelegate(this.OnPreRead);
Delegate @delegate = Delegate.Remove(updateDelegate, updateDelegate);
int num2 = 0;
if (@delegate == 0 || @delegate != 0)
{
solver.OnPreRead = num2;
IKSolverFullBodyBiped solver2 = this.ik.solver;
IKSolver.IterationDelegate iterationDelegate = new IKSolver.IterationDelegate(this.Iterate);
Delegate delegate2 = Delegate.Remove(iterationDelegate, iterationDelegate);
if (delegate2 == 0 || delegate2 != 0)
{
solver2.OnPreIteration = delegate2;
IKSolverFullBodyBiped solver3 = this.ik.solver;
IKSolver.UpdateDelegate onPostUpdate = solver3.OnPostUpdate;
IKSolver.UpdateDelegate updateDelegate2 = new IKSolver.UpdateDelegate(this.OnPostUpdate);
Delegate delegate3 = Delegate.Remove(onPostUpdate, updateDelegate2);
if (delegate3 == 0 || delegate3 != 0)
{
solver3.OnPostUpdate = delegate3;
IKSolverFullBodyBiped solver4 = this.ik.solver;
IKSolver.UpdateDelegate updateDelegate3 = new IKSolver.UpdateDelegate(this.OnStoreDefaultLocalState);
Delegate delegate4 = Delegate.Remove(onPostUpdate, updateDelegate3);
if (delegate4 == 0 || delegate4 != 0)
{
solver4.OnStoreDefaultLocalState = delegate4;
IKSolverFullBodyBiped solver5 = this.ik.solver;
IKSolver.UpdateDelegate onFixTransforms = solver5.OnFixTransforms;
IKSolver.UpdateDelegate updateDelegate4 = new IKSolver.UpdateDelegate(this.OnFixTransforms);
Delegate delegate5 = Delegate.Remove(onFixTransforms, updateDelegate4);
if (delegate5 == 0 || delegate5 != 0)
{
solver5.OnFixTransforms = delegate5;
return;
}
}
}
}
}
throw new InvalidCastException();
}
}
// Token: 0x0600255D RID: 9565 RVA: 0x000547A4 File Offset: 0x000529A4
[Token(Token = "0x600255D")]
[Address(RVA = "0xA70060", Offset = "0xA6EE60", VA = "0x180A70060")]
public FBBIKHeadEffector()
{
int num = 0;
this.bodyWeight = 0.8f;
this.thighWeight = 0.8f;
this.handsPullBody = true;
this.bodyClampWeight = 0.5f;
this.headClampWeight = 0.5f;
this.bendWeight = 1f;
FBBIKHeadEffector.BendBone[] array = new FBBIKHeadEffector.BendBone[num];
this.bendBones = array;
this.CCDWeight = 1f;
int num2 = 0;
this.damper = 500f;
Transform[] array2 = new Transform[num2];
this.CCDBones = array2;
this.postStretchWeight = 1f;
int num3 = 0;
this.maxStretch = 0.1f;
Transform[] array3 = new Transform[num3];
this.stretchBones = array3;
Vector3 forward = Vector3.forward;
int num4 = 0;
float z = forward.z;
this.chestDirection.z = z;
this.chestDirectionWeight = 1f;
Transform[] array4 = new Transform[num4];
this.chestBones = array4;
Quaternion[] array5 = new Quaternion[0];
this.ccdDefaultLocalRotations = array5;
Vector3[] array6 = new Vector3[0];
this.stretchLocalPositions = array6;
Quaternion[] array7 = new Quaternion[0];
this.stretchLocalRotations = array7;
Vector3[] array8 = new Vector3[0];
this.chestLocalPositions = array8;
Quaternion[] array9 = new Quaternion[0];
this.chestLocalRotations = array9;
base..ctor();
}
// Token: 0x04002ECA RID: 11978
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002ECA")]
[Tooltip("Reference to the FBBIK component.")]
public FullBodyBipedIK ik;
// Token: 0x04002ECB RID: 11979
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002ECB")]
[LargeHeader("Position")]
[Tooltip("Master weight for positioning the head.")]
[Range(0f, 1f)]
public float positionWeight = 1f;
// Token: 0x04002ECC RID: 11980
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x4002ECC")]
[Range(0f, 1f)]
[Tooltip("The weight of moving the body along with the head")]
public float bodyWeight;
// Token: 0x04002ECD RID: 11981
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002ECD")]
[Tooltip("The weight of moving the thighs along with the head")]
[Range(0f, 1f)]
public float thighWeight;
// Token: 0x04002ECE RID: 11982
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x4002ECE")]
[Tooltip("If false, hands will not pull the head away if they are too far. Disabling this will improve performance significantly.")]
public bool handsPullBody;
// Token: 0x04002ECF RID: 11983
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002ECF")]
[LargeHeader("Rotation")]
[Tooltip("The weight of rotating the head bone after solving")]
[Range(0f, 1f)]
public float rotationWeight;
// Token: 0x04002ED0 RID: 11984
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x4002ED0")]
[Tooltip("Clamping the rotation of the body")]
[Range(0f, 1f)]
public float bodyClampWeight;
// Token: 0x04002ED1 RID: 11985
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002ED1")]
[Range(0f, 1f)]
[Tooltip("Clamping the rotation of the head")]
public float headClampWeight;
// Token: 0x04002ED2 RID: 11986
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x4002ED2")]
[Range(0f, 1f)]
[Tooltip("The master weight of bending/twisting the spine to the rotation of the head effector. This is similar to CCD, but uses the rotation of the head effector not the position.")]
public float bendWeight;
// Token: 0x04002ED3 RID: 11987
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002ED3")]
[Tooltip("The bones to use for bending.")]
public FBBIKHeadEffector.BendBone[] bendBones;
// Token: 0x04002ED4 RID: 11988
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002ED4")]
[LargeHeader("CCD")]
[Range(0f, 1f)]
[Tooltip("Optional. The master weight of the CCD (Cyclic Coordinate Descent) IK effect that bends the spine towards the head effector before FBBIK solves.")]
public float CCDWeight;
// Token: 0x04002ED5 RID: 11989
[FieldOffset(Offset = "0x4C")]
[Token(Token = "0x4002ED5")]
[Range(0f, 1f)]
[Tooltip("The weight of rolling the bones in towards the target")]
public float roll;
// Token: 0x04002ED6 RID: 11990
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4002ED6")]
[Range(0f, 1000f)]
[Tooltip("Smoothing the CCD effect.")]
public float damper;
// Token: 0x04002ED7 RID: 11991
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4002ED7")]
[Tooltip("Bones to use for the CCD pass. Assign spine and/or neck bones.")]
public Transform[] CCDBones;
// Token: 0x04002ED8 RID: 11992
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4002ED8")]
[Tooltip("Stretching the spine/neck to help reach the target. This is useful for making sure the head stays locked relative to the VR headset. NB! Stretching is done after FBBIK has solved so if you have the hand effectors pinned and spine bones included in the 'Stretch Bones', the hands might become offset from their target positions.")]
[Range(0f, 1f)]
[LargeHeader("Stretching")]
public float postStretchWeight;
// Token: 0x04002ED9 RID: 11993
[FieldOffset(Offset = "0x64")]
[Token(Token = "0x4002ED9")]
[Tooltip("Stretch magnitude limit.")]
public float maxStretch;
// Token: 0x04002EDA RID: 11994
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4002EDA")]
[Tooltip("If > 0, dampers the stretching effect.")]
public float stretchDamper;
// Token: 0x04002EDB RID: 11995
[FieldOffset(Offset = "0x6C")]
[Token(Token = "0x4002EDB")]
[Tooltip("If true, will fix head position to this Transform no matter what. Good for making sure the head will not budge away from the VR headset")]
public bool fixHead;
// Token: 0x04002EDC RID: 11996
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4002EDC")]
[Tooltip("Bones to use for stretching. The more bones you add, the less noticable the effect.")]
public Transform[] stretchBones;
// Token: 0x04002EDD RID: 11997
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4002EDD")]
[LargeHeader("Chest Direction")]
public Vector3 chestDirection;
// Token: 0x04002EDE RID: 11998
[FieldOffset(Offset = "0x84")]
[Token(Token = "0x4002EDE")]
[Range(0f, 1f)]
public float chestDirectionWeight;
// Token: 0x04002EDF RID: 11999
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x4002EDF")]
public Transform[] chestBones;
// Token: 0x04002EE0 RID: 12000
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x4002EE0")]
public IKSolver.UpdateDelegate OnPostHeadEffectorFK;
// Token: 0x04002EE1 RID: 12001
[FieldOffset(Offset = "0x98")]
[Token(Token = "0x4002EE1")]
private Vector3 offset;
// Token: 0x04002EE2 RID: 12002
[FieldOffset(Offset = "0xA4")]
[Token(Token = "0x4002EE2")]
private Vector3 headToBody;
// Token: 0x04002EE3 RID: 12003
[FieldOffset(Offset = "0xB0")]
[Token(Token = "0x4002EE3")]
private Vector3 shoulderCenterToHead;
// Token: 0x04002EE4 RID: 12004
[FieldOffset(Offset = "0xBC")]
[Token(Token = "0x4002EE4")]
private Vector3 headToLeftThigh;
// Token: 0x04002EE5 RID: 12005
[FieldOffset(Offset = "0xC8")]
[Token(Token = "0x4002EE5")]
private Vector3 headToRightThigh;
// Token: 0x04002EE6 RID: 12006
[FieldOffset(Offset = "0xD4")]
[Token(Token = "0x4002EE6")]
private Vector3 leftShoulderPos;
// Token: 0x04002EE7 RID: 12007
[FieldOffset(Offset = "0xE0")]
[Token(Token = "0x4002EE7")]
private Vector3 rightShoulderPos;
// Token: 0x04002EE8 RID: 12008
[FieldOffset(Offset = "0xEC")]
[Token(Token = "0x4002EE8")]
private float shoulderDist;
// Token: 0x04002EE9 RID: 12009
[FieldOffset(Offset = "0xF0")]
[Token(Token = "0x4002EE9")]
private float leftShoulderDist;
// Token: 0x04002EEA RID: 12010
[FieldOffset(Offset = "0xF4")]
[Token(Token = "0x4002EEA")]
private float rightShoulderDist;
// Token: 0x04002EEB RID: 12011
[FieldOffset(Offset = "0xF8")]
[Token(Token = "0x4002EEB")]
private Quaternion chestRotation;
// Token: 0x04002EEC RID: 12012
[FieldOffset(Offset = "0x108")]
[Token(Token = "0x4002EEC")]
private Quaternion headRotationRelativeToRoot;
// Token: 0x04002EED RID: 12013
[FieldOffset(Offset = "0x118")]
[Token(Token = "0x4002EED")]
private Quaternion[] ccdDefaultLocalRotations;
// Token: 0x04002EEE RID: 12014
[FieldOffset(Offset = "0x120")]
[Token(Token = "0x4002EEE")]
private Vector3 headLocalPosition;
// Token: 0x04002EEF RID: 12015
[FieldOffset(Offset = "0x12C")]
[Token(Token = "0x4002EEF")]
private Quaternion headLocalRotation;
// Token: 0x04002EF0 RID: 12016
[FieldOffset(Offset = "0x140")]
[Token(Token = "0x4002EF0")]
private Vector3[] stretchLocalPositions;
// Token: 0x04002EF1 RID: 12017
[FieldOffset(Offset = "0x148")]
[Token(Token = "0x4002EF1")]
private Quaternion[] stretchLocalRotations;
// Token: 0x04002EF2 RID: 12018
[FieldOffset(Offset = "0x150")]
[Token(Token = "0x4002EF2")]
private Vector3[] chestLocalPositions;
// Token: 0x04002EF3 RID: 12019
[FieldOffset(Offset = "0x158")]
[Token(Token = "0x4002EF3")]
private Quaternion[] chestLocalRotations;
// Token: 0x04002EF4 RID: 12020
[FieldOffset(Offset = "0x160")]
[Token(Token = "0x4002EF4")]
private int bendBonesCount;
// Token: 0x04002EF5 RID: 12021
[FieldOffset(Offset = "0x164")]
[Token(Token = "0x4002EF5")]
private int ccdBonesCount;
// Token: 0x04002EF6 RID: 12022
[FieldOffset(Offset = "0x168")]
[Token(Token = "0x4002EF6")]
private int stretchBonesCount;
// Token: 0x04002EF7 RID: 12023
[FieldOffset(Offset = "0x16C")]
[Token(Token = "0x4002EF7")]
private int chestBonesCount;
// Token: 0x02000416 RID: 1046
[Token(Token = "0x2000416")]
[Serializable]
public class BendBone
{
// Token: 0x0600255E RID: 9566 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600255E")]
[Address(RVA = "0x5F8B60", Offset = "0x5F7960", VA = "0x1805F8B60")]
public BendBone()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600255F RID: 9567 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600255F")]
[Address(RVA = "0x5F8B00", Offset = "0x5F7900", VA = "0x1805F8B00")]
public BendBone(Transform transform, float weight)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002560 RID: 9568 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002560")]
[Address(RVA = "0x5F8AC0", Offset = "0x5F78C0", VA = "0x1805F8AC0")]
public void StoreDefaultLocalState()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002561 RID: 9569 RVA: 0x000548EC File Offset: 0x00052AEC
[Token(Token = "0x6002561")]
[Address(RVA = "0x5F8A80", Offset = "0x5F7880", VA = "0x1805F8A80")]
public void FixTransforms()
{
Transform transform = this.transform;
Quaternion quaternion = this.defaultLocalRotation;
transform.localRotation = quaternion;
}
// Token: 0x04002EF8 RID: 12024
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4002EF8")]
[Tooltip("Assign spine and/or neck bones.")]
public Transform transform;
// Token: 0x04002EF9 RID: 12025
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002EF9")]
[Tooltip("The weight of rotating this bone.")]
[Range(0f, 1f)]
public float weight;
// Token: 0x04002EFA RID: 12026
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x4002EFA")]
private Quaternion defaultLocalRotation;
}
}
}

View File

@@ -0,0 +1,455 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x02000417 RID: 1047
[Token(Token = "0x2000417")]
[Serializable]
public class FBIKChain
{
// Token: 0x06002562 RID: 9570 RVA: 0x00054914 File Offset: 0x00052B14
[Token(Token = "0x6002562")]
[Address(RVA = "0x4BB470", Offset = "0x4BA270", VA = "0x1804BB470")]
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: 0x06002563 RID: 9571 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002563")]
[Address(RVA = "0x4BB570", Offset = "0x4BA370", VA = "0x1804BB570")]
public FBIKChain(float pin, float pull, params Transform[] nodeTransforms)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002564 RID: 9572 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002564")]
[Address(RVA = "0x4B9FB0", Offset = "0x4B8DB0", VA = "0x1804B9FB0")]
public void SetNodes(params Transform[] boneTransforms)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002565 RID: 9573 RVA: 0x0005498C File Offset: 0x00052B8C
[Token(Token = "0x6002565")]
[Address(RVA = "0x4B8D10", Offset = "0x4B7B10", VA = "0x1804B8D10")]
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: 0x06002566 RID: 9574 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002566")]
[Address(RVA = "0x4B8FD0", Offset = "0x4B7DD0", VA = "0x1804B8FD0")]
public bool IsValid(ref string message)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002567 RID: 9575 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002567")]
[Address(RVA = "0x4B8E00", Offset = "0x4B7C00", VA = "0x1804B8E00")]
public void Initiate(IKSolverFullBody solver)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002568 RID: 9576 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002568")]
[Address(RVA = "0x4B9980", Offset = "0x4B8780", VA = "0x1804B9980")]
public void ReadPose(IKSolverFullBody solver, bool fullBody)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002569 RID: 9577 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002569")]
[Address(RVA = "0x4B81C0", Offset = "0x4B6FC0", VA = "0x1804B81C0")]
private void CalculateBoneLengths(IKSolverFullBody solver)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600256A RID: 9578 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600256A")]
[Address(RVA = "0x4B9560", Offset = "0x4B8360", VA = "0x1804B9560")]
public void Reach(IKSolverFullBody solver)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600256B RID: 9579 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600256B")]
[Address(RVA = "0x4B9100", Offset = "0x4B7F00", VA = "0x1804B9100")]
public Vector3 Push(IKSolverFullBody solver)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600256C RID: 9580 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600256C")]
[Address(RVA = "0x4BA7E0", Offset = "0x4B95E0", VA = "0x1804BA7E0")]
public void SolveTrigonometric(IKSolverFullBody solver, bool calculateBendDirection = false)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600256D RID: 9581 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600256D")]
[Address(RVA = "0x4BAD10", Offset = "0x4B9B10", VA = "0x1804BAD10")]
public void Stage1(IKSolverFullBody solver)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600256E RID: 9582 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600256E")]
[Address(RVA = "0x4BB2E0", Offset = "0x4BA0E0", VA = "0x1804BB2E0")]
public void Stage2(IKSolverFullBody solver, Vector3 position)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600256F RID: 9583 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600256F")]
[Address(RVA = "0x4BA1A0", Offset = "0x4B8FA0", VA = "0x1804BA1A0")]
public void SolveConstraintSystems(IKSolverFullBody solver)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002570 RID: 9584 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002570")]
[Address(RVA = "0x4BA4D0", Offset = "0x4B92D0", VA = "0x1804BA4D0")]
private Vector3 SolveFABRIKJoint(Vector3 pos1, Vector3 pos2, float length)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002571 RID: 9585 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002571")]
[Address(RVA = "0x4B8B40", Offset = "0x4B7940", VA = "0x1804B8B40")]
protected Vector3 GetDirToBendPoint(Vector3 direction, Vector3 bendDirection, float directionMagnitude)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002572 RID: 9586 RVA: 0x000549D4 File Offset: 0x00052BD4
[Token(Token = "0x6002572")]
[Address(RVA = "0x4BA110", Offset = "0x4B8F10", VA = "0x1804BA110")]
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: 0x06002573 RID: 9587 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002573")]
[Address(RVA = "0x4BA5F0", Offset = "0x4B93F0", VA = "0x1804BA5F0")]
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: 0x06002574 RID: 9588 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002574")]
[Address(RVA = "0x4B8960", Offset = "0x4B7760", VA = "0x1804B8960")]
public void ForwardReach(Vector3 position)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002575 RID: 9589 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002575")]
[Address(RVA = "0x4B7EC0", Offset = "0x4B6CC0", VA = "0x1804B7EC0")]
private void BackwardReach(Vector3 position)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x04002EFB RID: 12027
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4002EFB")]
[Range(0f, 1f)]
public float pin;
// Token: 0x04002EFC RID: 12028
[FieldOffset(Offset = "0x14")]
[Token(Token = "0x4002EFC")]
[Range(0f, 1f)]
public float pull;
// Token: 0x04002EFD RID: 12029
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002EFD")]
[Range(0f, 1f)]
public float push;
// Token: 0x04002EFE RID: 12030
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x4002EFE")]
[Range(-1f, 1f)]
public float pushParent;
// Token: 0x04002EFF RID: 12031
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002EFF")]
[Range(0f, 1f)]
public float reach;
// Token: 0x04002F00 RID: 12032
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x4002F00")]
public FBIKChain.Smoothing reachSmoothing;
// Token: 0x04002F01 RID: 12033
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002F01")]
public FBIKChain.Smoothing pushSmoothing;
// Token: 0x04002F02 RID: 12034
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002F02")]
public IKSolver.Node[] nodes;
// Token: 0x04002F03 RID: 12035
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002F03")]
public int[] children;
// Token: 0x04002F04 RID: 12036
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002F04")]
public FBIKChain.ChildConstraint[] childConstraints;
// Token: 0x04002F05 RID: 12037
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002F05")]
public IKConstraintBend bendConstraint;
// Token: 0x04002F06 RID: 12038
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4002F06")]
private float rootLength;
// Token: 0x04002F07 RID: 12039
[FieldOffset(Offset = "0x54")]
[Token(Token = "0x4002F07")]
private bool initiated;
// Token: 0x04002F08 RID: 12040
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4002F08")]
private float length;
// Token: 0x04002F09 RID: 12041
[FieldOffset(Offset = "0x5C")]
[Token(Token = "0x4002F09")]
private float distance;
// Token: 0x04002F0A RID: 12042
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4002F0A")]
private IKSolver.Point p;
// Token: 0x04002F0B RID: 12043
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4002F0B")]
private float reachForce;
// Token: 0x04002F0C RID: 12044
[FieldOffset(Offset = "0x6C")]
[Token(Token = "0x4002F0C")]
private float pullParentSum;
// Token: 0x04002F0D RID: 12045
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4002F0D")]
private float[] crossFades;
// Token: 0x04002F0E RID: 12046
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4002F0E")]
private float sqrMag1;
// Token: 0x04002F0F RID: 12047
[FieldOffset(Offset = "0x7C")]
[Token(Token = "0x4002F0F")]
private float sqrMag2;
// Token: 0x04002F10 RID: 12048
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x4002F10")]
private float sqrMagDif;
// Token: 0x04002F11 RID: 12049
[Token(Token = "0x4002F11")]
private const float maxLimbLength = 0.99999f;
// Token: 0x02000418 RID: 1048
[Token(Token = "0x2000418")]
[Serializable]
public class ChildConstraint
{
// Token: 0x1700022A RID: 554
// (get) Token: 0x06002576 RID: 9590 RVA: 0x00054A14 File Offset: 0x00052C14
// (set) Token: 0x06002577 RID: 9591 RVA: 0x00054A28 File Offset: 0x00052C28
[Token(Token = "0x1700022A")]
public float nominalDistance
{
[Token(Token = "0x6002576")]
[Address(RVA = "0x5F9910", Offset = "0x5F8710", VA = "0x1805F9910")]
get;
[Token(Token = "0x6002577")]
[Address(RVA = "0x5F9930", Offset = "0x5F8730", VA = "0x1805F9930")]
private set;
}
// Token: 0x1700022B RID: 555
// (get) Token: 0x06002578 RID: 9592 RVA: 0x00054A3C File Offset: 0x00052C3C
// (set) Token: 0x06002579 RID: 9593 RVA: 0x00054A50 File Offset: 0x00052C50
[Token(Token = "0x1700022B")]
public bool isRigid
{
[Token(Token = "0x6002578")]
[Address(RVA = "0x468150", Offset = "0x466F50", VA = "0x180468150")]
get;
[Token(Token = "0x6002579")]
[Address(RVA = "0x5F9920", Offset = "0x5F8720", VA = "0x1805F9920")]
private set;
}
// Token: 0x0600257A RID: 9594 RVA: 0x00054A64 File Offset: 0x00052C64
[Token(Token = "0x600257A")]
[Address(RVA = "0x5F98A0", Offset = "0x5F86A0", VA = "0x1805F98A0")]
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: 0x0600257B RID: 9595 RVA: 0x00054A94 File Offset: 0x00052C94
[Token(Token = "0x600257B")]
[Address(RVA = "0x5F9240", Offset = "0x5F8040", VA = "0x1805F9240")]
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: 0x0600257C RID: 9596 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600257C")]
[Address(RVA = "0x5F92A0", Offset = "0x5F80A0", VA = "0x1805F92A0")]
public void OnPreSolve(IKSolverFullBody solver)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600257D RID: 9597 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600257D")]
[Address(RVA = "0x5F94E0", Offset = "0x5F82E0", VA = "0x1805F94E0")]
public void Solve(IKSolverFullBody solver)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x04002F12 RID: 12050
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4002F12")]
public float pushElasticity;
// Token: 0x04002F13 RID: 12051
[FieldOffset(Offset = "0x14")]
[Token(Token = "0x4002F13")]
public float pullElasticity;
// Token: 0x04002F14 RID: 12052
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002F14")]
[SerializeField]
private Transform bone1;
// Token: 0x04002F15 RID: 12053
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002F15")]
[SerializeField]
private Transform bone2;
// Token: 0x04002F18 RID: 12056
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002F18")]
private float crossFade;
// Token: 0x04002F19 RID: 12057
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x4002F19")]
private float inverseCrossFade;
// Token: 0x04002F1A RID: 12058
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002F1A")]
private int chain1Index;
// Token: 0x04002F1B RID: 12059
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x4002F1B")]
private int chain2Index;
}
// Token: 0x02000419 RID: 1049
[Token(Token = "0x2000419")]
[Serializable]
public enum Smoothing
{
// Token: 0x04002F1D RID: 12061
[Token(Token = "0x4002F1D")]
None,
// Token: 0x04002F1E RID: 12062
[Token(Token = "0x4002F1E")]
Exponential,
// Token: 0x04002F1F RID: 12063
[Token(Token = "0x4002F1F")]
Cubic
}
}
}

View File

@@ -0,0 +1,164 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x020003F8 RID: 1016
[Token(Token = "0x20003F8")]
[Serializable]
public class Finger
{
// Token: 0x17000210 RID: 528
// (get) Token: 0x06002451 RID: 9297 RVA: 0x00052EFC File Offset: 0x000510FC
// (set) Token: 0x06002452 RID: 9298 RVA: 0x00052F10 File Offset: 0x00051110
[Token(Token = "0x17000210")]
public bool initiated
{
[Token(Token = "0x6002451")]
[Address(RVA = "0x4C04C0", Offset = "0x4BF2C0", VA = "0x1804C04C0")]
get;
[Token(Token = "0x6002452")]
[Address(RVA = "0x4C0520", Offset = "0x4BF320", VA = "0x1804C0520")]
private set;
}
// Token: 0x17000211 RID: 529
// (get) Token: 0x06002453 RID: 9299 RVA: 0x000020D3 File Offset: 0x000002D3
// (set) Token: 0x06002454 RID: 9300 RVA: 0x00052F24 File Offset: 0x00051124
[Token(Token = "0x17000211")]
public Vector3 IKPosition
{
[Token(Token = "0x6002453")]
[Address(RVA = "0x4C0460", Offset = "0x4BF260", VA = "0x1804C0460")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
[Token(Token = "0x6002454")]
[Address(RVA = "0x4C04D0", Offset = "0x4BF2D0", VA = "0x1804C04D0")]
set
{
IKSolverLimb iksolverLimb = this.solver;
float z = value.z;
iksolverLimb.IKPosition.z = z;
}
}
// Token: 0x17000212 RID: 530
// (get) Token: 0x06002455 RID: 9301 RVA: 0x000020D3 File Offset: 0x000002D3
// (set) Token: 0x06002456 RID: 9302 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x17000212")]
public Quaternion IKRotation
{
[Token(Token = "0x6002455")]
[Address(RVA = "0x4C0490", Offset = "0x4BF290", VA = "0x1804C0490")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
[Token(Token = "0x6002456")]
[Address(RVA = "0x4C0500", Offset = "0x4BF300", VA = "0x1804C0500")]
set
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x06002457 RID: 9303 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002457")]
[Address(RVA = "0x4C00C0", Offset = "0x4BEEC0", VA = "0x1804C00C0")]
public bool IsValid(ref string errorMessage)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002458 RID: 9304 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002458")]
[Address(RVA = "0x4BFDE0", Offset = "0x4BEBE0", VA = "0x1804BFDE0")]
public void Initiate(Transform hand, int index)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002459 RID: 9305 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002459")]
[Address(RVA = "0x4BFD00", Offset = "0x4BEB00", VA = "0x1804BFD00")]
public void FixTransforms()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600245A RID: 9306 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600245A")]
[Address(RVA = "0x4C01E0", Offset = "0x4BEFE0", VA = "0x1804C01E0")]
public void Update(float masterWeight)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600245B RID: 9307 RVA: 0x00052F54 File Offset: 0x00051154
[Token(Token = "0x600245B")]
[Address(RVA = "0x4C0450", Offset = "0x4BF250", VA = "0x1804C0450")]
public Finger()
{
}
// Token: 0x04002E13 RID: 11795
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4002E13")]
[Tooltip("Master Weight for the finger.")]
[Range(0f, 1f)]
public float weight = 1f;
// Token: 0x04002E14 RID: 11796
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002E14")]
[Tooltip("The first bone of the finger.")]
public Transform bone1;
// Token: 0x04002E15 RID: 11797
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002E15")]
[Tooltip("The second bone of the finger.")]
public Transform bone2;
// Token: 0x04002E16 RID: 11798
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002E16")]
[Tooltip("The (optional) third bone of the finger. This can be ignored for thumbs.")]
public Transform bone3;
// Token: 0x04002E17 RID: 11799
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002E17")]
[Tooltip("The fingertip object. If your character doesn't have tip bones, you can create an empty GameObject and parent it to the last bone in the finger. Place it to the tip of the finger.")]
public Transform tip;
// Token: 0x04002E18 RID: 11800
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002E18")]
[Tooltip("The IK target (optional, can use IKPosition and IKRotation directly).")]
public Transform target;
// Token: 0x04002E1A RID: 11802
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002E1A")]
private IKSolverLimb solver;
// Token: 0x04002E1B RID: 11803
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4002E1B")]
private Quaternion bone3RelativeToTarget;
// Token: 0x04002E1C RID: 11804
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4002E1C")]
private Vector3 bone3DefaultLocalPosition;
// Token: 0x04002E1D RID: 11805
[FieldOffset(Offset = "0x6C")]
[Token(Token = "0x4002E1D")]
private Quaternion bone3DefaultLocalRotation;
}
}

View File

@@ -0,0 +1,166 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x020003F9 RID: 1017
[Token(Token = "0x20003F9")]
public class FingerRig : SolverManager
{
// Token: 0x17000213 RID: 531
// (get) Token: 0x0600245C RID: 9308 RVA: 0x00052F74 File Offset: 0x00051174
// (set) Token: 0x0600245D RID: 9309 RVA: 0x00052F88 File Offset: 0x00051188
[Token(Token = "0x17000213")]
public bool initiated
{
[Token(Token = "0x600245C")]
[Address(RVA = "0x4BFCE0", Offset = "0x4BEAE0", VA = "0x1804BFCE0")]
get;
[Token(Token = "0x600245D")]
[Address(RVA = "0x4BFCF0", Offset = "0x4BEAF0", VA = "0x1804BFCF0")]
private set;
}
// Token: 0x0600245E RID: 9310 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600245E")]
[Address(RVA = "0x4BF9B0", Offset = "0x4BE7B0", VA = "0x1804BF9B0")]
public bool IsValid(ref string errorMessage)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600245F RID: 9311 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600245F")]
[Address(RVA = "0x4BF420", Offset = "0x4BE220", VA = "0x1804BF420")]
[ContextMenu("Auto-detect")]
public void AutoDetect()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002460 RID: 9312 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002460")]
[Address(RVA = "0x4BF250", Offset = "0x4BE050", VA = "0x1804BF250")]
public void AddFinger(Transform bone1, Transform bone2, Transform bone3, Transform tip, [Optional] Transform target)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002461 RID: 9313 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002461")]
[Address(RVA = "0x4BFA40", Offset = "0x4BE840", VA = "0x1804BFA40")]
public void RemoveFinger(int index)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002462 RID: 9314 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002462")]
[Address(RVA = "0x4BF150", Offset = "0x4BDF50", VA = "0x1804BF150")]
private void AddChildrenRecursive(Transform parent, ref Transform[] array)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002463 RID: 9315 RVA: 0x00052F9C File Offset: 0x0005119C
[Token(Token = "0x6002463")]
[Address(RVA = "0x4BF8E0", Offset = "0x4BE6E0", VA = "0x1804BF8E0", Slot = "4")]
protected override void InitiateSolver()
{
Finger[] array = this.fingers;
int num = 0;
this.<initiated>k__BackingField = true;
if (num < array.Length)
{
Finger finger = array[num];
Transform transform = base.transform;
finger.Initiate(transform, num);
if (!this.fingers[num].<initiated>k__BackingField)
{
this.<initiated>k__BackingField = false;
}
num++;
}
}
// Token: 0x06002464 RID: 9316 RVA: 0x00053000 File Offset: 0x00051200
[Token(Token = "0x6002464")]
[Address(RVA = "0x4BFBF0", Offset = "0x4BE9F0", VA = "0x1804BFBF0")]
public void UpdateFingerSolvers()
{
if (0 < (int)this.weight)
{
Finger[] array = this.fingers;
int num = 0;
int length = array.Length;
if (num < length)
{
Finger finger = array[num];
float num2 = this.weight;
finger.Update(num2);
num++;
}
}
}
// Token: 0x06002465 RID: 9317 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002465")]
[Address(RVA = "0x4BF7A0", Offset = "0x4BE5A0", VA = "0x1804BF7A0")]
public void FixFingerTransforms()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002466 RID: 9318 RVA: 0x0005304C File Offset: 0x0005124C
[Token(Token = "0x6002466")]
[Address(RVA = "0x4BFBF0", Offset = "0x4BE9F0", VA = "0x1804BFBF0", Slot = "5")]
protected override void UpdateSolver()
{
if (0 < (int)this.weight)
{
Finger[] array = this.fingers;
int num = 0;
int length = array.Length;
if (num < length)
{
Finger finger = array[num];
float num2 = this.weight;
finger.Update(num2);
num++;
}
}
}
// Token: 0x06002467 RID: 9319 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002467")]
[Address(RVA = "0x4BF7A0", Offset = "0x4BE5A0", VA = "0x1804BF7A0", Slot = "6")]
protected override void FixTransforms()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002468 RID: 9320 RVA: 0x00053098 File Offset: 0x00051298
[Token(Token = "0x6002468")]
[Address(RVA = "0x4BFC80", Offset = "0x4BEA80", VA = "0x1804BFC80")]
public FingerRig()
{
Finger[] array = new Finger[0];
this.fingers = array;
base..ctor();
}
// Token: 0x04002E1E RID: 11806
[Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002E1E")]
[Range(0f, 1f)]
[Tooltip("The master weight for all fingers.")]
public float weight = 1f;
// Token: 0x04002E1F RID: 11807
[Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002E1F")]
public Finger[] fingers;
}
}

View File

@@ -0,0 +1,24 @@
using System;
using Cpp2IlInjected;
namespace RootMotion.FinalIK
{
// Token: 0x0200042E RID: 1070
[Token(Token = "0x200042E")]
[Serializable]
public enum FullBodyBipedChain
{
// Token: 0x04002FD0 RID: 12240
[Token(Token = "0x4002FD0")]
LeftArm,
// Token: 0x04002FD1 RID: 12241
[Token(Token = "0x4002FD1")]
RightArm,
// Token: 0x04002FD2 RID: 12242
[Token(Token = "0x4002FD2")]
LeftLeg,
// Token: 0x04002FD3 RID: 12243
[Token(Token = "0x4002FD3")]
RightLeg
}
}

View File

@@ -0,0 +1,39 @@
using System;
using Cpp2IlInjected;
namespace RootMotion.FinalIK
{
// Token: 0x0200042D RID: 1069
[Token(Token = "0x200042D")]
[Serializable]
public enum FullBodyBipedEffector
{
// Token: 0x04002FC6 RID: 12230
[Token(Token = "0x4002FC6")]
Body,
// Token: 0x04002FC7 RID: 12231
[Token(Token = "0x4002FC7")]
LeftShoulder,
// Token: 0x04002FC8 RID: 12232
[Token(Token = "0x4002FC8")]
RightShoulder,
// Token: 0x04002FC9 RID: 12233
[Token(Token = "0x4002FC9")]
LeftThigh,
// Token: 0x04002FCA RID: 12234
[Token(Token = "0x4002FCA")]
RightThigh,
// Token: 0x04002FCB RID: 12235
[Token(Token = "0x4002FCB")]
LeftHand,
// Token: 0x04002FCC RID: 12236
[Token(Token = "0x4002FCC")]
RightHand,
// Token: 0x04002FCD RID: 12237
[Token(Token = "0x4002FCD")]
LeftFoot,
// Token: 0x04002FCE RID: 12238
[Token(Token = "0x4002FCE")]
RightFoot
}
}

View File

@@ -0,0 +1,142 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x0200040A RID: 1034
[Token(Token = "0x200040A")]
[AddComponentMenu("Scripts/RootMotion.FinalIK/IK/Full Body Biped IK")]
[HelpURL("https://www.youtube.com/watch?v=7__IafZGwvI&index=1&list=PLVxSIA1OaTOu8Nos3CalXbJ2DrKnntMv6")]
public class FullBodyBipedIK : IK
{
// Token: 0x06002506 RID: 9478 RVA: 0x00053CD4 File Offset: 0x00051ED4
[Token(Token = "0x6002506")]
[Address(RVA = "0x4C6910", Offset = "0x4C5710", VA = "0x1804C6910", Slot = "8")]
[ContextMenu("User Manual")]
protected override void OpenUserManual()
{
Application.OpenURL("http://www.root-motion.com/finalikdox/html/page6.html");
}
// Token: 0x06002507 RID: 9479 RVA: 0x00053CEC File Offset: 0x00051EEC
[Token(Token = "0x6002507")]
[Address(RVA = "0x4C6890", Offset = "0x4C5690", VA = "0x1804C6890", Slot = "9")]
[ContextMenu("Scrpt Reference")]
protected override void OpenScriptReference()
{
Application.OpenURL("http://www.root-motion.com/finalikdox/html/class_root_motion_1_1_final_i_k_1_1_full_body_biped_i_k.html");
}
// Token: 0x06002508 RID: 9480 RVA: 0x00053D04 File Offset: 0x00051F04
[Token(Token = "0x6002508")]
[Address(RVA = "0x4C68D0", Offset = "0x4C56D0", VA = "0x1804C68D0")]
[ContextMenu("TUTORIAL VIDEO (SETUP)")]
private void OpenSetupTutorial()
{
Application.OpenURL("https://www.youtube.com/watch?v=7__IafZGwvI");
}
// Token: 0x06002509 RID: 9481 RVA: 0x00053D1C File Offset: 0x00051F1C
[Token(Token = "0x6002509")]
[Address(RVA = "0x4C6850", Offset = "0x4C5650", VA = "0x1804C6850")]
[ContextMenu("TUTORIAL VIDEO (INSPECTOR)")]
private void OpenInspectorTutorial()
{
Application.OpenURL("https://www.youtube.com/watch?v=tgRMsTphjJo");
}
// Token: 0x0600250A RID: 9482 RVA: 0x00053D34 File Offset: 0x00051F34
[Token(Token = "0x600250A")]
[Address(RVA = "0x4C70C0", Offset = "0x4C5EC0", VA = "0x1804C70C0")]
[ContextMenu("Support Group")]
private void SupportGroup()
{
Application.OpenURL("https://groups.google.com/forum/#!forum/final-ik");
}
// Token: 0x0600250B RID: 9483 RVA: 0x00053D4C File Offset: 0x00051F4C
[Token(Token = "0x600250B")]
[Address(RVA = "0x4C6720", Offset = "0x4C5520", VA = "0x1804C6720")]
[ContextMenu("Asset Store Thread")]
private void ASThread()
{
Application.OpenURL("http://forum.unity3d.com/threads/final-ik-full-body-ik-aim-look-at-fabrik-ccd-ik-1-0-released.222685/");
}
// Token: 0x0600250C RID: 9484 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600250C")]
[Address(RVA = "0x4C7070", Offset = "0x4C5E70", VA = "0x1804C7070")]
public void SetReferences(BipedReferences references, Transform rootNode)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600250D RID: 9485 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600250D")]
[Address(RVA = "0x31E390", Offset = "0x31D190", VA = "0x18031E390", Slot = "7")]
public override IKSolver GetIKSolver()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600250E RID: 9486 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600250E")]
[Address(RVA = "0x4C6950", Offset = "0x4C5750", VA = "0x1804C6950")]
public bool ReferencesError(ref string errorMessage)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600250F RID: 9487 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600250F")]
[Address(RVA = "0x4C6BE0", Offset = "0x4C59E0", VA = "0x1804C6BE0")]
public bool ReferencesWarning(ref string warningMessage)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002510 RID: 9488 RVA: 0x00053D64 File Offset: 0x00051F64
[Token(Token = "0x6002510")]
[Address(RVA = "0x4C7010", Offset = "0x4C5E10", VA = "0x1804C7010")]
[ContextMenu("Reinitiate")]
private void Reinitiate()
{
Transform rootNode = this.solver.rootNode;
IKSolverFullBodyBiped iksolverFullBodyBiped = this.solver;
BipedReferences bipedReferences = this.references;
iksolverFullBodyBiped.SetToReferences(bipedReferences, rootNode);
}
// Token: 0x06002511 RID: 9489 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002511")]
[Address(RVA = "0x4C6760", Offset = "0x4C5560", VA = "0x1804C6760")]
[ContextMenu("Auto-detect References")]
private void AutoDetectReferences()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002512 RID: 9490 RVA: 0x00053D9C File Offset: 0x00051F9C
[Token(Token = "0x6002512")]
[Address(RVA = "0x4C7100", Offset = "0x4C5F00", VA = "0x1804C7100")]
public FullBodyBipedIK()
{
BipedReferences bipedReferences = new BipedReferences();
this.references = bipedReferences;
IKSolverFullBodyBiped iksolverFullBodyBiped = new IKSolverFullBodyBiped();
this.solver = iksolverFullBodyBiped;
base..ctor();
}
// Token: 0x04002E9D RID: 11933
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002E9D")]
public BipedReferences references;
// Token: 0x04002E9E RID: 11934
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002E9E")]
public IKSolverFullBodyBiped solver;
}
}

View File

@@ -0,0 +1,144 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x02000458 RID: 1112
[Token(Token = "0x2000458")]
public class GenericPoser : Poser
{
// Token: 0x06002815 RID: 10261 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002815")]
[Address(RVA = "0x54E450", Offset = "0x54D250", VA = "0x18054E450", Slot = "7")]
[ContextMenu("Auto-Mapping")]
public override void AutoMapping()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002816 RID: 10262 RVA: 0x00058BC8 File Offset: 0x00056DC8
[Token(Token = "0x6002816")]
[Address(RVA = "0x54E8A0", Offset = "0x54D6A0", VA = "0x18054E8A0", Slot = "8")]
protected override void InitiatePoser()
{
this.StoreDefaultState();
}
// Token: 0x06002817 RID: 10263 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002817")]
[Address(RVA = "0x54E930", Offset = "0x54D730", VA = "0x18054E930", Slot = "9")]
protected override void UpdatePoser()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002818 RID: 10264 RVA: 0x00058BDC File Offset: 0x00056DDC
[Token(Token = "0x6002818")]
[Address(RVA = "0x54E770", Offset = "0x54D570", VA = "0x18054E770", Slot = "10")]
protected override void FixPoserTransforms()
{
GenericPoser.Map[] array = this.maps;
int num = 0;
if (num < array.Length)
{
array[num].FixTransform();
GenericPoser.Map[] array2 = this.maps;
num++;
}
}
// Token: 0x06002819 RID: 10265 RVA: 0x00058C18 File Offset: 0x00056E18
[Token(Token = "0x6002819")]
[Address(RVA = "0x54E8B0", Offset = "0x54D6B0", VA = "0x18054E8B0")]
private void StoreDefaultState()
{
GenericPoser.Map[] array = this.maps;
int num = 0;
if (num < array.Length)
{
array[num].StoreDefaultState();
GenericPoser.Map[] array2 = this.maps;
num++;
}
}
// Token: 0x0600281A RID: 10266 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600281A")]
[Address(RVA = "0x54E7F0", Offset = "0x54D5F0", VA = "0x18054E7F0")]
private Transform GetTargetNamed(string tName, Transform[] array)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600281B RID: 10267 RVA: 0x00058C54 File Offset: 0x00056E54
[Token(Token = "0x600281B")]
[Address(RVA = "0x54EA40", Offset = "0x54D840", VA = "0x18054EA40")]
public GenericPoser()
{
}
// Token: 0x0400317B RID: 12667
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x400317B")]
public GenericPoser.Map[] maps;
// Token: 0x02000459 RID: 1113
[Token(Token = "0x2000459")]
[Serializable]
public class Map
{
// Token: 0x0600281C RID: 10268 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600281C")]
[Address(RVA = "0x5FCCE0", Offset = "0x5FBAE0", VA = "0x1805FCCE0")]
public Map(Transform bone, Transform target)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600281D RID: 10269 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600281D")]
[Address(RVA = "0x5FCAF0", Offset = "0x5FB8F0", VA = "0x1805FCAF0")]
public void StoreDefaultState()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600281E RID: 10270 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600281E")]
[Address(RVA = "0x5FCA90", Offset = "0x5FB890", VA = "0x1805FCA90")]
public void FixTransform()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600281F RID: 10271 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600281F")]
[Address(RVA = "0x5FCB50", Offset = "0x5FB950", VA = "0x1805FCB50")]
public void Update(float localRotationWeight, float localPositionWeight)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0400317C RID: 12668
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x400317C")]
public Transform bone;
// Token: 0x0400317D RID: 12669
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x400317D")]
public Transform target;
// Token: 0x0400317E RID: 12670
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x400317E")]
private Vector3 defaultLocalPosition;
// Token: 0x0400317F RID: 12671
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x400317F")]
private Quaternion defaultLocalRotation;
}
}
}

View File

@@ -0,0 +1,145 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x020003FA RID: 1018
[Token(Token = "0x20003FA")]
public abstract class Grounder : MonoBehaviour
{
// Token: 0x06002469 RID: 9321
[Token(Token = "0x6002469")]
[Address(Slot = "4")]
public abstract void ResetPosition();
// Token: 0x0600246A RID: 9322 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600246A")]
[Address(RVA = "0x117A510", Offset = "0x1179310", VA = "0x18117A510")]
protected Vector3 GetSpineOffsetTarget()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600246B RID: 9323 RVA: 0x000530C4 File Offset: 0x000512C4
[Token(Token = "0x600246B")]
[Address(RVA = "0x8D5970", Offset = "0x8D4770", VA = "0x1808D5970")]
protected void LogWarning(string message)
{
Transform transform = base.transform;
int num = 0;
Warning.Log(message, transform, num != 0);
}
// Token: 0x0600246C RID: 9324 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600246C")]
[Address(RVA = "0x1179FE0", Offset = "0x1178DE0", VA = "0x181179FE0")]
private Vector3 GetLegSpineBendVector(Grounding.Leg leg)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600246D RID: 9325 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600246D")]
[Address(RVA = "0x117A330", Offset = "0x1179130", VA = "0x18117A330")]
private Vector3 GetLegSpineTangent(Grounding.Leg leg)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600246E RID: 9326
[Token(Token = "0x600246E")]
[Address(Slot = "5")]
protected abstract void OpenUserManual();
// Token: 0x0600246F RID: 9327
[Token(Token = "0x600246F")]
[Address(Slot = "6")]
protected abstract void OpenScriptReference();
// Token: 0x06002470 RID: 9328 RVA: 0x000530E4 File Offset: 0x000512E4
[Token(Token = "0x6002470")]
[Address(RVA = "0x117A650", Offset = "0x1179450", VA = "0x18117A650")]
protected Grounder()
{
}
// Token: 0x04002E21 RID: 11809
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002E21")]
[Tooltip("The master weight. Use this to fade in/out the grounding effect.")]
[Range(0f, 1f)]
public float weight = 1f;
// Token: 0x04002E22 RID: 11810
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002E22")]
[Tooltip("The Grounding solver. Not to confuse with IK solvers.")]
public Grounding solver = new Grounding
{
maxStep = 0.5f,
footSpeed = 2.5f,
footRadius = 0.15f,
prediction = 0.05f,
footRotationWeight = 1f,
footRotationSpeed = 7f,
maxFootRotationAngle = 45f,
pelvisSpeed = 5f,
lowerPelvisWeight = 1f,
rootSphereCastRadius = 0.1f,
quality = (Grounding.Quality)((ulong)2L)
};
// Token: 0x04002E23 RID: 11811
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002E23")]
public Grounder.GrounderDelegate OnPreGrounder;
// Token: 0x04002E24 RID: 11812
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002E24")]
public Grounder.GrounderDelegate OnPostGrounder;
// Token: 0x04002E25 RID: 11813
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002E25")]
protected bool initiated;
// Token: 0x020003FB RID: 1019
[Token(Token = "0x20003FB")]
public sealed class GrounderDelegate : MulticastDelegate
{
// Token: 0x06002471 RID: 9329 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002471")]
[Address(RVA = "0x44EA10", Offset = "0x44D810", VA = "0x18044EA10")]
public GrounderDelegate(object @object, IntPtr method)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002472 RID: 9330 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002472")]
[Address(RVA = "0x5FA210", Offset = "0x5F9010", VA = "0x1805FA210", Slot = "12")]
public void Invoke()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002473 RID: 9331 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002473")]
[Address(RVA = "0x5FA1E0", Offset = "0x5F8FE0", VA = "0x1805FA1E0", Slot = "13")]
public IAsyncResult BeginInvoke(AsyncCallback callback, object @object)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002474 RID: 9332 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002474")]
[Address(RVA = "0x44E730", Offset = "0x44D530", VA = "0x18044E730", Slot = "14")]
public void EndInvoke(IAsyncResult result)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
}
}

View File

@@ -0,0 +1,165 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x020003FC RID: 1020
[Token(Token = "0x20003FC")]
[HelpURL("http://www.root-motion.com/finalikdox/html/page11.html")]
[AddComponentMenu("Scripts/RootMotion.FinalIK/Grounder/Grounder Biped")]
public class GrounderBipedIK : Grounder
{
// Token: 0x06002475 RID: 9333 RVA: 0x00053188 File Offset: 0x00051388
[Token(Token = "0x6002475")]
[Address(RVA = "0x1174A10", Offset = "0x1173810", VA = "0x181174A10", Slot = "5")]
[ContextMenu("User Manual")]
protected override void OpenUserManual()
{
Application.OpenURL("http://www.root-motion.com/finalikdox/html/page11.html");
}
// Token: 0x06002476 RID: 9334 RVA: 0x000531A0 File Offset: 0x000513A0
[Token(Token = "0x6002476")]
[Address(RVA = "0x11749D0", Offset = "0x11737D0", VA = "0x1811749D0", Slot = "6")]
[ContextMenu("Scrpt Reference")]
protected override void OpenScriptReference()
{
Application.OpenURL("http://www.root-motion.com/finalikdox/html/class_root_motion_1_1_final_i_k_1_1_grounder_biped_i_k.html");
}
// Token: 0x06002477 RID: 9335 RVA: 0x000531B8 File Offset: 0x000513B8
[Token(Token = "0x6002477")]
[Address(RVA = "0x1174A50", Offset = "0x1173850", VA = "0x181174A50", Slot = "4")]
public override void ResetPosition()
{
this.solver.Reset();
float z = Vector3.zero.z;
this.spineOffset.z = z;
}
// Token: 0x06002478 RID: 9336 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002478")]
[Address(RVA = "0x1173DF0", Offset = "0x1172BF0", VA = "0x181173DF0")]
private bool IsReadyToInitiate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002479 RID: 9337 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002479")]
[Address(RVA = "0x1174BB0", Offset = "0x11739B0", VA = "0x181174BB0")]
private void Update()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600247A RID: 9338 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600247A")]
[Address(RVA = "0x1173A20", Offset = "0x1172820", VA = "0x181173A20")]
private void Initiate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600247B RID: 9339 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600247B")]
[Address(RVA = "0x1174080", Offset = "0x1172E80", VA = "0x181174080")]
private void OnDisable()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600247C RID: 9340 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600247C")]
[Address(RVA = "0x11742F0", Offset = "0x11730F0", VA = "0x1811742F0")]
private void OnSolverUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600247D RID: 9341 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600247D")]
[Address(RVA = "0x1174AA0", Offset = "0x11738A0", VA = "0x181174AA0")]
private void SetLegIK(IKSolverLimb limb, int index)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600247E RID: 9342 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600247E")]
[Address(RVA = "0x11740E0", Offset = "0x1172EE0", VA = "0x1811740E0")]
private void OnPostSolverUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600247F RID: 9343 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600247F")]
[Address(RVA = "0x1173EA0", Offset = "0x1172CA0", VA = "0x181173EA0")]
private void OnDestroy()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002480 RID: 9344 RVA: 0x000531F0 File Offset: 0x000513F0
[Token(Token = "0x6002480")]
[Address(RVA = "0x1174CA0", Offset = "0x1173AA0", VA = "0x181174CA0")]
public GrounderBipedIK()
{
Transform[] array = new Transform[2];
this.feet = array;
Quaternion[] array2 = new Quaternion[2];
this.footRotations = array2;
base..ctor();
}
// Token: 0x04002E26 RID: 11814
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002E26")]
[Tooltip("The BipedIK componet.")]
public BipedIK ik;
// Token: 0x04002E27 RID: 11815
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002E27")]
[Tooltip("The amount of spine bending towards upward slopes.")]
public float spineBend = 7f;
// Token: 0x04002E28 RID: 11816
[FieldOffset(Offset = "0x4C")]
[Token(Token = "0x4002E28")]
[Tooltip("The interpolation speed of spine bending.")]
public float spineSpeed = 3f;
// Token: 0x04002E29 RID: 11817
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4002E29")]
private Transform[] feet;
// Token: 0x04002E2A RID: 11818
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4002E2A")]
private Quaternion[] footRotations;
// Token: 0x04002E2B RID: 11819
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4002E2B")]
private Vector3 animatedPelvisLocalPosition;
// Token: 0x04002E2C RID: 11820
[FieldOffset(Offset = "0x6C")]
[Token(Token = "0x4002E2C")]
private Vector3 solvedPelvisLocalPosition;
// Token: 0x04002E2D RID: 11821
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4002E2D")]
private Vector3 spineOffset;
// Token: 0x04002E2E RID: 11822
[FieldOffset(Offset = "0x84")]
[Token(Token = "0x4002E2E")]
private float lastWeight;
}
}

View File

@@ -0,0 +1,260 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x020003FD RID: 1021
[Token(Token = "0x20003FD")]
[HelpURL("https://www.youtube.com/watch?v=9MiZiaJorws&index=6&list=PLVxSIA1OaTOu8Nos3CalXbJ2DrKnntMv6")]
[AddComponentMenu("Scripts/RootMotion.FinalIK/Grounder/Grounder Full Body Biped")]
public class GrounderFBBIK : Grounder
{
// Token: 0x06002481 RID: 9345 RVA: 0x00053238 File Offset: 0x00051438
[Token(Token = "0x6002481")]
[Address(RVA = "0x1175AA0", Offset = "0x11748A0", VA = "0x181175AA0")]
[ContextMenu("TUTORIAL VIDEO")]
private void OpenTutorial()
{
Application.OpenURL("https://www.youtube.com/watch?v=9MiZiaJorws&index=6&list=PLVxSIA1OaTOu8Nos3CalXbJ2DrKnntMv6");
}
// Token: 0x06002482 RID: 9346 RVA: 0x00053250 File Offset: 0x00051450
[Token(Token = "0x6002482")]
[Address(RVA = "0x1175AE0", Offset = "0x11748E0", VA = "0x181175AE0", Slot = "5")]
[ContextMenu("User Manual")]
protected override void OpenUserManual()
{
Application.OpenURL("http://www.root-motion.com/finalikdox/html/page11.html");
}
// Token: 0x06002483 RID: 9347 RVA: 0x00053268 File Offset: 0x00051468
[Token(Token = "0x6002483")]
[Address(RVA = "0x1175A60", Offset = "0x1174860", VA = "0x181175A60", Slot = "6")]
[ContextMenu("Scrpt Reference")]
protected override void OpenScriptReference()
{
Application.OpenURL("http://www.root-motion.com/finalikdox/html/class_root_motion_1_1_final_i_k_1_1_grounder_f_b_b_i_k.html");
}
// Token: 0x06002484 RID: 9348 RVA: 0x00053280 File Offset: 0x00051480
[Token(Token = "0x6002484")]
[Address(RVA = "0x1175B20", Offset = "0x1174920", VA = "0x181175B20", Slot = "4")]
public override void ResetPosition()
{
this.solver.Reset();
float z = Vector3.zero.z;
this.spineOffset.z = z;
}
// Token: 0x06002485 RID: 9349 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002485")]
[Address(RVA = "0x11751D0", Offset = "0x1173FD0", VA = "0x1811751D0")]
private bool IsReadyToInitiate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002486 RID: 9350 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002486")]
[Address(RVA = "0x1175D10", Offset = "0x1174B10", VA = "0x181175D10")]
private void Update()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002487 RID: 9351 RVA: 0x000532B8 File Offset: 0x000514B8
[Token(Token = "0x6002487")]
[Address(RVA = "0x1174EF0", Offset = "0x1173CF0", VA = "0x181174EF0")]
private void FixedUpdate()
{
this.firstSolve = true;
}
// Token: 0x06002488 RID: 9352 RVA: 0x000532CC File Offset: 0x000514CC
[Token(Token = "0x6002488")]
[Address(RVA = "0x1174EF0", Offset = "0x1173CF0", VA = "0x181174EF0")]
private void LateUpdate()
{
this.firstSolve = true;
}
// Token: 0x06002489 RID: 9353 RVA: 0x000532E0 File Offset: 0x000514E0
[Token(Token = "0x6002489")]
[Address(RVA = "0x1174F00", Offset = "0x1173D00", VA = "0x181174F00")]
private void Initiate()
{
this.ik.solver.leftLegMapping.maintainRotationWeight = 1f;
this.ik.solver.rightLegMapping.maintainRotationWeight = 1f;
Transform[] array = new Transform[2];
this.feet = array;
FullBodyBipedIK fullBodyBipedIK = this.ik;
Transform[] array2 = this.feet;
IKEffector leftFootEffector = fullBodyBipedIK.solver.leftFootEffector;
Transform bone = leftFootEffector.bone;
if (bone == 0 || leftFootEffector != 0)
{
array2[0] = bone;
FullBodyBipedIK fullBodyBipedIK2 = this.ik;
Transform[] array3 = this.feet;
IKEffector rightFootEffector = fullBodyBipedIK2.solver.rightFootEffector;
Transform bone2 = rightFootEffector.bone;
if (bone2 == 0 || rightFootEffector != 0)
{
array3[1] = bone2;
IKSolverFullBodyBiped solver = this.ik.solver;
IKSolver.UpdateDelegate onPreUpdate = solver.OnPreUpdate;
IKSolver.UpdateDelegate updateDelegate = new IKSolver.UpdateDelegate(this.OnSolverUpdate);
Delegate @delegate = Delegate.Combine(onPreUpdate, updateDelegate);
if (@delegate == 0 || @delegate != 0)
{
solver.OnPreUpdate = @delegate;
BipedReferences references = this.ik.references;
Grounding solver2 = this.solver;
Transform[] array4 = this.feet;
Transform root = references.root;
solver2.Initiate(root, array4);
this.initiated = true;
return;
}
}
}
throw new InvalidCastException();
}
// Token: 0x0600248A RID: 9354 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600248A")]
[Address(RVA = "0x1175500", Offset = "0x1174300", VA = "0x181175500")]
private void OnSolverUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600248B RID: 9355 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600248B")]
[Address(RVA = "0x1175B60", Offset = "0x1174960", VA = "0x181175B60")]
private void SetLegIK(IKEffector effector, Grounding.Leg leg)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600248C RID: 9356 RVA: 0x0005342C File Offset: 0x0005162C
[Token(Token = "0x600248C")]
[Address(RVA = "0x11753A0", Offset = "0x11741A0", VA = "0x1811753A0")]
private void OnDrawGizmosSelected()
{
FullBodyBipedIK fullBodyBipedIK = this.ik;
int num = 0;
if (fullBodyBipedIK == num)
{
FullBodyBipedIK component = base.GetComponent<FullBodyBipedIK>();
this.ik = component;
}
FullBodyBipedIK fullBodyBipedIK2 = this.ik;
int num2 = 0;
if (fullBodyBipedIK2 == num2)
{
FullBodyBipedIK componentInParent = base.GetComponentInParent<FullBodyBipedIK>();
this.ik = componentInParent;
}
FullBodyBipedIK fullBodyBipedIK3 = this.ik;
int num3 = 0;
if (fullBodyBipedIK3 == num3)
{
FullBodyBipedIK componentInChildren = base.GetComponentInChildren<FullBodyBipedIK>();
this.ik = componentInChildren;
}
}
// Token: 0x0600248D RID: 9357 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600248D")]
[Address(RVA = "0x1175270", Offset = "0x1174070", VA = "0x181175270")]
private void OnDestroy()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600248E RID: 9358 RVA: 0x000534A8 File Offset: 0x000516A8
[Token(Token = "0x600248E")]
[Address(RVA = "0x1175DF0", Offset = "0x1174BF0", VA = "0x181175DF0")]
public GrounderFBBIK()
{
int num = 0;
this.spineSpeed = 3f;
GrounderFBBIK.SpineEffector[] array = new GrounderFBBIK.SpineEffector[num];
this.spine = array;
Transform[] array2 = new Transform[2];
this.feet = array2;
base..ctor();
}
// Token: 0x04002E2F RID: 11823
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002E2F")]
[Tooltip("Reference to the FBBIK componet.")]
public FullBodyBipedIK ik;
// Token: 0x04002E30 RID: 11824
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002E30")]
[Tooltip("The amount of spine bending towards upward slopes.")]
public float spineBend = 2f;
// Token: 0x04002E31 RID: 11825
[FieldOffset(Offset = "0x4C")]
[Token(Token = "0x4002E31")]
[Tooltip("The interpolation speed of spine bending.")]
public float spineSpeed;
// Token: 0x04002E32 RID: 11826
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4002E32")]
public GrounderFBBIK.SpineEffector[] spine;
// Token: 0x04002E33 RID: 11827
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4002E33")]
private Transform[] feet;
// Token: 0x04002E34 RID: 11828
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4002E34")]
private Vector3 spineOffset;
// Token: 0x04002E35 RID: 11829
[FieldOffset(Offset = "0x6C")]
[Token(Token = "0x4002E35")]
private bool firstSolve;
// Token: 0x020003FE RID: 1022
[Token(Token = "0x20003FE")]
[Serializable]
public class SpineEffector
{
// Token: 0x0600248F RID: 9359 RVA: 0x000534F0 File Offset: 0x000516F0
[Token(Token = "0x600248F")]
[Address(RVA = "0x5FD950", Offset = "0x5FC750", VA = "0x1805FD950")]
public SpineEffector()
{
}
// Token: 0x04002E36 RID: 11830
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4002E36")]
[Tooltip("The type of the effector.")]
public FullBodyBipedEffector effectorType;
// Token: 0x04002E37 RID: 11831
[FieldOffset(Offset = "0x14")]
[Token(Token = "0x4002E37")]
[Tooltip("The weight of horizontal bend offset towards the slope.")]
public float horizontalWeight = 1f;
// Token: 0x04002E38 RID: 11832
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002E38")]
[Tooltip("The vertical bend offset weight.")]
public float verticalWeight;
}
}
}

View File

@@ -0,0 +1,188 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x020003FF RID: 1023
[Token(Token = "0x20003FF")]
[HelpURL("http://www.root-motion.com/finalikdox/html/page11.html")]
[AddComponentMenu("Scripts/RootMotion.FinalIK/Grounder/Grounder IK")]
public class GrounderIK : Grounder
{
// Token: 0x06002490 RID: 9360 RVA: 0x00053510 File Offset: 0x00051710
[Token(Token = "0x6002490")]
[Address(RVA = "0x1176F40", Offset = "0x1175D40", VA = "0x181176F40", Slot = "5")]
[ContextMenu("User Manual")]
protected override void OpenUserManual()
{
Application.OpenURL("http://www.root-motion.com/finalikdox/html/page11.html");
}
// Token: 0x06002491 RID: 9361 RVA: 0x00053528 File Offset: 0x00051728
[Token(Token = "0x6002491")]
[Address(RVA = "0x1176F00", Offset = "0x1175D00", VA = "0x181176F00", Slot = "6")]
[ContextMenu("Scrpt Reference")]
protected override void OpenScriptReference()
{
Application.OpenURL("http://www.root-motion.com/finalikdox/html/class_root_motion_1_1_final_i_k_1_1_grounder_i_k.html");
}
// Token: 0x06002492 RID: 9362 RVA: 0x00053540 File Offset: 0x00051740
[Token(Token = "0x6002492")]
[Address(RVA = "0x1176F80", Offset = "0x1175D80", VA = "0x181176F80", Slot = "4")]
public override void ResetPosition()
{
this.solver.Reset();
}
// Token: 0x06002493 RID: 9363 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002493")]
[Address(RVA = "0x11763E0", Offset = "0x11751E0", VA = "0x1811763E0")]
private bool IsReadyToInitiate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002494 RID: 9364 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002494")]
[Address(RVA = "0x1176820", Offset = "0x1175620", VA = "0x181176820")]
private void OnDisable()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002495 RID: 9365 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002495")]
[Address(RVA = "0x11773A0", Offset = "0x11761A0", VA = "0x1811773A0")]
private void Update()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002496 RID: 9366 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002496")]
[Address(RVA = "0x1175E80", Offset = "0x1174C80", VA = "0x181175E80")]
private void Initiate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002497 RID: 9367 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002497")]
[Address(RVA = "0x1176B80", Offset = "0x1175980", VA = "0x181176B80")]
private void OnSolverUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002498 RID: 9368 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002498")]
[Address(RVA = "0x1176FA0", Offset = "0x1175DA0", VA = "0x181176FA0")]
private void SetLegIK(int index)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002499 RID: 9369 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002499")]
[Address(RVA = "0x1176960", Offset = "0x1175760", VA = "0x181176960")]
private void OnPostSolverUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600249A RID: 9370 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600249A")]
[Address(RVA = "0x11765F0", Offset = "0x11753F0", VA = "0x1811765F0")]
private void OnDestroy()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600249B RID: 9371 RVA: 0x00053560 File Offset: 0x00051760
[Token(Token = "0x600249B")]
[Address(RVA = "0x1177740", Offset = "0x1176540", VA = "0x181177740")]
public GrounderIK()
{
int num = 0;
this.maxRootRotationAngle = 45f;
Transform[] array = new Transform[num];
this.feet = array;
Quaternion[] array2 = new Quaternion[0];
this.footRotations = array2;
base..ctor();
}
// Token: 0x04002E39 RID: 11833
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002E39")]
public IK[] legs;
// Token: 0x04002E3A RID: 11834
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002E3A")]
[Tooltip("The pelvis transform. Common ancestor of all the legs.")]
public Transform pelvis;
// Token: 0x04002E3B RID: 11835
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4002E3B")]
[Tooltip("The root Transform of the character, with the rigidbody and the collider.")]
public Transform characterRoot;
// Token: 0x04002E3C RID: 11836
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4002E3C")]
[Range(0f, 1f)]
[Tooltip("The weight of rotating the character root to the ground normal (range: 0 - 1).")]
public float rootRotationWeight;
// Token: 0x04002E3D RID: 11837
[FieldOffset(Offset = "0x5C")]
[Token(Token = "0x4002E3D")]
[Tooltip("The speed of rotating the character root to the ground normal (range: 0 - inf).")]
public float rootRotationSpeed = 5f;
// Token: 0x04002E3E RID: 11838
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4002E3E")]
[Tooltip("The maximum angle of root rotation (range: 0 - 90).")]
public float maxRootRotationAngle;
// Token: 0x04002E3F RID: 11839
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4002E3F")]
private Transform[] feet;
// Token: 0x04002E40 RID: 11840
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4002E40")]
private Quaternion[] footRotations;
// Token: 0x04002E41 RID: 11841
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4002E41")]
private Vector3 animatedPelvisLocalPosition;
// Token: 0x04002E42 RID: 11842
[FieldOffset(Offset = "0x84")]
[Token(Token = "0x4002E42")]
private Vector3 solvedPelvisLocalPosition;
// Token: 0x04002E43 RID: 11843
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x4002E43")]
private int solvedFeet;
// Token: 0x04002E44 RID: 11844
[FieldOffset(Offset = "0x94")]
[Token(Token = "0x4002E44")]
private bool solved;
// Token: 0x04002E45 RID: 11845
[FieldOffset(Offset = "0x98")]
[Token(Token = "0x4002E45")]
private float lastWeight;
}
}

View File

@@ -0,0 +1,397 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x02000400 RID: 1024
[Token(Token = "0x2000400")]
[AddComponentMenu("Scripts/RootMotion.FinalIK/Grounder/Grounder Quadruped")]
[HelpURL("http://www.root-motion.com/finalikdox/html/page11.html")]
public class GrounderQuadruped : Grounder
{
// Token: 0x0600249C RID: 9372 RVA: 0x000535A8 File Offset: 0x000517A8
[Token(Token = "0x600249C")]
[Address(RVA = "0x11793B0", Offset = "0x11781B0", VA = "0x1811793B0", Slot = "5")]
[ContextMenu("User Manual")]
protected override void OpenUserManual()
{
Application.OpenURL("http://www.root-motion.com/finalikdox/html/page11.html");
}
// Token: 0x0600249D RID: 9373 RVA: 0x000535C0 File Offset: 0x000517C0
[Token(Token = "0x600249D")]
[Address(RVA = "0x1179370", Offset = "0x1178170", VA = "0x181179370", Slot = "6")]
[ContextMenu("Scrpt Reference")]
protected override void OpenScriptReference()
{
Application.OpenURL("http://www.root-motion.com/finalikdox/html/class_root_motion_1_1_final_i_k_1_1_grounder_quadruped.html");
}
// Token: 0x0600249E RID: 9374 RVA: 0x000535D8 File Offset: 0x000517D8
[Token(Token = "0x600249E")]
[Address(RVA = "0x11793F0", Offset = "0x11781F0", VA = "0x1811793F0", Slot = "4")]
public override void ResetPosition()
{
this.solver.Reset();
this.forelegSolver.Reset();
}
// Token: 0x0600249F RID: 9375 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600249F")]
[Address(RVA = "0x11783D0", Offset = "0x11771D0", VA = "0x1811783D0")]
private bool IsReadyToInitiate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024A0 RID: 9376 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024A0")]
[Address(RVA = "0x1178200", Offset = "0x1177000", VA = "0x181178200")]
private bool IsReadyToInitiateLegs(IK[] ikComponents)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024A1 RID: 9377 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024A1")]
[Address(RVA = "0x1178650", Offset = "0x1177450", VA = "0x181178650")]
private void OnDisable()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024A2 RID: 9378 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024A2")]
[Address(RVA = "0x1179D30", Offset = "0x1178B30", VA = "0x181179D30")]
private void Update()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024A3 RID: 9379 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024A3")]
[Address(RVA = "0x1177E30", Offset = "0x1176C30", VA = "0x181177E30")]
private void Initiate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024A4 RID: 9380 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024A4")]
[Address(RVA = "0x11779F0", Offset = "0x11767F0", VA = "0x1811779F0")]
private Transform[] InitiateFeet(IK[] ikComponents, ref GrounderQuadruped.Foot[] f, int indexOffset)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024A5 RID: 9381 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024A5")]
[Address(RVA = "0x1178520", Offset = "0x1177320", VA = "0x181178520")]
private void LateUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024A6 RID: 9382 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024A6")]
[Address(RVA = "0x1179430", Offset = "0x1178230", VA = "0x181179430")]
private void RootRotation()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024A7 RID: 9383 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024A7")]
[Address(RVA = "0x1178A40", Offset = "0x1177840", VA = "0x181178A40")]
private void OnSolverUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024A8 RID: 9384 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024A8")]
[Address(RVA = "0x1179A10", Offset = "0x1178810", VA = "0x181179A10")]
private void UpdateForefeetRoot()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024A9 RID: 9385 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024A9")]
[Address(RVA = "0x1179860", Offset = "0x1178660", VA = "0x181179860")]
private void SetFootIK(GrounderQuadruped.Foot foot, float maxOffset)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024AA RID: 9386 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024AA")]
[Address(RVA = "0x11786D0", Offset = "0x11774D0", VA = "0x1811786D0")]
private void OnPostSolverUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024AB RID: 9387 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024AB")]
[Address(RVA = "0x1178610", Offset = "0x1177410", VA = "0x181178610")]
private void OnDestroy()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024AC RID: 9388 RVA: 0x00053604 File Offset: 0x00051804
[Token(Token = "0x60024AC")]
[Address(RVA = "0x11777D0", Offset = "0x11765D0", VA = "0x1811777D0")]
private void DestroyLegs(IK[] ikComponents)
{
int num = 0;
int num2 = 0;
int length = ikComponents.Length;
if (num2 < length)
{
IK ik = ikComponents[num];
int num3 = 0;
if (ik != num3)
{
IKSolver iksolver = ik.GetIKSolver();
IKSolver.UpdateDelegate updateDelegate = new IKSolver.UpdateDelegate(this.OnSolverUpdate);
Delegate @delegate = Delegate.Remove(updateDelegate, updateDelegate);
int num4 = 0;
if (@delegate != 0 && @delegate == 0)
{
throw new InvalidCastException();
}
iksolver.OnPreUpdate = num4;
IKSolver iksolver2 = ik.GetIKSolver();
IKSolver.UpdateDelegate updateDelegate2 = new IKSolver.UpdateDelegate(this.OnPostSolverUpdate);
Delegate delegate2 = Delegate.Remove(updateDelegate2, updateDelegate2);
if (delegate2 != 0 && delegate2 == 0)
{
throw new InvalidCastException();
}
iksolver2.OnPostUpdate = delegate2;
}
num++;
}
}
// Token: 0x060024AD RID: 9389 RVA: 0x000536B4 File Offset: 0x000518B4
[Token(Token = "0x60024AD")]
[Address(RVA = "0x1179EB0", Offset = "0x1178CB0", VA = "0x181179EB0")]
public GrounderQuadruped()
{
Vector3 down = Vector3.down;
int num = 0;
float z = down.z;
this.gravity.z = z;
GrounderQuadruped.Foot[] array = new GrounderQuadruped.Foot[num];
this.feet = array;
base..ctor();
}
// Token: 0x04002E46 RID: 11846
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002E46")]
[Tooltip("The Grounding solver for the forelegs.")]
public Grounding forelegSolver = new Grounding
{
maxStep = 0.5f,
footSpeed = 2.5f,
footRadius = 0.15f,
prediction = 0.05f,
footRotationWeight = 1f,
footRotationSpeed = 7f,
maxFootRotationAngle = 45f,
pelvisSpeed = 5f,
lowerPelvisWeight = 1f,
rootSphereCastRadius = 0.1f,
quality = (Grounding.Quality)((ulong)2L)
};
// Token: 0x04002E47 RID: 11847
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002E47")]
[Range(0f, 1f)]
[Tooltip("The weight of rotating the character root to the ground angle (range: 0 - 1).")]
public float rootRotationWeight = 0.5f;
// Token: 0x04002E48 RID: 11848
[FieldOffset(Offset = "0x4C")]
[Token(Token = "0x4002E48")]
[Tooltip("The maximum angle of rotating the quadruped downwards (going downhill, range: -90 - 0).")]
[Range(-90f, 0f)]
public float minRootRotation = -25f;
// Token: 0x04002E49 RID: 11849
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4002E49")]
[Range(0f, 90f)]
[Tooltip("The maximum angle of rotating the quadruped upwards (going uphill, range: 0 - 90).")]
public float maxRootRotation = 45f;
// Token: 0x04002E4A RID: 11850
[FieldOffset(Offset = "0x54")]
[Token(Token = "0x4002E4A")]
[Tooltip("The speed of interpolating the character root rotation (range: 0 - inf).")]
public float rootRotationSpeed = 5f;
// Token: 0x04002E4B RID: 11851
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4002E4B")]
[Tooltip("The maximum IK offset for the legs (range: 0 - inf).")]
public float maxLegOffset = 0.5f;
// Token: 0x04002E4C RID: 11852
[FieldOffset(Offset = "0x5C")]
[Token(Token = "0x4002E4C")]
[Tooltip("The maximum IK offset for the forelegs (range: 0 - inf).")]
public float maxForeLegOffset = 0.5f;
// Token: 0x04002E4D RID: 11853
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4002E4D")]
[Range(0f, 1f)]
[Tooltip("The weight of maintaining the head's rotation as it was before solving the Grounding (range: 0 - 1).")]
public float maintainHeadRotationWeight = 0.5f;
// Token: 0x04002E4E RID: 11854
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4002E4E")]
[Tooltip("The root Transform of the character, with the rigidbody and the collider.")]
public Transform characterRoot;
// Token: 0x04002E4F RID: 11855
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4002E4F")]
[Tooltip("The pelvis transform. Common ancestor of both legs and the spine.")]
public Transform pelvis;
// Token: 0x04002E50 RID: 11856
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4002E50")]
[Tooltip("The last bone in the spine that is the common parent for both forelegs.")]
public Transform lastSpineBone;
// Token: 0x04002E51 RID: 11857
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x4002E51")]
[Tooltip("The head (optional, if you intend to maintain it's rotation).")]
public Transform head;
// Token: 0x04002E52 RID: 11858
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x4002E52")]
public IK[] legs;
// Token: 0x04002E53 RID: 11859
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x4002E53")]
public IK[] forelegs;
// Token: 0x04002E54 RID: 11860
[FieldOffset(Offset = "0x98")]
[Token(Token = "0x4002E54")]
[HideInInspector]
public Vector3 gravity;
// Token: 0x04002E55 RID: 11861
[FieldOffset(Offset = "0xA8")]
[Token(Token = "0x4002E55")]
private GrounderQuadruped.Foot[] feet;
// Token: 0x04002E56 RID: 11862
[FieldOffset(Offset = "0xB0")]
[Token(Token = "0x4002E56")]
private Vector3 animatedPelvisLocalPosition;
// Token: 0x04002E57 RID: 11863
[FieldOffset(Offset = "0xBC")]
[Token(Token = "0x4002E57")]
private Quaternion animatedPelvisLocalRotation;
// Token: 0x04002E58 RID: 11864
[FieldOffset(Offset = "0xCC")]
[Token(Token = "0x4002E58")]
private Quaternion animatedHeadLocalRotation;
// Token: 0x04002E59 RID: 11865
[FieldOffset(Offset = "0xDC")]
[Token(Token = "0x4002E59")]
private Vector3 solvedPelvisLocalPosition;
// Token: 0x04002E5A RID: 11866
[FieldOffset(Offset = "0xE8")]
[Token(Token = "0x4002E5A")]
private Quaternion solvedPelvisLocalRotation;
// Token: 0x04002E5B RID: 11867
[FieldOffset(Offset = "0xF8")]
[Token(Token = "0x4002E5B")]
private Quaternion solvedHeadLocalRotation;
// Token: 0x04002E5C RID: 11868
[FieldOffset(Offset = "0x108")]
[Token(Token = "0x4002E5C")]
private int solvedFeet;
// Token: 0x04002E5D RID: 11869
[FieldOffset(Offset = "0x10C")]
[Token(Token = "0x4002E5D")]
private bool solved;
// Token: 0x04002E5E RID: 11870
[FieldOffset(Offset = "0x110")]
[Token(Token = "0x4002E5E")]
private float angle;
// Token: 0x04002E5F RID: 11871
[FieldOffset(Offset = "0x118")]
[Token(Token = "0x4002E5F")]
private Transform forefeetRoot;
// Token: 0x04002E60 RID: 11872
[FieldOffset(Offset = "0x120")]
[Token(Token = "0x4002E60")]
private Quaternion headRotation;
// Token: 0x04002E61 RID: 11873
[FieldOffset(Offset = "0x130")]
[Token(Token = "0x4002E61")]
private float lastWeight;
// Token: 0x02000401 RID: 1025
[Token(Token = "0x2000401")]
public struct Foot
{
// Token: 0x060024AE RID: 9390 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024AE")]
[Address(RVA = "0x5FA3B0", Offset = "0x5F91B0", VA = "0x1805FA3B0")]
public Foot(IKSolver solver, Transform transform)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x04002E62 RID: 11874
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x4002E62")]
public IKSolver solver;
// Token: 0x04002E63 RID: 11875
[FieldOffset(Offset = "0x8")]
[Token(Token = "0x4002E63")]
public Transform transform;
// Token: 0x04002E64 RID: 11876
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4002E64")]
public Quaternion rotation;
// Token: 0x04002E65 RID: 11877
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002E65")]
public Grounding.Leg leg;
}
}
}

View File

@@ -0,0 +1,853 @@
using System;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x02000402 RID: 1026
[Token(Token = "0x2000402")]
[Serializable]
public class Grounding
{
// Token: 0x17000214 RID: 532
// (get) Token: 0x060024AF RID: 9391 RVA: 0x000537C4 File Offset: 0x000519C4
// (set) Token: 0x060024B0 RID: 9392 RVA: 0x000537D8 File Offset: 0x000519D8
[Token(Token = "0x17000214")]
public Grounding.Leg[] legs
{
[Token(Token = "0x60024AF")]
[Address(RVA = "0x31E360", Offset = "0x31D160", VA = "0x18031E360")]
[CompilerGenerated]
get
{
return this.<legs>k__BackingField;
}
[Token(Token = "0x60024B0")]
[Address(RVA = "0x475BD0", Offset = "0x4749D0", VA = "0x180475BD0")]
[CompilerGenerated]
private set
{
/*
An exception occurred when decompiling this method (060024B0)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void RootMotion.FinalIK.Grounding::set_legs(RootMotion.FinalIK.Grounding/Leg[])
---> System.Exception: Basic block has to end with unconditional control flow.
{; Block_0:; stfld:class RootMotion.FinalIK.Grounding/Leg[](Grounding::<legs>k__BackingField, ldloc:Grounding(this), ldloc:class RootMotion.FinalIK.Grounding/Leg[](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: 0x17000215 RID: 533
// (get) Token: 0x060024B1 RID: 9393 RVA: 0x000537EC File Offset: 0x000519EC
// (set) Token: 0x060024B2 RID: 9394 RVA: 0x00053800 File Offset: 0x00051A00
[Token(Token = "0x17000215")]
public Grounding.Pelvis pelvis
{
[Token(Token = "0x60024B1")]
[Address(RVA = "0x31E480", Offset = "0x31D280", VA = "0x18031E480")]
[CompilerGenerated]
get
{
return this.<pelvis>k__BackingField;
}
[Token(Token = "0x60024B2")]
[Address(RVA = "0x6421A0", Offset = "0x640FA0", VA = "0x1806421A0")]
[CompilerGenerated]
private set
{
/*
An exception occurred when decompiling this method (060024B2)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void RootMotion.FinalIK.Grounding::set_pelvis(RootMotion.FinalIK.Grounding/Pelvis)
---> System.Exception: Basic block has to end with unconditional control flow.
{; Block_0:; stfld:Pelvis(Grounding::<pelvis>k__BackingField, ldloc:Grounding(this), ldloc:Pelvis(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: 0x17000216 RID: 534
// (get) Token: 0x060024B3 RID: 9395 RVA: 0x00053814 File Offset: 0x00051A14
// (set) Token: 0x060024B4 RID: 9396 RVA: 0x00053828 File Offset: 0x00051A28
[Token(Token = "0x17000216")]
public bool isGrounded
{
[Token(Token = "0x60024B3")]
[Address(RVA = "0xAD69C0", Offset = "0xAD57C0", VA = "0x180AD69C0")]
get;
[Token(Token = "0x60024B4")]
[Address(RVA = "0x6B6780", Offset = "0x6B5580", VA = "0x1806B6780")]
private set;
}
// Token: 0x17000217 RID: 535
// (get) Token: 0x060024B5 RID: 9397 RVA: 0x0005383C File Offset: 0x00051A3C
// (set) Token: 0x060024B6 RID: 9398 RVA: 0x00053850 File Offset: 0x00051A50
[Token(Token = "0x17000217")]
public Transform root
{
[Token(Token = "0x60024B5")]
[Address(RVA = "0x3EFFD0", Offset = "0x3EEDD0", VA = "0x1803EFFD0")]
[CompilerGenerated]
get
{
return this.<root>k__BackingField;
}
[Token(Token = "0x60024B6")]
[Address(RVA = "0x5296E0", Offset = "0x5284E0", VA = "0x1805296E0")]
[CompilerGenerated]
private set
{
/*
An exception occurred when decompiling this method (060024B6)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void RootMotion.FinalIK.Grounding::set_root(UnityEngine.Transform)
---> System.Exception: Basic block has to end with unconditional control flow.
{; Block_0:; stfld:Transform(Grounding::<root>k__BackingField, ldloc:Grounding(this), ldloc:Transform(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: 0x17000218 RID: 536
// (get) Token: 0x060024B7 RID: 9399 RVA: 0x000020D3 File Offset: 0x000002D3
// (set) Token: 0x060024B8 RID: 9400 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x17000218")]
public RaycastHit rootHit
{
[Token(Token = "0x60024B7")]
[Address(RVA = "0x117BAD0", Offset = "0x117A8D0", VA = "0x18117BAD0")]
[CompilerGenerated]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
[Token(Token = "0x60024B8")]
[Address(RVA = "0x117BC00", Offset = "0x117AA00", VA = "0x18117BC00")]
[CompilerGenerated]
private set
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x17000219 RID: 537
// (get) Token: 0x060024B9 RID: 9401 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x17000219")]
public bool rootGrounded
{
[Token(Token = "0x60024B9")]
[Address(RVA = "0x117BA70", Offset = "0x117A870", VA = "0x18117BA70")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x060024BA RID: 9402 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024BA")]
[Address(RVA = "0x117ABF0", Offset = "0x11799F0", VA = "0x18117ABF0")]
public RaycastHit GetRootHit(float maxDistanceMlp = 10f)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024BB RID: 9403 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024BB")]
[Address(RVA = "0x117B5D0", Offset = "0x117A3D0", VA = "0x18117B5D0")]
public bool IsValid(ref string errorMessage)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024BC RID: 9404 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024BC")]
[Address(RVA = "0x117B230", Offset = "0x117A030", VA = "0x18117B230")]
public void Initiate(Transform root, Transform[] feet)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024BD RID: 9405 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024BD")]
[Address(RVA = "0x117B7A0", Offset = "0x117A5A0", VA = "0x18117B7A0")]
public void Update()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024BE RID: 9406 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024BE")]
[Address(RVA = "0x117A920", Offset = "0x1179720", VA = "0x18117A920")]
public Vector3 GetLegsPlaneNormal()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024BF RID: 9407 RVA: 0x00053864 File Offset: 0x00051A64
[Token(Token = "0x60024BF")]
[Address(RVA = "0x117B720", Offset = "0x117A520", VA = "0x18117B720")]
public void Reset()
{
if (Application.isPlaying)
{
this.<pelvis>k__BackingField.Reset();
Grounding.Leg[] array = this.<legs>k__BackingField;
int num = 0;
int length = array.Length;
if (num < length)
{
array[num].Reset();
num++;
}
}
}
// Token: 0x060024C0 RID: 9408 RVA: 0x000538B0 File Offset: 0x00051AB0
[Token(Token = "0x60024C0")]
[Address(RVA = "0x117B700", Offset = "0x117A500", VA = "0x18117B700")]
public void LogWarning(string message)
{
Transform transform = this.<root>k__BackingField;
int num = 0;
Warning.Log(message, transform, num != 0);
}
// Token: 0x1700021A RID: 538
// (get) Token: 0x060024C1 RID: 9409 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x1700021A")]
public Vector3 up
{
[Token(Token = "0x60024C1")]
[Address(RVA = "0x117BB00", Offset = "0x117A900", VA = "0x18117BB00")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x060024C2 RID: 9410 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024C2")]
[Address(RVA = "0x117B110", Offset = "0x1179F10", VA = "0x18117B110")]
public float GetVerticalOffset(Vector3 p1, Vector3 p2)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024C3 RID: 9411 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024C3")]
[Address(RVA = "0x117A710", Offset = "0x1179510", VA = "0x18117A710")]
public Vector3 Flatten(Vector3 v)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x1700021B RID: 539
// (get) Token: 0x060024C4 RID: 9412 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x1700021B")]
private bool useRootRotation
{
[Token(Token = "0x60024C4")]
[Address(RVA = "0x117BB70", Offset = "0x117A970", VA = "0x18117BB70")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x060024C5 RID: 9413 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024C5")]
[Address(RVA = "0x117A800", Offset = "0x1179600", VA = "0x18117A800")]
public Vector3 GetFootCenterOffset()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024C6 RID: 9414 RVA: 0x000538D0 File Offset: 0x00051AD0
[Token(Token = "0x60024C6")]
[Address(RVA = "0x117BA10", Offset = "0x117A810", VA = "0x18117BA10")]
public Grounding()
{
}
// Token: 0x04002E66 RID: 11878
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4002E66")]
[Tooltip("Layers to ground the character to. Make sure to exclude the layer of the character controller.")]
public LayerMask layers;
// Token: 0x04002E67 RID: 11879
[FieldOffset(Offset = "0x14")]
[Token(Token = "0x4002E67")]
[Tooltip("Max step height. Maximum vertical distance of Grounding from the root of the character.")]
public float maxStep = 0.5f;
// Token: 0x04002E68 RID: 11880
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002E68")]
[Tooltip("The height offset of the root.")]
public float heightOffset;
// Token: 0x04002E69 RID: 11881
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x4002E69")]
[Tooltip("The speed of moving the feet up/down.")]
public float footSpeed = 2.5f;
// Token: 0x04002E6A RID: 11882
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002E6A")]
[Tooltip("CapsuleCast radius. Should match approximately with the size of the feet.")]
public float footRadius = 0.15f;
// Token: 0x04002E6B RID: 11883
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x4002E6B")]
[HideInInspector]
[Tooltip("Offset of the foot center along character forward axis.")]
public float footCenterOffset;
// Token: 0x04002E6C RID: 11884
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002E6C")]
[Tooltip("Amount of velocity based prediction of the foot positions.")]
public float prediction = 0.05f;
// Token: 0x04002E6D RID: 11885
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x4002E6D")]
[Range(0f, 1f)]
[Tooltip("Weight of rotating the feet to the ground normal offset.")]
public float footRotationWeight = 1f;
// Token: 0x04002E6E RID: 11886
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002E6E")]
[Tooltip("Speed of slerping the feet to their grounded rotations.")]
public float footRotationSpeed = 7f;
// Token: 0x04002E6F RID: 11887
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x4002E6F")]
[Range(0f, 90f)]
[Tooltip("Max Foot Rotation Angle. Max angular offset from the foot's rotation.")]
public float maxFootRotationAngle = 45f;
// Token: 0x04002E70 RID: 11888
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002E70")]
[Tooltip("If true, solver will rotate with the character root so the character can be grounded for example to spherical planets. For performance reasons leave this off unless needed.")]
public bool rotateSolver;
// Token: 0x04002E71 RID: 11889
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x4002E71")]
[Tooltip("The speed of moving the character up/down.")]
public float pelvisSpeed = 5f;
// Token: 0x04002E72 RID: 11890
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002E72")]
[Tooltip("Used for smoothing out vertical pelvis movement (range 0 - 1).")]
[Range(0f, 1f)]
public float pelvisDamper;
// Token: 0x04002E73 RID: 11891
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x4002E73")]
[Tooltip("The weight of lowering the pelvis to the lowest foot.")]
public float lowerPelvisWeight = 1f;
// Token: 0x04002E74 RID: 11892
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002E74")]
[Tooltip("The weight of lifting the pelvis to the highest foot. This is useful when you don't want the feet to go too high relative to the body when crouching.")]
public float liftPelvisWeight;
// Token: 0x04002E75 RID: 11893
[FieldOffset(Offset = "0x4C")]
[Token(Token = "0x4002E75")]
[Tooltip("The radius of the spherecast from the root that determines whether the character root is grounded.")]
public float rootSphereCastRadius = 0.1f;
// Token: 0x04002E76 RID: 11894
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4002E76")]
[Tooltip("The raycasting quality. Fastest is a single raycast per foot, Simple is three raycasts, Best is one raycast and a capsule cast per foot.")]
public Grounding.Quality quality = (Grounding.Quality)((ulong)2L);
// Token: 0x04002E7C RID: 11900
[FieldOffset(Offset = "0xA4")]
[Token(Token = "0x4002E7C")]
private bool initiated;
// Token: 0x02000403 RID: 1027
[Token(Token = "0x2000403")]
[Serializable]
public enum Quality
{
// Token: 0x04002E7E RID: 11902
[Token(Token = "0x4002E7E")]
Fastest,
// Token: 0x04002E7F RID: 11903
[Token(Token = "0x4002E7F")]
Simple,
// Token: 0x04002E80 RID: 11904
[Token(Token = "0x4002E80")]
Best
}
// Token: 0x02000404 RID: 1028
[Token(Token = "0x2000404")]
public class Leg
{
// Token: 0x1700021C RID: 540
// (get) Token: 0x060024C7 RID: 9415 RVA: 0x0005395C File Offset: 0x00051B5C
// (set) Token: 0x060024C8 RID: 9416 RVA: 0x00053970 File Offset: 0x00051B70
[Token(Token = "0x1700021C")]
public bool isGrounded
{
[Token(Token = "0x60024C7")]
[Address(RVA = "0x2B3EC0", Offset = "0x2B2CC0", VA = "0x1802B3EC0")]
get;
[Token(Token = "0x60024C8")]
[Address(RVA = "0x318860", Offset = "0x317660", VA = "0x180318860")]
private set;
}
// Token: 0x1700021D RID: 541
// (get) Token: 0x060024C9 RID: 9417 RVA: 0x000020D3 File Offset: 0x000002D3
// (set) Token: 0x060024CA RID: 9418 RVA: 0x00053984 File Offset: 0x00051B84
[Token(Token = "0x1700021D")]
public Vector3 IKPosition
{
[Token(Token = "0x60024C9")]
[Address(RVA = "0x562560", Offset = "0x561360", VA = "0x180562560")]
[CompilerGenerated]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
[Token(Token = "0x60024CA")]
[Address(RVA = "0x5FC8E0", Offset = "0x5FB6E0", VA = "0x1805FC8E0")]
[CompilerGenerated]
private set
{
float z = value.z;
this.<IKPosition>k__BackingField.z = z;
}
}
// Token: 0x1700021E RID: 542
// (get) Token: 0x060024CB RID: 9419 RVA: 0x000539A4 File Offset: 0x00051BA4
// (set) Token: 0x060024CC RID: 9420 RVA: 0x000539B8 File Offset: 0x00051BB8
[Token(Token = "0x1700021E")]
public bool initiated
{
[Token(Token = "0x60024CB")]
[Address(RVA = "0x434D40", Offset = "0x433B40", VA = "0x180434D40")]
get;
[Token(Token = "0x60024CC")]
[Address(RVA = "0x502BB0", Offset = "0x5019B0", VA = "0x180502BB0")]
private set;
}
// Token: 0x1700021F RID: 543
// (get) Token: 0x060024CD RID: 9421 RVA: 0x000539CC File Offset: 0x00051BCC
// (set) Token: 0x060024CE RID: 9422 RVA: 0x000539E0 File Offset: 0x00051BE0
[Token(Token = "0x1700021F")]
public float heightFromGround
{
[Token(Token = "0x60024CD")]
[Address(RVA = "0x5FC740", Offset = "0x5FB540", VA = "0x1805FC740")]
get;
[Token(Token = "0x60024CE")]
[Address(RVA = "0x5FC8F0", Offset = "0x5FB6F0", VA = "0x1805FC8F0")]
private set;
}
// Token: 0x17000220 RID: 544
// (get) Token: 0x060024CF RID: 9423 RVA: 0x000020D3 File Offset: 0x000002D3
// (set) Token: 0x060024D0 RID: 9424 RVA: 0x000539F4 File Offset: 0x00051BF4
[Token(Token = "0x17000220")]
public Vector3 velocity
{
[Token(Token = "0x60024CF")]
[Address(RVA = "0x38DAF0", Offset = "0x38C8F0", VA = "0x18038DAF0")]
[CompilerGenerated]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
[Token(Token = "0x60024D0")]
[Address(RVA = "0x38DB70", Offset = "0x38C970", VA = "0x18038DB70")]
[CompilerGenerated]
private set
{
float z = value.z;
this.<velocity>k__BackingField.z = z;
}
}
// Token: 0x17000221 RID: 545
// (get) Token: 0x060024D1 RID: 9425 RVA: 0x00053A14 File Offset: 0x00051C14
// (set) Token: 0x060024D2 RID: 9426 RVA: 0x00053A28 File Offset: 0x00051C28
[Token(Token = "0x17000221")]
public Transform transform
{
[Token(Token = "0x60024D1")]
[Address(RVA = "0x3147B0", Offset = "0x3135B0", VA = "0x1803147B0")]
[CompilerGenerated]
get
{
return this.<transform>k__BackingField;
}
[Token(Token = "0x60024D2")]
[Address(RVA = "0x5428D0", Offset = "0x5416D0", VA = "0x1805428D0")]
[CompilerGenerated]
private set
{
/*
An exception occurred when decompiling this method (060024D2)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void RootMotion.FinalIK.Grounding/Leg::set_transform(UnityEngine.Transform)
---> System.Exception: Basic block has to end with unconditional control flow.
{; Block_0:; stfld:Transform(Leg::<transform>k__BackingField, ldloc:Leg(this), ldloc:Transform(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: 0x17000222 RID: 546
// (get) Token: 0x060024D3 RID: 9427 RVA: 0x00053A3C File Offset: 0x00051C3C
// (set) Token: 0x060024D4 RID: 9428 RVA: 0x00053A50 File Offset: 0x00051C50
[Token(Token = "0x17000222")]
public float IKOffset
{
[Token(Token = "0x60024D3")]
[Address(RVA = "0x468190", Offset = "0x466F90", VA = "0x180468190")]
get;
[Token(Token = "0x60024D4")]
[Address(RVA = "0x475B00", Offset = "0x474900", VA = "0x180475B00")]
private set;
}
// Token: 0x060024D5 RID: 9429 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024D5")]
[Address(RVA = "0x5FB160", Offset = "0x5F9F60", VA = "0x1805FB160")]
public void Initiate(Grounding grounding, Transform transform)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024D6 RID: 9430 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024D6")]
[Address(RVA = "0x5FB240", Offset = "0x5FA040", VA = "0x1805FB240")]
public void OnEnable()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024D7 RID: 9431 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024D7")]
[Address(RVA = "0x5FC0E0", Offset = "0x5FAEE0", VA = "0x1805FC0E0")]
public void Reset()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024D8 RID: 9432 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024D8")]
[Address(RVA = "0x5FB290", Offset = "0x5FA090", VA = "0x1805FB290")]
public void Process()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x17000223 RID: 547
// (get) Token: 0x060024D9 RID: 9433 RVA: 0x00053A64 File Offset: 0x00051C64
[Token(Token = "0x17000223")]
public float stepHeightFromGround
{
[Token(Token = "0x60024D9")]
[Address(RVA = "0x5FC8A0", Offset = "0x5FB6A0", VA = "0x1805FC8A0")]
get
{
float maxStep = this.grounding.maxStep;
return Mathf.Clamp(this.<heightFromGround>k__BackingField, maxStep, maxStep);
}
}
// Token: 0x060024DA RID: 9434 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024DA")]
[Address(RVA = "0x5FA700", Offset = "0x5F9500", VA = "0x1805FA700")]
private RaycastHit GetCapsuleHit(Vector3 offsetFromHeel)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024DB RID: 9435 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024DB")]
[Address(RVA = "0x5FADD0", Offset = "0x5F9BD0", VA = "0x1805FADD0")]
private RaycastHit GetRaycastHit(Vector3 offsetFromHeel)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024DC RID: 9436 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024DC")]
[Address(RVA = "0x5FC270", Offset = "0x5FB070", VA = "0x1805FC270")]
private Vector3 RotateNormal(Vector3 normal)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024DD RID: 9437 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024DD")]
[Address(RVA = "0x5FC5E0", Offset = "0x5FB3E0", VA = "0x1805FC5E0")]
private void SetFootToPoint(Vector3 normal, Vector3 point)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024DE RID: 9438 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024DE")]
[Address(RVA = "0x5FC320", Offset = "0x5FB120", VA = "0x1805FC320")]
private void SetFootToPlane(Vector3 planeNormal, Vector3 planePoint, Vector3 heelHitPoint)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024DF RID: 9439 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024DF")]
[Address(RVA = "0x5FAC10", Offset = "0x5F9A10", VA = "0x1805FAC10")]
private float GetHeightFromGround(Vector3 hitPoint)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024E0 RID: 9440 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024E0")]
[Address(RVA = "0x5FC170", Offset = "0x5FAF70", VA = "0x1805FC170")]
private void RotateFoot()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024E1 RID: 9441 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024E1")]
[Address(RVA = "0x5FB0A0", Offset = "0x5F9EA0", VA = "0x1805FB0A0")]
private Quaternion GetRotationOffsetTarget()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x17000224 RID: 548
// (get) Token: 0x060024E2 RID: 9442 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x17000224")]
private float rootYOffset
{
[Token(Token = "0x60024E2")]
[Address(RVA = "0x5FC750", Offset = "0x5FB550", VA = "0x1805FC750")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x060024E3 RID: 9443 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024E3")]
[Address(RVA = "0x5FC6F0", Offset = "0x5FB4F0", VA = "0x1805FC6F0")]
public Leg()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x04002E83 RID: 11907
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002E83")]
public Quaternion rotationOffset;
// Token: 0x04002E89 RID: 11913
[FieldOffset(Offset = "0x54")]
[Token(Token = "0x4002E89")]
public bool invertFootCenter;
// Token: 0x04002E8A RID: 11914
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4002E8A")]
private Grounding grounding;
// Token: 0x04002E8B RID: 11915
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4002E8B")]
private float lastTime;
// Token: 0x04002E8C RID: 11916
[FieldOffset(Offset = "0x64")]
[Token(Token = "0x4002E8C")]
private float deltaTime;
// Token: 0x04002E8D RID: 11917
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4002E8D")]
private Vector3 lastPosition;
// Token: 0x04002E8E RID: 11918
[FieldOffset(Offset = "0x74")]
[Token(Token = "0x4002E8E")]
private Quaternion toHitNormal;
// Token: 0x04002E8F RID: 11919
[FieldOffset(Offset = "0x84")]
[Token(Token = "0x4002E8F")]
private Quaternion r;
// Token: 0x04002E90 RID: 11920
[FieldOffset(Offset = "0x94")]
[Token(Token = "0x4002E90")]
private RaycastHit heelHit;
// Token: 0x04002E91 RID: 11921
[FieldOffset(Offset = "0xC0")]
[Token(Token = "0x4002E91")]
private Vector3 up;
}
// Token: 0x02000405 RID: 1029
[Token(Token = "0x2000405")]
public class Pelvis
{
// Token: 0x17000225 RID: 549
// (get) Token: 0x060024E4 RID: 9444 RVA: 0x000020D3 File Offset: 0x000002D3
// (set) Token: 0x060024E5 RID: 9445 RVA: 0x00053A90 File Offset: 0x00051C90
[Token(Token = "0x17000225")]
public Vector3 IKOffset
{
[Token(Token = "0x60024E4")]
[Address(RVA = "0x42E030", Offset = "0x42CE30", VA = "0x18042E030")]
[CompilerGenerated]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
[Token(Token = "0x60024E5")]
[Address(RVA = "0x5FD260", Offset = "0x5FC060", VA = "0x1805FD260")]
[CompilerGenerated]
private set
{
float z = value.z;
this.<IKOffset>k__BackingField.z = z;
}
}
// Token: 0x17000226 RID: 550
// (get) Token: 0x060024E6 RID: 9446 RVA: 0x00053AB0 File Offset: 0x00051CB0
// (set) Token: 0x060024E7 RID: 9447 RVA: 0x00053AC4 File Offset: 0x00051CC4
[Token(Token = "0x17000226")]
public float heightOffset
{
[Token(Token = "0x60024E6")]
[Address(RVA = "0x5B5B10", Offset = "0x5B4910", VA = "0x1805B5B10")]
get;
[Token(Token = "0x60024E7")]
[Address(RVA = "0x5FD270", Offset = "0x5FC070", VA = "0x1805FD270")]
private set;
}
// Token: 0x060024E8 RID: 9448 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024E8")]
[Address(RVA = "0x5FCE60", Offset = "0x5FBC60", VA = "0x1805FCE60")]
public void Initiate(Grounding grounding)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024E9 RID: 9449 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024E9")]
[Address(RVA = "0x5FD1E0", Offset = "0x5FBFE0", VA = "0x1805FD1E0")]
public void Reset()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024EA RID: 9450 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024EA")]
[Address(RVA = "0x5FCEE0", Offset = "0x5FBCE0", VA = "0x1805FCEE0")]
public void OnEnable()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024EB RID: 9451 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60024EB")]
[Address(RVA = "0x5FCF50", Offset = "0x5FBD50", VA = "0x1805FCF50")]
public void Process(float lowestOffset, float highestOffset, bool isGrounded)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060024EC RID: 9452 RVA: 0x00053AD8 File Offset: 0x00051CD8
[Token(Token = "0x60024EC")]
[Address(RVA = "0x3D8B20", Offset = "0x3D7920", VA = "0x1803D8B20")]
public Pelvis()
{
}
// Token: 0x04002E94 RID: 11924
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002E94")]
private Grounding grounding;
// Token: 0x04002E95 RID: 11925
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002E95")]
private Vector3 lastRootPosition;
// Token: 0x04002E96 RID: 11926
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x4002E96")]
private float damperF;
// Token: 0x04002E97 RID: 11927
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002E97")]
private bool initiated;
// Token: 0x04002E98 RID: 11928
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x4002E98")]
private float lastTime;
}
}
}

View File

@@ -0,0 +1,95 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x0200045A RID: 1114
[Token(Token = "0x200045A")]
public class HandPoser : Poser
{
// Token: 0x06002820 RID: 10272 RVA: 0x00058C68 File Offset: 0x00056E68
[Token(Token = "0x6002820")]
[Address(RVA = "0x117BC30", Offset = "0x117AA30", VA = "0x18117BC30", Slot = "7")]
public override void AutoMapping()
{
Transform poseRoot = this.poseRoot;
int num = 0;
if (!(poseRoot == num))
{
Transform[] componentsInChildren = this.poseRoot.GetComponentsInChildren<Transform>();
}
Transform[] array = new Transform[0];
this.poseChildren = array;
Transform poseRoot2 = this.poseRoot;
this._poseRoot = poseRoot2;
throw new NullReferenceException();
}
// Token: 0x06002821 RID: 10273 RVA: 0x00058CB8 File Offset: 0x00056EB8
[Token(Token = "0x6002821")]
[Address(RVA = "0x117BE50", Offset = "0x117AC50", VA = "0x18117BE50", Slot = "8")]
protected override void InitiatePoser()
{
Transform[] componentsInChildren = base.GetComponentsInChildren<Transform>();
this.children = componentsInChildren;
this.StoreDefaultState();
}
// Token: 0x06002822 RID: 10274 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002822")]
[Address(RVA = "0x117BD00", Offset = "0x117AB00", VA = "0x18117BD00", Slot = "10")]
protected override void FixPoserTransforms()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002823 RID: 10275 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002823")]
[Address(RVA = "0x117C090", Offset = "0x117AE90", VA = "0x18117C090", Slot = "9")]
protected override void UpdatePoser()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002824 RID: 10276 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002824")]
[Address(RVA = "0x117BEB0", Offset = "0x117ACB0", VA = "0x18117BEB0")]
private void StoreDefaultState()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002825 RID: 10277 RVA: 0x00058CDC File Offset: 0x00056EDC
[Token(Token = "0x6002825")]
[Address(RVA = "0x54EA40", Offset = "0x54D840", VA = "0x18054EA40")]
public HandPoser()
{
}
// Token: 0x04003180 RID: 12672
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4003180")]
private Transform _poseRoot;
// Token: 0x04003181 RID: 12673
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4003181")]
private Transform[] children;
// Token: 0x04003182 RID: 12674
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4003182")]
private Transform[] poseChildren;
// Token: 0x04003183 RID: 12675
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4003183")]
private Vector3[] defaultLocalPositions;
// Token: 0x04003184 RID: 12676
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4003184")]
private Quaternion[] defaultLocalRotations;
}
}

View File

@@ -0,0 +1,531 @@
using System;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x0200046D RID: 1133
[Token(Token = "0x200046D")]
public class HitReaction : OffsetModifier
{
// Token: 0x17000290 RID: 656
// (get) Token: 0x06002897 RID: 10391 RVA: 0x00059648 File Offset: 0x00057848
[Token(Token = "0x17000290")]
public bool inProgress
{
[Token(Token = "0x6002897")]
[Address(RVA = "0x117E910", Offset = "0x117D710", VA = "0x18117E910")]
get
{
HitReaction.HitPointEffector[] array = this.effectorHitPoints;
int num = 0;
int length = array.Length;
if (num < length)
{
if (array[num].inProgress)
{
return true;
}
num++;
}
HitReaction.HitPointBone[] array2 = this.boneHitPoints;
int length2 = array2.Length;
if (num >= length2)
{
throw new NullReferenceException();
}
if (!array2[num].inProgress)
{
num++;
}
return true;
}
}
// Token: 0x06002898 RID: 10392 RVA: 0x000596AC File Offset: 0x000578AC
[Token(Token = "0x6002898")]
[Address(RVA = "0x117E810", Offset = "0x117D610", VA = "0x18117E810", Slot = "4")]
protected override void OnModifyOffset()
{
HitReaction.HitPointEffector[] array = this.effectorHitPoints;
int num = 0;
int length = array.Length;
if (num < length)
{
FullBodyBipedIK ik = this.ik;
HitReaction.HitPointEffector hitPointEffector = array[num];
float weight = this.weight;
IKSolverFullBodyBiped solver = ik.solver;
hitPointEffector.Apply(solver, weight);
num++;
}
HitReaction.HitPointBone[] array2 = this.boneHitPoints;
int length2 = array2.Length;
if (num < length2)
{
FullBodyBipedIK ik2 = this.ik;
HitReaction.HitPointBone hitPointBone = array2[num];
float weight2 = this.weight;
IKSolverFullBodyBiped solver2 = ik2.solver;
hitPointBone.Apply(solver2, weight2);
num++;
}
}
// Token: 0x06002899 RID: 10393 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002899")]
[Address(RVA = "0x117E580", Offset = "0x117D380", VA = "0x18117E580")]
public void Hit(Collider collider, Vector3 force, Vector3 point)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600289A RID: 10394 RVA: 0x0005974C File Offset: 0x0005794C
[Token(Token = "0x600289A")]
[Address(RVA = "0x8CD260", Offset = "0x8CC060", VA = "0x1808CD260")]
public HitReaction()
{
}
// Token: 0x040031DF RID: 12767
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40031DF")]
[Tooltip("Hit points for the FBBIK effectors")]
public HitReaction.HitPointEffector[] effectorHitPoints;
// Token: 0x040031E0 RID: 12768
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x40031E0")]
[Tooltip(" Hit points for bones without an effector, such as the head")]
public HitReaction.HitPointBone[] boneHitPoints;
// Token: 0x0200046E RID: 1134
[Token(Token = "0x200046E")]
[Serializable]
public abstract class HitPoint
{
// Token: 0x17000291 RID: 657
// (get) Token: 0x0600289B RID: 10395 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x17000291")]
public bool inProgress
{
[Token(Token = "0x600289B")]
[Address(RVA = "0x14EAE80", Offset = "0x14E9C80", VA = "0x1814EAE80")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x17000292 RID: 658
// (get) Token: 0x0600289C RID: 10396 RVA: 0x00059760 File Offset: 0x00057960
// (set) Token: 0x0600289D RID: 10397 RVA: 0x00059774 File Offset: 0x00057974
[Token(Token = "0x17000292")]
private protected float crossFader
{
[Token(Token = "0x600289C")]
[Address(RVA = "0x5B0660", Offset = "0x5AF460", VA = "0x1805B0660")]
protected get;
[Token(Token = "0x600289D")]
[Address(RVA = "0x5B0700", Offset = "0x5AF500", VA = "0x1805B0700")]
private set;
}
// Token: 0x17000293 RID: 659
// (get) Token: 0x0600289E RID: 10398 RVA: 0x00059788 File Offset: 0x00057988
// (set) Token: 0x0600289F RID: 10399 RVA: 0x0005979C File Offset: 0x0005799C
[Token(Token = "0x17000293")]
private protected float timer
{
[Token(Token = "0x600289E")]
[Address(RVA = "0x5F9910", Offset = "0x5F8710", VA = "0x1805F9910")]
protected get;
[Token(Token = "0x600289F")]
[Address(RVA = "0x5F9930", Offset = "0x5F8730", VA = "0x1805F9930")]
private set;
}
// Token: 0x17000294 RID: 660
// (get) Token: 0x060028A0 RID: 10400 RVA: 0x000020D3 File Offset: 0x000002D3
// (set) Token: 0x060028A1 RID: 10401 RVA: 0x000597B0 File Offset: 0x000579B0
[Token(Token = "0x17000294")]
private protected Vector3 force
{
[Token(Token = "0x60028A0")]
[Address(RVA = "0x126EB40", Offset = "0x126D940", VA = "0x18126EB40")]
[CompilerGenerated]
protected get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
[Token(Token = "0x60028A1")]
[Address(RVA = "0x126EC30", Offset = "0x126DA30", VA = "0x18126EC30")]
[CompilerGenerated]
private set
{
float z = value.z;
this.<force>k__BackingField.z = z;
}
}
// Token: 0x17000295 RID: 661
// (get) Token: 0x060028A2 RID: 10402 RVA: 0x000020D3 File Offset: 0x000002D3
// (set) Token: 0x060028A3 RID: 10403 RVA: 0x000597D0 File Offset: 0x000579D0
[Token(Token = "0x17000295")]
private protected Vector3 point
{
[Token(Token = "0x60028A2")]
[Address(RVA = "0x38DAF0", Offset = "0x38C8F0", VA = "0x18038DAF0")]
[CompilerGenerated]
protected get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
[Token(Token = "0x60028A3")]
[Address(RVA = "0x38DB70", Offset = "0x38C970", VA = "0x18038DB70")]
[CompilerGenerated]
private set
{
float z = value.z;
this.<point>k__BackingField.z = z;
}
}
// Token: 0x060028A4 RID: 10404 RVA: 0x000597F0 File Offset: 0x000579F0
[Token(Token = "0x60028A4")]
[Address(RVA = "0x14EAD60", Offset = "0x14E9B60", VA = "0x1814EAD60")]
public void Hit(Vector3 force, Vector3 point)
{
int num = 0;
float num2 = this.GetLength();
this.length = num2;
if (num < (int)num2)
{
this.<crossFader>k__BackingField = 0f;
if (this.crossFadeTime > (float)num)
{
}
int num3 = 0;
this.crossFadeSpeed = (float)num3;
this.CrossFadeStart();
float z = force.z;
this.<force>k__BackingField.z = z;
float z2 = point.z;
this.<point>k__BackingField.z = z2;
this.<timer>k__BackingField = 0f;
}
Debug.LogError("Hit Point WeightCurve length is zero.");
}
// Token: 0x060028A5 RID: 10405 RVA: 0x00059874 File Offset: 0x00057A74
[Token(Token = "0x60028A5")]
[Address(RVA = "0x14EAC90", Offset = "0x14E9A90", VA = "0x1814EAC90")]
public void Apply(IKSolverFullBodyBiped solver, float weight)
{
float time = Time.time;
float time2 = Time.time;
float num = this.length;
this.lastTime = time2;
float num2 = this.<timer>k__BackingField;
if (num2 < num)
{
int num3 = 0;
int num4 = 0;
float num5 = Mathf.Clamp(num2, (float)num3, num);
this.<timer>k__BackingField = num5;
float num6 = this.crossFadeSpeed;
if (num6 <= (float)num4)
{
}
int num7 = 0;
float num8 = Mathf.Clamp(num6, (float)num7, 1f);
this.<crossFader>k__BackingField = num8;
this.OnApply(solver, weight);
}
}
// Token: 0x060028A6 RID: 10406
[Token(Token = "0x60028A6")]
[Address(Slot = "4")]
protected abstract float GetLength();
// Token: 0x060028A7 RID: 10407
[Token(Token = "0x60028A7")]
[Address(Slot = "5")]
protected abstract void CrossFadeStart();
// Token: 0x060028A8 RID: 10408
[Token(Token = "0x60028A8")]
[Address(Slot = "6")]
protected abstract void OnApply(IKSolverFullBodyBiped solver, float weight);
// Token: 0x060028A9 RID: 10409 RVA: 0x000598FC File Offset: 0x00057AFC
[Token(Token = "0x60028A9")]
[Address(RVA = "0x14EA8B0", Offset = "0x14E96B0", VA = "0x1814EA8B0")]
protected HitPoint()
{
}
// Token: 0x040031E1 RID: 12769
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40031E1")]
[Tooltip("Just for visual clarity, not used at all")]
public string name;
// Token: 0x040031E2 RID: 12770
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40031E2")]
[Tooltip("Linking this hit point to a collider")]
public Collider collider;
// Token: 0x040031E3 RID: 12771
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40031E3")]
[SerializeField]
[Tooltip("Only used if this hit point gets hit when already processing another hit")]
private float crossFadeTime = 0.1f;
// Token: 0x040031E8 RID: 12776
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x40031E8")]
private float length;
// Token: 0x040031E9 RID: 12777
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x40031E9")]
private float crossFadeSpeed;
// Token: 0x040031EA RID: 12778
[FieldOffset(Offset = "0x4C")]
[Token(Token = "0x40031EA")]
private float lastTime;
}
// Token: 0x0200046F RID: 1135
[Token(Token = "0x200046F")]
[Serializable]
public class HitPointEffector : HitReaction.HitPoint
{
// Token: 0x060028AA RID: 10410 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60028AA")]
[Address(RVA = "0x14EA920", Offset = "0x14E9720", VA = "0x1814EA920", Slot = "4")]
protected override float GetLength()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060028AB RID: 10411 RVA: 0x0005991C File Offset: 0x00057B1C
[Token(Token = "0x60028AB")]
[Address(RVA = "0x14EA8C0", Offset = "0x14E96C0", VA = "0x1814EA8C0", Slot = "5")]
protected override void CrossFadeStart()
{
HitReaction.HitPointEffector.EffectorLink[] array = this.effectorLinks;
int num = 0;
int length = array.Length;
if (num < length)
{
array[num].CrossFadeStart();
num++;
}
}
// Token: 0x060028AC RID: 10412 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60028AC")]
[Address(RVA = "0x14EAA70", Offset = "0x14E9870", VA = "0x1814EAA70", Slot = "6")]
protected override void OnApply(IKSolverFullBodyBiped solver, float weight)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060028AD RID: 10413 RVA: 0x00059954 File Offset: 0x00057B54
[Token(Token = "0x60028AD")]
[Address(RVA = "0x14EA8B0", Offset = "0x14E96B0", VA = "0x1814EA8B0")]
public HitPointEffector()
{
this.crossFadeTime = 0.1f;
base..ctor();
}
// Token: 0x040031EB RID: 12779
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x40031EB")]
[Tooltip("Offset magnitude in the direction of the hit force")]
public AnimationCurve offsetInForceDirection;
// Token: 0x040031EC RID: 12780
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x40031EC")]
[Tooltip("Offset magnitude in the direction of character.up")]
public AnimationCurve offsetInUpDirection;
// Token: 0x040031ED RID: 12781
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x40031ED")]
[Tooltip("Linking this offset to the FBBIK effectors")]
public HitReaction.HitPointEffector.EffectorLink[] effectorLinks;
// Token: 0x02000470 RID: 1136
[Token(Token = "0x2000470")]
[Serializable]
public class EffectorLink
{
// Token: 0x060028AE RID: 10414 RVA: 0x0003883F File Offset: 0x00036A3F
[Token(Token = "0x60028AE")]
[Address(RVA = "0x132C700", Offset = "0x132B500", VA = "0x18132C700")]
public void Apply(IKSolverFullBodyBiped solver, Vector3 offset, float crossFader)
{
}
// Token: 0x060028AF RID: 10415 RVA: 0x0003883F File Offset: 0x00036A3F
[Token(Token = "0x60028AF")]
[Address(RVA = "0x132C870", Offset = "0x132B670", VA = "0x18132C870")]
public void CrossFadeStart()
{
}
// Token: 0x060028B0 RID: 10416 RVA: 0x0003883F File Offset: 0x00036A3F
[Token(Token = "0x60028B0")]
[Address(RVA = "0x3D8B20", Offset = "0x3D7920", VA = "0x1803D8B20")]
public EffectorLink()
{
}
// Token: 0x040031EE RID: 12782
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40031EE")]
[Tooltip("The FBBIK effector type")]
public FullBodyBipedEffector effector;
// Token: 0x040031EF RID: 12783
[FieldOffset(Offset = "0x14")]
[Token(Token = "0x40031EF")]
[Tooltip("The weight of this effector (could also be negative)")]
public float weight;
// Token: 0x040031F0 RID: 12784
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40031F0")]
private Vector3 lastValue;
// Token: 0x040031F1 RID: 12785
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x40031F1")]
private Vector3 current;
}
}
// Token: 0x02000471 RID: 1137
[Token(Token = "0x2000471")]
[Serializable]
public class HitPointBone : HitReaction.HitPoint
{
// Token: 0x060028B1 RID: 10417 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60028B1")]
[Address(RVA = "0x14EA5B0", Offset = "0x14E93B0", VA = "0x1814EA5B0", Slot = "4")]
protected override float GetLength()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060028B2 RID: 10418 RVA: 0x00059974 File Offset: 0x00057B74
[Token(Token = "0x60028B2")]
[Address(RVA = "0x14EA550", Offset = "0x14E9350", VA = "0x1814EA550", Slot = "5")]
protected override void CrossFadeStart()
{
HitReaction.HitPointBone.BoneLink[] array = this.boneLinks;
int num = 0;
int length = array.Length;
if (num < length)
{
array[num].CrossFadeStart();
num++;
}
}
// Token: 0x060028B3 RID: 10419 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60028B3")]
[Address(RVA = "0x14EA650", Offset = "0x14E9450", VA = "0x1814EA650", Slot = "6")]
protected override void OnApply(IKSolverFullBodyBiped solver, float weight)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060028B4 RID: 10420 RVA: 0x000599AC File Offset: 0x00057BAC
[Token(Token = "0x60028B4")]
[Address(RVA = "0x14EA8B0", Offset = "0x14E96B0", VA = "0x1814EA8B0")]
public HitPointBone()
{
this.crossFadeTime = 0.1f;
base..ctor();
}
// Token: 0x040031F2 RID: 12786
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x40031F2")]
[Tooltip("The angle to rotate the bone around it's rigidbody's world center of mass")]
public AnimationCurve aroundCenterOfMass;
// Token: 0x040031F3 RID: 12787
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x40031F3")]
[Tooltip("Linking this hit point to bone(s)")]
public HitReaction.HitPointBone.BoneLink[] boneLinks;
// Token: 0x040031F4 RID: 12788
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x40031F4")]
private Rigidbody rigidbody;
// Token: 0x02000472 RID: 1138
[Token(Token = "0x2000472")]
[Serializable]
public class BoneLink
{
// Token: 0x060028B5 RID: 10421 RVA: 0x0003883F File Offset: 0x00036A3F
[Token(Token = "0x60028B5")]
[Address(RVA = "0x132C590", Offset = "0x132B390", VA = "0x18132C590")]
public void Apply(IKSolverFullBodyBiped solver, Quaternion offset, float crossFader)
{
}
// Token: 0x060028B6 RID: 10422 RVA: 0x0003883F File Offset: 0x00036A3F
[Token(Token = "0x60028B6")]
[Address(RVA = "0x132C6B0", Offset = "0x132B4B0", VA = "0x18132C6B0")]
public void CrossFadeStart()
{
}
// Token: 0x060028B7 RID: 10423 RVA: 0x0003883F File Offset: 0x00036A3F
[Token(Token = "0x60028B7")]
[Address(RVA = "0x132C6C0", Offset = "0x132B4C0", VA = "0x18132C6C0")]
public BoneLink()
{
}
// Token: 0x040031F5 RID: 12789
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40031F5")]
[Tooltip("Reference to the bone that this hit point rotates")]
public Transform bone;
// Token: 0x040031F6 RID: 12790
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40031F6")]
[Tooltip("Weight of rotating the bone")]
[Range(0f, 1f)]
public float weight;
// Token: 0x040031F7 RID: 12791
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x40031F7")]
private Quaternion lastValue;
// Token: 0x040031F8 RID: 12792
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x40031F8")]
private Quaternion current;
}
}
}
}

View File

@@ -0,0 +1,490 @@
using System;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x02000473 RID: 1139
[Token(Token = "0x2000473")]
public class HitReactionVRIK : OffsetModifierVRIK
{
// Token: 0x060028B8 RID: 10424 RVA: 0x000599CC File Offset: 0x00057BCC
[Token(Token = "0x60028B8")]
[Address(RVA = "0x117E490", Offset = "0x117D290", VA = "0x18117E490", Slot = "4")]
protected override void OnModifyOffset()
{
HitReactionVRIK.PositionOffset[] array = this.positionOffsets;
int num = 0;
int length = array.Length;
if (num < length)
{
HitReactionVRIK.PositionOffset positionOffset = array[num];
float weight = this.weight;
AnimationCurve[] array2 = this.offsetCurves;
VRIK ik = this.ik;
positionOffset.Apply(ik, array2, weight);
num++;
}
HitReactionVRIK.RotationOffset[] array3 = this.rotationOffsets;
int length2 = array3.Length;
if (num < length2)
{
HitReactionVRIK.RotationOffset rotationOffset = array3[num];
float weight2 = this.weight;
AnimationCurve[] array4 = this.offsetCurves;
VRIK ik2 = this.ik;
rotationOffset.Apply(ik2, array4, weight2);
num++;
}
}
// Token: 0x060028B9 RID: 10425 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60028B9")]
[Address(RVA = "0x117E1F0", Offset = "0x117CFF0", VA = "0x18117E1F0")]
public void Hit(Collider collider, Vector3 force, Vector3 point)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060028BA RID: 10426 RVA: 0x00059A6C File Offset: 0x00057C6C
[Token(Token = "0x60028BA")]
[Address(RVA = "0x8CD260", Offset = "0x8CC060", VA = "0x1808CD260")]
public HitReactionVRIK()
{
}
// Token: 0x040031F9 RID: 12793
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40031F9")]
public AnimationCurve[] offsetCurves;
// Token: 0x040031FA RID: 12794
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x40031FA")]
[Tooltip("Hit points for the FBBIK effectors")]
public HitReactionVRIK.PositionOffset[] positionOffsets;
// Token: 0x040031FB RID: 12795
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x40031FB")]
[Tooltip(" Hit points for bones without an effector, such as the head")]
public HitReactionVRIK.RotationOffset[] rotationOffsets;
// Token: 0x02000474 RID: 1140
[Token(Token = "0x2000474")]
[Serializable]
public abstract class Offset
{
// Token: 0x17000296 RID: 662
// (get) Token: 0x060028BB RID: 10427 RVA: 0x00059A80 File Offset: 0x00057C80
// (set) Token: 0x060028BC RID: 10428 RVA: 0x00059A94 File Offset: 0x00057C94
[Token(Token = "0x17000296")]
private protected float crossFader
{
[Token(Token = "0x60028BB")]
[Address(RVA = "0x5B0660", Offset = "0x5AF460", VA = "0x1805B0660")]
protected get;
[Token(Token = "0x60028BC")]
[Address(RVA = "0x5B0700", Offset = "0x5AF500", VA = "0x1805B0700")]
private set;
}
// Token: 0x17000297 RID: 663
// (get) Token: 0x060028BD RID: 10429 RVA: 0x00059AA8 File Offset: 0x00057CA8
// (set) Token: 0x060028BE RID: 10430 RVA: 0x00059ABC File Offset: 0x00057CBC
[Token(Token = "0x17000297")]
private protected float timer
{
[Token(Token = "0x60028BD")]
[Address(RVA = "0x5F9910", Offset = "0x5F8710", VA = "0x1805F9910")]
protected get;
[Token(Token = "0x60028BE")]
[Address(RVA = "0x5F9930", Offset = "0x5F8730", VA = "0x1805F9930")]
private set;
}
// Token: 0x17000298 RID: 664
// (get) Token: 0x060028BF RID: 10431 RVA: 0x000020D3 File Offset: 0x000002D3
// (set) Token: 0x060028C0 RID: 10432 RVA: 0x00059AD0 File Offset: 0x00057CD0
[Token(Token = "0x17000298")]
private protected Vector3 force
{
[Token(Token = "0x60028BF")]
[Address(RVA = "0x126EB40", Offset = "0x126D940", VA = "0x18126EB40")]
[CompilerGenerated]
protected get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
[Token(Token = "0x60028C0")]
[Address(RVA = "0x126EC30", Offset = "0x126DA30", VA = "0x18126EC30")]
[CompilerGenerated]
private set
{
float z = value.z;
this.<force>k__BackingField.z = z;
}
}
// Token: 0x17000299 RID: 665
// (get) Token: 0x060028C1 RID: 10433 RVA: 0x000020D3 File Offset: 0x000002D3
// (set) Token: 0x060028C2 RID: 10434 RVA: 0x00059AF0 File Offset: 0x00057CF0
[Token(Token = "0x17000299")]
private protected Vector3 point
{
[Token(Token = "0x60028C1")]
[Address(RVA = "0x38DAF0", Offset = "0x38C8F0", VA = "0x18038DAF0")]
[CompilerGenerated]
protected get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
[Token(Token = "0x60028C2")]
[Address(RVA = "0x38DB70", Offset = "0x38C970", VA = "0x18038DB70")]
[CompilerGenerated]
private set
{
float z = value.z;
this.<point>k__BackingField.z = z;
}
}
// Token: 0x060028C3 RID: 10435 RVA: 0x00059B10 File Offset: 0x00057D10
[Token(Token = "0x60028C3")]
[Address(RVA = "0x14F18B0", Offset = "0x14F06B0", VA = "0x1814F18B0")]
public void Hit(Vector3 force, AnimationCurve[] curves, Vector3 point)
{
int num = 0;
float num2 = this.GetLength(curves);
this.length = num2;
if (num < (int)num2)
{
int num3 = 0;
this.<crossFader>k__BackingField = (float)num3;
if (this.crossFadeTime > (float)num)
{
}
int num4 = 0;
this.crossFadeSpeed = (float)num4;
this.CrossFadeStart();
float z = force.z;
this.<force>k__BackingField.z = z;
float z2 = point.z;
this.<point>k__BackingField.z = z2;
this.<timer>k__BackingField = (float)num3;
}
Debug.LogError("Hit Point WeightCurve length is zero.");
}
// Token: 0x060028C4 RID: 10436 RVA: 0x00059B90 File Offset: 0x00057D90
[Token(Token = "0x60028C4")]
[Address(RVA = "0x14F17C0", Offset = "0x14F05C0", VA = "0x1814F17C0")]
public void Apply(VRIK ik, AnimationCurve[] curves, float weight)
{
float time = Time.time;
float time2 = Time.time;
float num = this.length;
this.lastTime = time2;
float num2 = this.<timer>k__BackingField;
if (num2 < num)
{
int num3 = 0;
int num4 = 0;
float num5 = Mathf.Clamp(num2, (float)num3, num);
this.<timer>k__BackingField = num5;
float num6 = this.crossFadeSpeed;
if (num6 <= (float)num4)
{
}
int num7 = 0;
float num8 = Mathf.Clamp(num6, (float)num7, 1f);
this.<crossFader>k__BackingField = num8;
this.OnApply(ik, curves, weight);
}
}
// Token: 0x060028C5 RID: 10437
[Token(Token = "0x60028C5")]
[Address(Slot = "4")]
protected abstract float GetLength(AnimationCurve[] curves);
// Token: 0x060028C6 RID: 10438
[Token(Token = "0x60028C6")]
[Address(Slot = "5")]
protected abstract void CrossFadeStart();
// Token: 0x060028C7 RID: 10439
[Token(Token = "0x60028C7")]
[Address(Slot = "6")]
protected abstract void OnApply(VRIK ik, AnimationCurve[] curves, float weight);
// Token: 0x060028C8 RID: 10440 RVA: 0x00059C18 File Offset: 0x00057E18
[Token(Token = "0x60028C8")]
[Address(RVA = "0x14EA8B0", Offset = "0x14E96B0", VA = "0x1814EA8B0")]
protected Offset()
{
}
// Token: 0x040031FC RID: 12796
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40031FC")]
[Tooltip("Just for visual clarity, not used at all")]
public string name;
// Token: 0x040031FD RID: 12797
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40031FD")]
[Tooltip("Linking this hit point to a collider")]
public Collider collider;
// Token: 0x040031FE RID: 12798
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40031FE")]
[SerializeField]
[Tooltip("Only used if this hit point gets hit when already processing another hit")]
private float crossFadeTime = 0.1f;
// Token: 0x04003203 RID: 12803
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x4003203")]
private float length;
// Token: 0x04003204 RID: 12804
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4003204")]
private float crossFadeSpeed;
// Token: 0x04003205 RID: 12805
[FieldOffset(Offset = "0x4C")]
[Token(Token = "0x4003205")]
private float lastTime;
}
// Token: 0x02000475 RID: 1141
[Token(Token = "0x2000475")]
[Serializable]
public class PositionOffset : HitReactionVRIK.Offset
{
// Token: 0x060028C9 RID: 10441 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60028C9")]
[Address(RVA = "0x14F28D0", Offset = "0x14F16D0", VA = "0x1814F28D0", Slot = "4")]
protected override float GetLength(AnimationCurve[] curves)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060028CA RID: 10442 RVA: 0x00059C38 File Offset: 0x00057E38
[Token(Token = "0x60028CA")]
[Address(RVA = "0x14F2870", Offset = "0x14F1670", VA = "0x1814F2870", Slot = "5")]
protected override void CrossFadeStart()
{
HitReactionVRIK.PositionOffset.PositionOffsetLink[] array = this.offsetLinks;
int num = 0;
int length = array.Length;
if (num < length)
{
array[num].CrossFadeStart();
num++;
}
}
// Token: 0x060028CB RID: 10443 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60028CB")]
[Address(RVA = "0x14F2AF0", Offset = "0x14F18F0", VA = "0x1814F2AF0", Slot = "6")]
protected override void OnApply(VRIK ik, AnimationCurve[] curves, float weight)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060028CC RID: 10444 RVA: 0x00059C70 File Offset: 0x00057E70
[Token(Token = "0x60028CC")]
[Address(RVA = "0x14F2D70", Offset = "0x14F1B70", VA = "0x1814F2D70")]
public PositionOffset()
{
this.crossFadeTime = 0.1f;
base..ctor();
}
// Token: 0x04003206 RID: 12806
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4003206")]
[Tooltip("Offset magnitude in the direction of the hit force")]
public int forceDirCurveIndex;
// Token: 0x04003207 RID: 12807
[FieldOffset(Offset = "0x54")]
[Token(Token = "0x4003207")]
[Tooltip("Offset magnitude in the direction of character.up")]
public int upDirCurveIndex = (int)((ulong)1L);
// Token: 0x04003208 RID: 12808
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4003208")]
[Tooltip("Linking this offset to the VRIK position offsets")]
public HitReactionVRIK.PositionOffset.PositionOffsetLink[] offsetLinks;
// Token: 0x02000476 RID: 1142
[Token(Token = "0x2000476")]
[Serializable]
public class PositionOffsetLink
{
// Token: 0x060028CD RID: 10445 RVA: 0x0003883F File Offset: 0x00036A3F
[Token(Token = "0x60028CD")]
[Address(RVA = "0x132D2E0", Offset = "0x132C0E0", VA = "0x18132D2E0")]
public void Apply(VRIK ik, Vector3 offset, float crossFader)
{
}
// Token: 0x060028CE RID: 10446 RVA: 0x0003883F File Offset: 0x00036A3F
[Token(Token = "0x60028CE")]
[Address(RVA = "0x132C870", Offset = "0x132B670", VA = "0x18132C870")]
public void CrossFadeStart()
{
}
// Token: 0x060028CF RID: 10447 RVA: 0x0003883F File Offset: 0x00036A3F
[Token(Token = "0x60028CF")]
[Address(RVA = "0x3D8B20", Offset = "0x3D7920", VA = "0x1803D8B20")]
public PositionOffsetLink()
{
}
// Token: 0x04003209 RID: 12809
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4003209")]
[Tooltip("The FBBIK effector type")]
public IKSolverVR.PositionOffset positionOffset;
// Token: 0x0400320A RID: 12810
[FieldOffset(Offset = "0x14")]
[Token(Token = "0x400320A")]
[Tooltip("The weight of this effector (could also be negative)")]
public float weight;
// Token: 0x0400320B RID: 12811
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x400320B")]
private Vector3 lastValue;
// Token: 0x0400320C RID: 12812
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x400320C")]
private Vector3 current;
}
}
// Token: 0x02000477 RID: 1143
[Token(Token = "0x2000477")]
[Serializable]
public class RotationOffset : HitReactionVRIK.Offset
{
// Token: 0x060028D0 RID: 10448 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60028D0")]
[Address(RVA = "0x14F2F10", Offset = "0x14F1D10", VA = "0x1814F2F10", Slot = "4")]
protected override float GetLength(AnimationCurve[] curves)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060028D1 RID: 10449 RVA: 0x00059C98 File Offset: 0x00057E98
[Token(Token = "0x60028D1")]
[Address(RVA = "0x14F2EB0", Offset = "0x14F1CB0", VA = "0x1814F2EB0", Slot = "5")]
protected override void CrossFadeStart()
{
HitReactionVRIK.RotationOffset.RotationOffsetLink[] array = this.offsetLinks;
int num = 0;
int length = array.Length;
if (num < length)
{
array[num].CrossFadeStart();
num++;
}
}
// Token: 0x060028D2 RID: 10450 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60028D2")]
[Address(RVA = "0x14F3030", Offset = "0x14F1E30", VA = "0x1814F3030", Slot = "6")]
protected override void OnApply(VRIK ik, AnimationCurve[] curves, float weight)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060028D3 RID: 10451 RVA: 0x00059CD0 File Offset: 0x00057ED0
[Token(Token = "0x60028D3")]
[Address(RVA = "0x14EA8B0", Offset = "0x14E96B0", VA = "0x1814EA8B0")]
public RotationOffset()
{
this.crossFadeTime = 0.1f;
base..ctor();
}
// Token: 0x0400320D RID: 12813
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x400320D")]
[Tooltip("The angle to rotate the bone around it's rigidbody's world center of mass")]
public int curveIndex;
// Token: 0x0400320E RID: 12814
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x400320E")]
[Tooltip("Linking this hit point to bone(s)")]
public HitReactionVRIK.RotationOffset.RotationOffsetLink[] offsetLinks;
// Token: 0x0400320F RID: 12815
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x400320F")]
private Rigidbody rigidbody;
// Token: 0x02000478 RID: 1144
[Token(Token = "0x2000478")]
[Serializable]
public class RotationOffsetLink
{
// Token: 0x060028D4 RID: 10452 RVA: 0x0003883F File Offset: 0x00036A3F
[Token(Token = "0x60028D4")]
[Address(RVA = "0x132EA20", Offset = "0x132D820", VA = "0x18132EA20")]
public void Apply(VRIK ik, Quaternion offset, float crossFader)
{
}
// Token: 0x060028D5 RID: 10453 RVA: 0x0003883F File Offset: 0x00036A3F
[Token(Token = "0x60028D5")]
[Address(RVA = "0x132EB10", Offset = "0x132D910", VA = "0x18132EB10")]
public void CrossFadeStart()
{
}
// Token: 0x060028D6 RID: 10454 RVA: 0x0003883F File Offset: 0x00036A3F
[Token(Token = "0x60028D6")]
[Address(RVA = "0x132EB20", Offset = "0x132D920", VA = "0x18132EB20")]
public RotationOffsetLink()
{
}
// Token: 0x04003210 RID: 12816
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4003210")]
[Tooltip("Reference to the bone that this hit point rotates")]
public IKSolverVR.RotationOffset rotationOffset;
// Token: 0x04003211 RID: 12817
[FieldOffset(Offset = "0x14")]
[Token(Token = "0x4003211")]
[Range(0f, 1f)]
[Tooltip("Weight of rotating the bone")]
public float weight;
// Token: 0x04003212 RID: 12818
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4003212")]
private Quaternion lastValue;
// Token: 0x04003213 RID: 12819
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4003213")]
private Quaternion current;
}
}
}
}

Some files were not shown because too many files have changed in this diff Show More