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.d__7 d__ = new OffsetModifierVRIK.d__7(num); num = 0; d__.<>4__this = this; Coroutine coroutine = base.StartCoroutine(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; } }