using System; using Cpp2IlInjected; using UnityEngine; namespace RootMotion.FinalIK { // Token: 0x02000400 RID: 1024 [Token(Token = "0x2000400")] [AddComponentMenu("Scripts/RootMotion.FinalIK/Grounder/Grounder Quadruped")] [HelpURL("http://www.root-motion.com/finalikdox/html/page11.html")] public class GrounderQuadruped : Grounder { // Token: 0x0600249C RID: 9372 RVA: 0x000535A8 File Offset: 0x000517A8 [Token(Token = "0x600249C")] [Address(RVA = "0x11793B0", Offset = "0x11781B0", VA = "0x1811793B0", Slot = "5")] [ContextMenu("User Manual")] protected override void OpenUserManual() { Application.OpenURL("http://www.root-motion.com/finalikdox/html/page11.html"); } // Token: 0x0600249D RID: 9373 RVA: 0x000535C0 File Offset: 0x000517C0 [Token(Token = "0x600249D")] [Address(RVA = "0x1179370", Offset = "0x1178170", VA = "0x181179370", Slot = "6")] [ContextMenu("Scrpt Reference")] protected override void OpenScriptReference() { Application.OpenURL("http://www.root-motion.com/finalikdox/html/class_root_motion_1_1_final_i_k_1_1_grounder_quadruped.html"); } // Token: 0x0600249E RID: 9374 RVA: 0x000535D8 File Offset: 0x000517D8 [Token(Token = "0x600249E")] [Address(RVA = "0x11793F0", Offset = "0x11781F0", VA = "0x1811793F0", Slot = "4")] public override void ResetPosition() { this.solver.Reset(); this.forelegSolver.Reset(); } // Token: 0x0600249F RID: 9375 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x600249F")] [Address(RVA = "0x11783D0", Offset = "0x11771D0", VA = "0x1811783D0")] private bool IsReadyToInitiate() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060024A0 RID: 9376 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60024A0")] [Address(RVA = "0x1178200", Offset = "0x1177000", VA = "0x181178200")] private bool IsReadyToInitiateLegs(IK[] ikComponents) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060024A1 RID: 9377 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60024A1")] [Address(RVA = "0x1178650", Offset = "0x1177450", VA = "0x181178650")] private void OnDisable() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060024A2 RID: 9378 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60024A2")] [Address(RVA = "0x1179D30", Offset = "0x1178B30", VA = "0x181179D30")] private void Update() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060024A3 RID: 9379 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60024A3")] [Address(RVA = "0x1177E30", Offset = "0x1176C30", VA = "0x181177E30")] private void Initiate() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060024A4 RID: 9380 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60024A4")] [Address(RVA = "0x11779F0", Offset = "0x11767F0", VA = "0x1811779F0")] private Transform[] InitiateFeet(IK[] ikComponents, ref GrounderQuadruped.Foot[] f, int indexOffset) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060024A5 RID: 9381 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60024A5")] [Address(RVA = "0x1178520", Offset = "0x1177320", VA = "0x181178520")] private void LateUpdate() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060024A6 RID: 9382 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60024A6")] [Address(RVA = "0x1179430", Offset = "0x1178230", VA = "0x181179430")] private void RootRotation() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060024A7 RID: 9383 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60024A7")] [Address(RVA = "0x1178A40", Offset = "0x1177840", VA = "0x181178A40")] private void OnSolverUpdate() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060024A8 RID: 9384 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60024A8")] [Address(RVA = "0x1179A10", Offset = "0x1178810", VA = "0x181179A10")] private void UpdateForefeetRoot() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060024A9 RID: 9385 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60024A9")] [Address(RVA = "0x1179860", Offset = "0x1178660", VA = "0x181179860")] private void SetFootIK(GrounderQuadruped.Foot foot, float maxOffset) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060024AA RID: 9386 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60024AA")] [Address(RVA = "0x11786D0", Offset = "0x11774D0", VA = "0x1811786D0")] private void OnPostSolverUpdate() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060024AB RID: 9387 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60024AB")] [Address(RVA = "0x1178610", Offset = "0x1177410", VA = "0x181178610")] private void OnDestroy() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060024AC RID: 9388 RVA: 0x00053604 File Offset: 0x00051804 [Token(Token = "0x60024AC")] [Address(RVA = "0x11777D0", Offset = "0x11765D0", VA = "0x1811777D0")] private void DestroyLegs(IK[] ikComponents) { int num = 0; int num2 = 0; int length = ikComponents.Length; if (num2 < length) { IK ik = ikComponents[num]; int num3 = 0; if (ik != num3) { IKSolver iksolver = ik.GetIKSolver(); IKSolver.UpdateDelegate updateDelegate = new IKSolver.UpdateDelegate(this.OnSolverUpdate); Delegate @delegate = Delegate.Remove(updateDelegate, updateDelegate); int num4 = 0; if (@delegate != 0 && @delegate == 0) { throw new InvalidCastException(); } iksolver.OnPreUpdate = num4; IKSolver iksolver2 = ik.GetIKSolver(); IKSolver.UpdateDelegate updateDelegate2 = new IKSolver.UpdateDelegate(this.OnPostSolverUpdate); Delegate delegate2 = Delegate.Remove(updateDelegate2, updateDelegate2); if (delegate2 != 0 && delegate2 == 0) { throw new InvalidCastException(); } iksolver2.OnPostUpdate = delegate2; } num++; } } // Token: 0x060024AD RID: 9389 RVA: 0x000536B4 File Offset: 0x000518B4 [Token(Token = "0x60024AD")] [Address(RVA = "0x1179EB0", Offset = "0x1178CB0", VA = "0x181179EB0")] public GrounderQuadruped() { Vector3 down = Vector3.down; int num = 0; float z = down.z; this.gravity.z = z; GrounderQuadruped.Foot[] array = new GrounderQuadruped.Foot[num]; this.feet = array; base..ctor(); } // Token: 0x04002E46 RID: 11846 [FieldOffset(Offset = "0x40")] [Token(Token = "0x4002E46")] [Tooltip("The Grounding solver for the forelegs.")] public Grounding forelegSolver = new Grounding { maxStep = 0.5f, footSpeed = 2.5f, footRadius = 0.15f, prediction = 0.05f, footRotationWeight = 1f, footRotationSpeed = 7f, maxFootRotationAngle = 45f, pelvisSpeed = 5f, lowerPelvisWeight = 1f, rootSphereCastRadius = 0.1f, quality = (Grounding.Quality)((ulong)2L) }; // Token: 0x04002E47 RID: 11847 [FieldOffset(Offset = "0x48")] [Token(Token = "0x4002E47")] [Range(0f, 1f)] [Tooltip("The weight of rotating the character root to the ground angle (range: 0 - 1).")] public float rootRotationWeight = 0.5f; // Token: 0x04002E48 RID: 11848 [FieldOffset(Offset = "0x4C")] [Token(Token = "0x4002E48")] [Tooltip("The maximum angle of rotating the quadruped downwards (going downhill, range: -90 - 0).")] [Range(-90f, 0f)] public float minRootRotation = -25f; // Token: 0x04002E49 RID: 11849 [FieldOffset(Offset = "0x50")] [Token(Token = "0x4002E49")] [Range(0f, 90f)] [Tooltip("The maximum angle of rotating the quadruped upwards (going uphill, range: 0 - 90).")] public float maxRootRotation = 45f; // Token: 0x04002E4A RID: 11850 [FieldOffset(Offset = "0x54")] [Token(Token = "0x4002E4A")] [Tooltip("The speed of interpolating the character root rotation (range: 0 - inf).")] public float rootRotationSpeed = 5f; // Token: 0x04002E4B RID: 11851 [FieldOffset(Offset = "0x58")] [Token(Token = "0x4002E4B")] [Tooltip("The maximum IK offset for the legs (range: 0 - inf).")] public float maxLegOffset = 0.5f; // Token: 0x04002E4C RID: 11852 [FieldOffset(Offset = "0x5C")] [Token(Token = "0x4002E4C")] [Tooltip("The maximum IK offset for the forelegs (range: 0 - inf).")] public float maxForeLegOffset = 0.5f; // Token: 0x04002E4D RID: 11853 [FieldOffset(Offset = "0x60")] [Token(Token = "0x4002E4D")] [Range(0f, 1f)] [Tooltip("The weight of maintaining the head's rotation as it was before solving the Grounding (range: 0 - 1).")] public float maintainHeadRotationWeight = 0.5f; // Token: 0x04002E4E RID: 11854 [FieldOffset(Offset = "0x68")] [Token(Token = "0x4002E4E")] [Tooltip("The root Transform of the character, with the rigidbody and the collider.")] public Transform characterRoot; // Token: 0x04002E4F RID: 11855 [FieldOffset(Offset = "0x70")] [Token(Token = "0x4002E4F")] [Tooltip("The pelvis transform. Common ancestor of both legs and the spine.")] public Transform pelvis; // Token: 0x04002E50 RID: 11856 [FieldOffset(Offset = "0x78")] [Token(Token = "0x4002E50")] [Tooltip("The last bone in the spine that is the common parent for both forelegs.")] public Transform lastSpineBone; // Token: 0x04002E51 RID: 11857 [FieldOffset(Offset = "0x80")] [Token(Token = "0x4002E51")] [Tooltip("The head (optional, if you intend to maintain it's rotation).")] public Transform head; // Token: 0x04002E52 RID: 11858 [FieldOffset(Offset = "0x88")] [Token(Token = "0x4002E52")] public IK[] legs; // Token: 0x04002E53 RID: 11859 [FieldOffset(Offset = "0x90")] [Token(Token = "0x4002E53")] public IK[] forelegs; // Token: 0x04002E54 RID: 11860 [FieldOffset(Offset = "0x98")] [Token(Token = "0x4002E54")] [HideInInspector] public Vector3 gravity; // Token: 0x04002E55 RID: 11861 [FieldOffset(Offset = "0xA8")] [Token(Token = "0x4002E55")] private GrounderQuadruped.Foot[] feet; // Token: 0x04002E56 RID: 11862 [FieldOffset(Offset = "0xB0")] [Token(Token = "0x4002E56")] private Vector3 animatedPelvisLocalPosition; // Token: 0x04002E57 RID: 11863 [FieldOffset(Offset = "0xBC")] [Token(Token = "0x4002E57")] private Quaternion animatedPelvisLocalRotation; // Token: 0x04002E58 RID: 11864 [FieldOffset(Offset = "0xCC")] [Token(Token = "0x4002E58")] private Quaternion animatedHeadLocalRotation; // Token: 0x04002E59 RID: 11865 [FieldOffset(Offset = "0xDC")] [Token(Token = "0x4002E59")] private Vector3 solvedPelvisLocalPosition; // Token: 0x04002E5A RID: 11866 [FieldOffset(Offset = "0xE8")] [Token(Token = "0x4002E5A")] private Quaternion solvedPelvisLocalRotation; // Token: 0x04002E5B RID: 11867 [FieldOffset(Offset = "0xF8")] [Token(Token = "0x4002E5B")] private Quaternion solvedHeadLocalRotation; // Token: 0x04002E5C RID: 11868 [FieldOffset(Offset = "0x108")] [Token(Token = "0x4002E5C")] private int solvedFeet; // Token: 0x04002E5D RID: 11869 [FieldOffset(Offset = "0x10C")] [Token(Token = "0x4002E5D")] private bool solved; // Token: 0x04002E5E RID: 11870 [FieldOffset(Offset = "0x110")] [Token(Token = "0x4002E5E")] private float angle; // Token: 0x04002E5F RID: 11871 [FieldOffset(Offset = "0x118")] [Token(Token = "0x4002E5F")] private Transform forefeetRoot; // Token: 0x04002E60 RID: 11872 [FieldOffset(Offset = "0x120")] [Token(Token = "0x4002E60")] private Quaternion headRotation; // Token: 0x04002E61 RID: 11873 [FieldOffset(Offset = "0x130")] [Token(Token = "0x4002E61")] private float lastWeight; // Token: 0x02000401 RID: 1025 [Token(Token = "0x2000401")] public struct Foot { // Token: 0x060024AE RID: 9390 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60024AE")] [Address(RVA = "0x5FA3B0", Offset = "0x5F91B0", VA = "0x1805FA3B0")] public Foot(IKSolver solver, Transform transform) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x04002E62 RID: 11874 [FieldOffset(Offset = "0x0")] [Token(Token = "0x4002E62")] public IKSolver solver; // Token: 0x04002E63 RID: 11875 [FieldOffset(Offset = "0x8")] [Token(Token = "0x4002E63")] public Transform transform; // Token: 0x04002E64 RID: 11876 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4002E64")] public Quaternion rotation; // Token: 0x04002E65 RID: 11877 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4002E65")] public Grounding.Leg leg; } } }