185 lines
5.3 KiB
C#
185 lines
5.3 KiB
C#
using System;
|
|
using Cpp2IlInjected;
|
|
using UnityEngine;
|
|
|
|
namespace RootMotion.FinalIK
|
|
{
|
|
// Token: 0x02000482 RID: 1154
|
|
[Token(Token = "0x2000482")]
|
|
public class Inertia : OffsetModifier
|
|
{
|
|
// Token: 0x06002909 RID: 10505 RVA: 0x0005A154 File Offset: 0x00058354
|
|
[Token(Token = "0x6002909")]
|
|
[Address(RVA = "0x10AECA0", Offset = "0x10AD4A0", VA = "0x1810AECA0")]
|
|
public void ResetBodies()
|
|
{
|
|
float time = Time.time;
|
|
Inertia.Body[] array = this.bodies;
|
|
this.lastTime = time;
|
|
int num = 0;
|
|
int length = array.Length;
|
|
if (num < length)
|
|
{
|
|
array[num].Reset();
|
|
num++;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600290A RID: 10506 RVA: 0x0005A19C File Offset: 0x0005839C
|
|
[Token(Token = "0x600290A")]
|
|
[Address(RVA = "0x10AEBD0", Offset = "0x10AD3D0", VA = "0x1810AEBD0", Slot = "4")]
|
|
protected override void OnModifyOffset()
|
|
{
|
|
Inertia.Body[] array = this.bodies;
|
|
int num = 0;
|
|
int length = array.Length;
|
|
if (num < length)
|
|
{
|
|
Inertia.Body body = array[num];
|
|
IKSolverFullBodyBiped solver = this.ik.solver;
|
|
float weight = this.weight;
|
|
float deltaTime = base.deltaTime;
|
|
body.Update(solver, weight, deltaTime);
|
|
num++;
|
|
}
|
|
OffsetModifier.OffsetLimits[] array2 = this.limits;
|
|
base.ApplyLimits(array2);
|
|
}
|
|
|
|
// Token: 0x0600290B RID: 10507 RVA: 0x0005A208 File Offset: 0x00058408
|
|
[Token(Token = "0x600290B")]
|
|
[Address(RVA = "0xA91CB0", Offset = "0xA904B0", VA = "0x180A91CB0")]
|
|
public Inertia()
|
|
{
|
|
}
|
|
|
|
// Token: 0x04003256 RID: 12886
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4003256")]
|
|
[Tooltip("The array of Bodies")]
|
|
public Inertia.Body[] bodies;
|
|
|
|
// Token: 0x04003257 RID: 12887
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x4003257")]
|
|
[Tooltip("The array of OffsetLimits")]
|
|
public OffsetModifier.OffsetLimits[] limits;
|
|
|
|
// Token: 0x02000483 RID: 1155
|
|
[Token(Token = "0x2000483")]
|
|
[Serializable]
|
|
public class Body
|
|
{
|
|
// Token: 0x0600290C RID: 10508 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x600290C")]
|
|
[Address(RVA = "0x15804A0", Offset = "0x157ECA0", VA = "0x1815804A0")]
|
|
public void Reset()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x0600290D RID: 10509 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x600290D")]
|
|
[Address(RVA = "0x1580580", Offset = "0x157ED80", VA = "0x181580580")]
|
|
public void Update(IKSolverFullBodyBiped solver, float weight, float deltaTime)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x0600290E RID: 10510 RVA: 0x0005A21C File Offset: 0x0005841C
|
|
[Token(Token = "0x600290E")]
|
|
[Address(RVA = "0x1580AE0", Offset = "0x157F2E0", VA = "0x181580AE0")]
|
|
public Body()
|
|
{
|
|
}
|
|
|
|
// Token: 0x04003258 RID: 12888
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4003258")]
|
|
[Tooltip("The Transform to follow, can be any bone of the character")]
|
|
public Transform transform;
|
|
|
|
// Token: 0x04003259 RID: 12889
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4003259")]
|
|
[Tooltip("Linking the body to effectors. One Body can be used to offset more than one effector")]
|
|
public Inertia.Body.EffectorLink[] effectorLinks;
|
|
|
|
// Token: 0x0400325A RID: 12890
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x400325A")]
|
|
[Tooltip("The speed to follow the Transform")]
|
|
public float speed = 10f;
|
|
|
|
// Token: 0x0400325B RID: 12891
|
|
[FieldOffset(Offset = "0x24")]
|
|
[Token(Token = "0x400325B")]
|
|
[Tooltip("The acceleration, smaller values means lazyer following")]
|
|
public float acceleration = 3f;
|
|
|
|
// Token: 0x0400325C RID: 12892
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x400325C")]
|
|
[Tooltip("Matching target velocity")]
|
|
[Range(0f, 1f)]
|
|
public float matchVelocity;
|
|
|
|
// Token: 0x0400325D RID: 12893
|
|
[FieldOffset(Offset = "0x2C")]
|
|
[Token(Token = "0x400325D")]
|
|
[Tooltip("gravity applied to the Body")]
|
|
public float gravity;
|
|
|
|
// Token: 0x0400325E RID: 12894
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x400325E")]
|
|
private Vector3 delta;
|
|
|
|
// Token: 0x0400325F RID: 12895
|
|
[FieldOffset(Offset = "0x3C")]
|
|
[Token(Token = "0x400325F")]
|
|
private Vector3 lazyPoint;
|
|
|
|
// Token: 0x04003260 RID: 12896
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x4003260")]
|
|
private Vector3 direction;
|
|
|
|
// Token: 0x04003261 RID: 12897
|
|
[FieldOffset(Offset = "0x54")]
|
|
[Token(Token = "0x4003261")]
|
|
private Vector3 lastPosition;
|
|
|
|
// Token: 0x04003262 RID: 12898
|
|
[FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x4003262")]
|
|
private bool firstUpdate = true;
|
|
|
|
// Token: 0x02000484 RID: 1156
|
|
[Token(Token = "0x2000484")]
|
|
[Serializable]
|
|
public class EffectorLink
|
|
{
|
|
// Token: 0x0600290F RID: 10511 RVA: 0x00038FC3 File Offset: 0x000371C3
|
|
[Token(Token = "0x600290F")]
|
|
[Address(RVA = "0x43A830", Offset = "0x439030", VA = "0x18043A830")]
|
|
public EffectorLink()
|
|
{
|
|
}
|
|
|
|
// Token: 0x04003263 RID: 12899
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4003263")]
|
|
[Tooltip("Type of the FBBIK effector to use")]
|
|
public FullBodyBipedEffector effector;
|
|
|
|
// Token: 0x04003264 RID: 12900
|
|
[FieldOffset(Offset = "0x14")]
|
|
[Token(Token = "0x4003264")]
|
|
[Tooltip("Weight of using this effector")]
|
|
public float weight;
|
|
}
|
|
}
|
|
}
|
|
}
|