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

185 lines
5.3 KiB
C#

using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x020004D1 RID: 1233
[Token(Token = "0x20004D1")]
public class Inertia : OffsetModifier
{
// Token: 0x06002BA0 RID: 11168 RVA: 0x00061094 File Offset: 0x0005F294
[Token(Token = "0x6002BA0")]
[Address(RVA = "0x152B390", Offset = "0x152A390", VA = "0x18152B390")]
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: 0x06002BA1 RID: 11169 RVA: 0x000610DC File Offset: 0x0005F2DC
[Token(Token = "0x6002BA1")]
[Address(RVA = "0x152B2C0", Offset = "0x152A2C0", VA = "0x18152B2C0", 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: 0x06002BA2 RID: 11170 RVA: 0x00061148 File Offset: 0x0005F348
[Token(Token = "0x6002BA2")]
[Address(RVA = "0xDA8200", Offset = "0xDA7200", VA = "0x180DA8200")]
public Inertia()
{
}
// Token: 0x040034FE RID: 13566
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40034FE")]
[Tooltip("The array of Bodies")]
public Inertia.Body[] bodies;
// Token: 0x040034FF RID: 13567
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x40034FF")]
[Tooltip("The array of OffsetLimits")]
public OffsetModifier.OffsetLimits[] limits;
// Token: 0x020004D2 RID: 1234
[Token(Token = "0x20004D2")]
[Serializable]
public class Body
{
// Token: 0x06002BA3 RID: 11171 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BA3")]
[Address(RVA = "0x169FAC0", Offset = "0x169EAC0", VA = "0x18169FAC0")]
public void Reset()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BA4 RID: 11172 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BA4")]
[Address(RVA = "0x169FBA0", Offset = "0x169EBA0", VA = "0x18169FBA0")]
public void Update(IKSolverFullBodyBiped solver, float weight, float deltaTime)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BA5 RID: 11173 RVA: 0x0006115C File Offset: 0x0005F35C
[Token(Token = "0x6002BA5")]
[Address(RVA = "0x16A0100", Offset = "0x169F100", VA = "0x1816A0100")]
public Body()
{
}
// Token: 0x04003500 RID: 13568
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4003500")]
[Tooltip("The Transform to follow, can be any bone of the character")]
public Transform transform;
// Token: 0x04003501 RID: 13569
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4003501")]
[Tooltip("Linking the body to effectors. One Body can be used to offset more than one effector")]
public Inertia.Body.EffectorLink[] effectorLinks;
// Token: 0x04003502 RID: 13570
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4003502")]
[Tooltip("The speed to follow the Transform")]
public float speed = 10f;
// Token: 0x04003503 RID: 13571
[FieldOffset(Offset = "0x24")]
[Token(Token = "0x4003503")]
[Tooltip("The acceleration, smaller values means lazyer following")]
public float acceleration = 3f;
// Token: 0x04003504 RID: 13572
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4003504")]
[Range(0f, 1f)]
[Tooltip("Matching target velocity")]
public float matchVelocity;
// Token: 0x04003505 RID: 13573
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x4003505")]
[Tooltip("gravity applied to the Body")]
public float gravity;
// Token: 0x04003506 RID: 13574
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4003506")]
private Vector3 delta;
// Token: 0x04003507 RID: 13575
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x4003507")]
private Vector3 lazyPoint;
// Token: 0x04003508 RID: 13576
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4003508")]
private Vector3 direction;
// Token: 0x04003509 RID: 13577
[FieldOffset(Offset = "0x54")]
[Token(Token = "0x4003509")]
private Vector3 lastPosition;
// Token: 0x0400350A RID: 13578
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x400350A")]
private bool firstUpdate = true;
// Token: 0x020004D3 RID: 1235
[Token(Token = "0x20004D3")]
[Serializable]
public class EffectorLink
{
// Token: 0x06002BA6 RID: 11174 RVA: 0x0003DF9B File Offset: 0x0003C19B
[Token(Token = "0x6002BA6")]
[Address(RVA = "0x36ABD0", Offset = "0x369BD0", VA = "0x18036ABD0")]
public EffectorLink()
{
}
// Token: 0x0400350B RID: 13579
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x400350B")]
[Tooltip("Type of the FBBIK effector to use")]
public FullBodyBipedEffector effector;
// Token: 0x0400350C RID: 13580
[FieldOffset(Offset = "0x14")]
[Token(Token = "0x400350C")]
[Tooltip("Weight of using this effector")]
public float weight;
}
}
}
}