185 lines
5.3 KiB
C#
185 lines
5.3 KiB
C#
using System;
|
|
using Cpp2IlInjected;
|
|
using UnityEngine;
|
|
|
|
namespace RootMotion.FinalIK
|
|
{
|
|
// Token: 0x02000479 RID: 1145
|
|
[Token(Token = "0x2000479")]
|
|
public class Inertia : OffsetModifier
|
|
{
|
|
// Token: 0x060028D7 RID: 10455 RVA: 0x00059CF0 File Offset: 0x00057EF0
|
|
[Token(Token = "0x60028D7")]
|
|
[Address(RVA = "0x10D2E60", Offset = "0x10D1C60", VA = "0x1810D2E60")]
|
|
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: 0x060028D8 RID: 10456 RVA: 0x00059D38 File Offset: 0x00057F38
|
|
[Token(Token = "0x60028D8")]
|
|
[Address(RVA = "0x10D2D90", Offset = "0x10D1B90", VA = "0x1810D2D90", 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: 0x060028D9 RID: 10457 RVA: 0x00059DA4 File Offset: 0x00057FA4
|
|
[Token(Token = "0x60028D9")]
|
|
[Address(RVA = "0x8CD260", Offset = "0x8CC060", VA = "0x1808CD260")]
|
|
public Inertia()
|
|
{
|
|
}
|
|
|
|
// Token: 0x04003214 RID: 12820
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4003214")]
|
|
[Tooltip("The array of Bodies")]
|
|
public Inertia.Body[] bodies;
|
|
|
|
// Token: 0x04003215 RID: 12821
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x4003215")]
|
|
[Tooltip("The array of OffsetLimits")]
|
|
public OffsetModifier.OffsetLimits[] limits;
|
|
|
|
// Token: 0x0200047A RID: 1146
|
|
[Token(Token = "0x200047A")]
|
|
[Serializable]
|
|
public class Body
|
|
{
|
|
// Token: 0x060028DA RID: 10458 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60028DA")]
|
|
[Address(RVA = "0x14E64C0", Offset = "0x14E52C0", VA = "0x1814E64C0")]
|
|
public void Reset()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060028DB RID: 10459 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60028DB")]
|
|
[Address(RVA = "0x14E65A0", Offset = "0x14E53A0", VA = "0x1814E65A0")]
|
|
public void Update(IKSolverFullBodyBiped solver, float weight, float deltaTime)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060028DC RID: 10460 RVA: 0x00059DB8 File Offset: 0x00057FB8
|
|
[Token(Token = "0x60028DC")]
|
|
[Address(RVA = "0x14E6B00", Offset = "0x14E5900", VA = "0x1814E6B00")]
|
|
public Body()
|
|
{
|
|
}
|
|
|
|
// Token: 0x04003216 RID: 12822
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4003216")]
|
|
[Tooltip("The Transform to follow, can be any bone of the character")]
|
|
public Transform transform;
|
|
|
|
// Token: 0x04003217 RID: 12823
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4003217")]
|
|
[Tooltip("Linking the body to effectors. One Body can be used to offset more than one effector")]
|
|
public Inertia.Body.EffectorLink[] effectorLinks;
|
|
|
|
// Token: 0x04003218 RID: 12824
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4003218")]
|
|
[Tooltip("The speed to follow the Transform")]
|
|
public float speed = 10f;
|
|
|
|
// Token: 0x04003219 RID: 12825
|
|
[FieldOffset(Offset = "0x24")]
|
|
[Token(Token = "0x4003219")]
|
|
[Tooltip("The acceleration, smaller values means lazyer following")]
|
|
public float acceleration = 3f;
|
|
|
|
// Token: 0x0400321A RID: 12826
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x400321A")]
|
|
[Tooltip("Matching target velocity")]
|
|
[Range(0f, 1f)]
|
|
public float matchVelocity;
|
|
|
|
// Token: 0x0400321B RID: 12827
|
|
[FieldOffset(Offset = "0x2C")]
|
|
[Token(Token = "0x400321B")]
|
|
[Tooltip("gravity applied to the Body")]
|
|
public float gravity;
|
|
|
|
// Token: 0x0400321C RID: 12828
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x400321C")]
|
|
private Vector3 delta;
|
|
|
|
// Token: 0x0400321D RID: 12829
|
|
[FieldOffset(Offset = "0x3C")]
|
|
[Token(Token = "0x400321D")]
|
|
private Vector3 lazyPoint;
|
|
|
|
// Token: 0x0400321E RID: 12830
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x400321E")]
|
|
private Vector3 direction;
|
|
|
|
// Token: 0x0400321F RID: 12831
|
|
[FieldOffset(Offset = "0x54")]
|
|
[Token(Token = "0x400321F")]
|
|
private Vector3 lastPosition;
|
|
|
|
// Token: 0x04003220 RID: 12832
|
|
[FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x4003220")]
|
|
private bool firstUpdate = true;
|
|
|
|
// Token: 0x0200047B RID: 1147
|
|
[Token(Token = "0x200047B")]
|
|
[Serializable]
|
|
public class EffectorLink
|
|
{
|
|
// Token: 0x060028DD RID: 10461 RVA: 0x0003883F File Offset: 0x00036A3F
|
|
[Token(Token = "0x60028DD")]
|
|
[Address(RVA = "0x3D8B20", Offset = "0x3D7920", VA = "0x1803D8B20")]
|
|
public EffectorLink()
|
|
{
|
|
}
|
|
|
|
// Token: 0x04003221 RID: 12833
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4003221")]
|
|
[Tooltip("Type of the FBBIK effector to use")]
|
|
public FullBodyBipedEffector effector;
|
|
|
|
// Token: 0x04003222 RID: 12834
|
|
[FieldOffset(Offset = "0x14")]
|
|
[Token(Token = "0x4003222")]
|
|
[Tooltip("Weight of using this effector")]
|
|
public float weight;
|
|
}
|
|
}
|
|
}
|
|
}
|