Files
NobetaSource/Cpp2IL/Assembly-CSharp/RootMotion/FinalIK/Inertia.cs
2023-09-06 22:09:22 +02:00

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;
}
}
}
}