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

127 lines
3.5 KiB
C#

using System;
using System.Collections;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x02000488 RID: 1160
[Token(Token = "0x2000488")]
public abstract class OffsetModifierVRIK : MonoBehaviour
{
// Token: 0x17000297 RID: 663
// (get) Token: 0x06002922 RID: 10530 RVA: 0x0005A404 File Offset: 0x00058604
[Token(Token = "0x17000297")]
protected float deltaTime
{
[Token(Token = "0x6002922")]
[Address(RVA = "0xE867C0", Offset = "0xE84FC0", VA = "0x180E867C0")]
get
{
return Time.time;
}
}
// Token: 0x06002923 RID: 10531
[Token(Token = "0x6002923")]
[Address(Slot = "4")]
protected abstract void OnModifyOffset();
// Token: 0x06002924 RID: 10532 RVA: 0x0005A418 File Offset: 0x00058618
[Token(Token = "0x6002924")]
[Address(RVA = "0xE86740", Offset = "0xE84F40", VA = "0x180E86740", Slot = "5")]
protected virtual void Start()
{
int num;
OffsetModifierVRIK.<Initiate>d__7 <Initiate>d__ = new OffsetModifierVRIK.<Initiate>d__7(num);
num = 0;
<Initiate>d__.<>4__this = this;
Coroutine coroutine = base.StartCoroutine(<Initiate>d__);
}
// Token: 0x06002925 RID: 10533 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002925")]
[Address(RVA = "0xE864D0", Offset = "0xE84CD0", VA = "0x180E864D0")]
private IEnumerator Initiate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002926 RID: 10534 RVA: 0x0005A444 File Offset: 0x00058644
[Token(Token = "0x6002926")]
[Address(RVA = "0xE86540", Offset = "0xE84D40", VA = "0x180E86540")]
private void ModifyOffset()
{
if (base.enabled)
{
int num = 0;
if (num < (int)this.weight)
{
float time = Time.time;
if (num < (int)time)
{
VRIK vrik = this.ik;
int num2 = 0;
if (!(vrik == num2))
{
float num3 = this.weight;
int num4 = 0;
float num5 = Mathf.Clamp(num3, (float)num4, 1f);
this.weight = num5;
this.OnModifyOffset();
float time2 = Time.time;
this.lastTime = time2;
}
}
}
}
}
// Token: 0x06002927 RID: 10535 RVA: 0x0005A4C4 File Offset: 0x000586C4
[Token(Token = "0x6002927")]
[Address(RVA = "0xE86620", Offset = "0xE84E20", VA = "0x180E86620", Slot = "6")]
protected virtual void OnDestroy()
{
VRIK vrik = this.ik;
int num = 0;
if (vrik != num)
{
IKSolverVR solver = this.ik.solver;
IKSolver.UpdateDelegate onPreUpdate = solver.OnPreUpdate;
IKSolver.UpdateDelegate updateDelegate = new IKSolver.UpdateDelegate(this.ModifyOffset);
Delegate @delegate = Delegate.Remove(onPreUpdate, updateDelegate);
int num2 = 0;
if (@delegate != 0 && @delegate == 0)
{
throw new InvalidCastException();
}
solver.OnPreUpdate = num2;
}
}
// Token: 0x06002928 RID: 10536 RVA: 0x0005A530 File Offset: 0x00058730
[Token(Token = "0x6002928")]
[Address(RVA = "0xCB58D0", Offset = "0xCB40D0", VA = "0x180CB58D0")]
protected OffsetModifierVRIK()
{
}
// Token: 0x04003276 RID: 12918
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4003276")]
[Tooltip("The master weight")]
public float weight = 1f;
// Token: 0x04003277 RID: 12919
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4003277")]
[Tooltip("Reference to the VRIK component")]
public VRIK ik;
// Token: 0x04003278 RID: 12920
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4003278")]
private float lastTime;
}
}