using System; using System.Collections; using Cpp2IlInjected; using UnityEngine; namespace RootMotion.FinalIK { // Token: 0x02000485 RID: 1157 [Token(Token = "0x2000485")] public abstract class OffsetModifier : MonoBehaviour { // Token: 0x17000294 RID: 660 // (get) Token: 0x06002910 RID: 10512 RVA: 0x0005A24C File Offset: 0x0005844C [Token(Token = "0x17000294")] protected float deltaTime { [Token(Token = "0x6002910")] [Address(RVA = "0xE867C0", Offset = "0xE84FC0", VA = "0x180E867C0")] get { return Time.time; } } // Token: 0x06002911 RID: 10513 [Token(Token = "0x6002911")] [Address(Slot = "4")] protected abstract void OnModifyOffset(); // Token: 0x06002912 RID: 10514 RVA: 0x0005A260 File Offset: 0x00058460 [Token(Token = "0x6002912")] [Address(RVA = "0xE86B40", Offset = "0xE85340", VA = "0x180E86B40", Slot = "5")] protected virtual void Start() { int num; OffsetModifier.d__8 d__ = new OffsetModifier.d__8(num); num = 0; d__.<>4__this = this; Coroutine coroutine = base.StartCoroutine(d__); } // Token: 0x06002913 RID: 10515 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002913")] [Address(RVA = "0xE868D0", Offset = "0xE850D0", VA = "0x180E868D0")] private IEnumerator Initiate() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002914 RID: 10516 RVA: 0x0005A28C File Offset: 0x0005848C [Token(Token = "0x6002914")] [Address(RVA = "0xE86940", Offset = "0xE85140", VA = "0x180E86940")] private void ModifyOffset() { if (base.enabled) { int num = 0; if (num < (int)this.weight) { float time = Time.time; if (num < (int)time) { FullBodyBipedIK fullBodyBipedIK = this.ik; int num2 = 0; if (!(fullBodyBipedIK == 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: 0x06002915 RID: 10517 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002915")] [Address(RVA = "0xE867E0", Offset = "0xE84FE0", VA = "0x180E867E0")] protected void ApplyLimits(OffsetModifier.OffsetLimits[] limits) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002916 RID: 10518 RVA: 0x0005A30C File Offset: 0x0005850C [Token(Token = "0x6002916")] [Address(RVA = "0xE86A20", Offset = "0xE85220", VA = "0x180E86A20", Slot = "6")] protected virtual void OnDestroy() { FullBodyBipedIK fullBodyBipedIK = this.ik; int num = 0; if (fullBodyBipedIK != num) { IKSolverFullBodyBiped 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: 0x06002917 RID: 10519 RVA: 0x0005A378 File Offset: 0x00058578 [Token(Token = "0x6002917")] [Address(RVA = "0xCB58D0", Offset = "0xCB40D0", VA = "0x180CB58D0")] protected OffsetModifier() { } // Token: 0x04003265 RID: 12901 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4003265")] [Tooltip("The master weight")] public float weight = 1f; // Token: 0x04003266 RID: 12902 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4003266")] [Tooltip("Reference to the FBBIK component")] public FullBodyBipedIK ik; // Token: 0x04003267 RID: 12903 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4003267")] protected float lastTime; // Token: 0x02000486 RID: 1158 [Token(Token = "0x2000486")] [Serializable] public class OffsetLimits { // Token: 0x06002918 RID: 10520 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002918")] [Address(RVA = "0x697B50", Offset = "0x696350", VA = "0x180697B50")] public void Apply(IKEffector e, Quaternion rootRotation) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002919 RID: 10521 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002919")] [Address(RVA = "0x697D20", Offset = "0x696520", VA = "0x180697D20")] private float SpringAxis(float value, float min, float max) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600291A RID: 10522 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x600291A")] [Address(RVA = "0x697DA0", Offset = "0x6965A0", VA = "0x180697DA0")] private float Spring(float value, float limit, bool negative) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600291B RID: 10523 RVA: 0x0005A398 File Offset: 0x00058598 [Token(Token = "0x600291B")] [Address(RVA = "0x43A830", Offset = "0x439030", VA = "0x18043A830")] public OffsetLimits() { } // Token: 0x04003268 RID: 12904 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4003268")] [Tooltip("The effector type (this is just an enum)")] public FullBodyBipedEffector effector; // Token: 0x04003269 RID: 12905 [FieldOffset(Offset = "0x14")] [Token(Token = "0x4003269")] [Tooltip("Spring force, if zero then this is a hard limit, if not, offset can exceed the limit.")] public float spring; // Token: 0x0400326A RID: 12906 [FieldOffset(Offset = "0x18")] [Token(Token = "0x400326A")] [Tooltip("Which axes to limit the offset on?")] public bool x; // Token: 0x0400326B RID: 12907 [FieldOffset(Offset = "0x19")] [Token(Token = "0x400326B")] [Tooltip("Which axes to limit the offset on?")] public bool y; // Token: 0x0400326C RID: 12908 [FieldOffset(Offset = "0x1A")] [Token(Token = "0x400326C")] [Tooltip("Which axes to limit the offset on?")] public bool z; // Token: 0x0400326D RID: 12909 [FieldOffset(Offset = "0x1C")] [Token(Token = "0x400326D")] [Tooltip("The limits")] public float minX; // Token: 0x0400326E RID: 12910 [FieldOffset(Offset = "0x20")] [Token(Token = "0x400326E")] [Tooltip("The limits")] public float maxX; // Token: 0x0400326F RID: 12911 [FieldOffset(Offset = "0x24")] [Token(Token = "0x400326F")] [Tooltip("The limits")] public float minY; // Token: 0x04003270 RID: 12912 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4003270")] [Tooltip("The limits")] public float maxY; // Token: 0x04003271 RID: 12913 [FieldOffset(Offset = "0x2C")] [Token(Token = "0x4003271")] [Tooltip("The limits")] public float minZ; // Token: 0x04003272 RID: 12914 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4003272")] [Tooltip("The limits")] public float maxZ; } } }