using System; using System.Xml.Schema; using Cpp2IlInjected; using UnityEngine; namespace RootMotion.FinalIK { // Token: 0x02000448 RID: 1096 [Token(Token = "0x2000448")] [AddComponentMenu("Scripts/RootMotion.FinalIK/IK/Biped IK")] [HelpURL("http://www.root-motion.com/finalikdox/html/page2.html")] public class BipedIK : SolverManager { // Token: 0x060026E8 RID: 9960 RVA: 0x00059648 File Offset: 0x00057848 [Token(Token = "0x60026E8")] [Address(RVA = "0x7A15A0", Offset = "0x7A05A0", VA = "0x1807A15A0")] [ContextMenu("User Manual")] private void OpenUserManual() { Application.OpenURL("http://www.root-motion.com/finalikdox/html/page2.html"); } // Token: 0x060026E9 RID: 9961 RVA: 0x00059660 File Offset: 0x00057860 [Token(Token = "0x60026E9")] [Address(RVA = "0x7A1560", Offset = "0x7A0560", VA = "0x1807A1560")] [ContextMenu("Scrpt Reference")] private void OpenScriptReference() { Application.OpenURL("http://www.root-motion.com/finalikdox/html/class_root_motion_1_1_final_i_k_1_1_biped_i_k.html"); } // Token: 0x060026EA RID: 9962 RVA: 0x00059678 File Offset: 0x00057878 [Token(Token = "0x60026EA")] [Address(RVA = "0x7A1AC0", Offset = "0x7A0AC0", VA = "0x1807A1AC0")] [ContextMenu("Support Group")] private void SupportGroup() { Application.OpenURL("https://groups.google.com/forum/#!forum/final-ik"); } // Token: 0x060026EB RID: 9963 RVA: 0x00059690 File Offset: 0x00057890 [Token(Token = "0x60026EB")] [Address(RVA = "0x7A0E80", Offset = "0x79FE80", VA = "0x1807A0E80")] [ContextMenu("Asset Store Thread")] private void ASThread() { Application.OpenURL("http://forum.unity3d.com/threads/final-ik-full-body-ik-aim-look-at-fabrik-ccd-ik-1-0-released.222685/"); } // Token: 0x060026EC RID: 9964 RVA: 0x000596A8 File Offset: 0x000578A8 [Token(Token = "0x60026EC")] [Address(RVA = "0x7A1000", Offset = "0x7A0000", VA = "0x1807A1000")] public float GetIKPositionWeight(AvatarIKGoal goal) { if (goal != AvatarIKGoal.LeftFoot) { if (goal != AvatarIKGoal.LeftFoot) { if (goal != AvatarIKGoal.LeftFoot) { BipedIKSolvers bipedIKSolvers = this.solvers; } BipedIKSolvers bipedIKSolvers2 = this.solvers; } BipedIKSolvers bipedIKSolvers3 = this.solvers; } return this.solvers.leftFoot.IKPositionWeight; } // Token: 0x060026ED RID: 9965 RVA: 0x000596EC File Offset: 0x000578EC [Token(Token = "0x60026ED")] [Address(RVA = "0x7A1110", Offset = "0x7A0110", VA = "0x1807A1110")] public float GetIKRotationWeight(AvatarIKGoal goal) { if (goal != AvatarIKGoal.LeftFoot) { if (goal != AvatarIKGoal.LeftFoot) { if (goal != AvatarIKGoal.LeftFoot) { BipedIKSolvers bipedIKSolvers = this.solvers; } BipedIKSolvers bipedIKSolvers2 = this.solvers; } BipedIKSolvers bipedIKSolvers3 = this.solvers; } return this.solvers.leftFoot.IKRotationWeight; } // Token: 0x060026EE RID: 9966 RVA: 0x00059730 File Offset: 0x00057930 [Token(Token = "0x60026EE")] [Address(RVA = "0x7A15E0", Offset = "0x7A05E0", VA = "0x1807A15E0")] public void SetIKPositionWeight(AvatarIKGoal goal, float weight) { if (goal != AvatarIKGoal.LeftFoot) { if (goal != AvatarIKGoal.LeftFoot) { if (goal != AvatarIKGoal.LeftFoot) { BipedIKSolvers bipedIKSolvers = this.solvers; } BipedIKSolvers bipedIKSolvers2 = this.solvers; } BipedIKSolvers bipedIKSolvers3 = this.solvers; } this.solvers.leftFoot.SetIKPositionWeight(weight); } // Token: 0x060026EF RID: 9967 RVA: 0x00059778 File Offset: 0x00057978 [Token(Token = "0x60026EF")] [Address(RVA = "0x7A16D0", Offset = "0x7A06D0", VA = "0x1807A16D0")] public void SetIKRotationWeight(AvatarIKGoal goal, float weight) { if (goal != AvatarIKGoal.LeftFoot) { if (goal != AvatarIKGoal.LeftFoot) { if (goal != AvatarIKGoal.LeftFoot) { BipedIKSolvers bipedIKSolvers = this.solvers; } BipedIKSolvers bipedIKSolvers2 = this.solvers; } BipedIKSolvers bipedIKSolvers3 = this.solvers; } this.solvers.leftFoot.SetIKRotationWeight(weight); } // Token: 0x060026F0 RID: 9968 RVA: 0x000597C0 File Offset: 0x000579C0 [Token(Token = "0x60026F0")] [Address(RVA = "0x7A1650", Offset = "0x7A0650", VA = "0x1807A1650")] public void SetIKPosition(AvatarIKGoal goal, Vector3 IKPosition) { if (goal != AvatarIKGoal.LeftFoot) { if (goal != AvatarIKGoal.LeftFoot) { if (goal != AvatarIKGoal.LeftFoot) { BipedIKSolvers bipedIKSolvers = this.solvers; } BipedIKSolvers bipedIKSolvers2 = this.solvers; } BipedIKSolvers bipedIKSolvers3 = this.solvers; } IKSolverLimb leftFoot = this.solvers.leftFoot; float z = IKPosition.z; leftFoot.IKPosition.z = z; } // Token: 0x060026F1 RID: 9969 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60026F1")] [Address(RVA = "0x7A1740", Offset = "0x7A0740", VA = "0x1807A1740")] public void SetIKRotation(AvatarIKGoal goal, Quaternion IKRotation) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060026F2 RID: 9970 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60026F2")] [Address(RVA = "0x7A1070", Offset = "0x7A0070", VA = "0x1807A1070")] public Vector3 GetIKPosition(AvatarIKGoal goal) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060026F3 RID: 9971 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60026F3")] [Address(RVA = "0x7A1180", Offset = "0x7A0180", VA = "0x1807A1180")] public Quaternion GetIKRotation(AvatarIKGoal goal) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060026F4 RID: 9972 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60026F4")] [Address(RVA = "0x7A17E0", Offset = "0x7A07E0", VA = "0x1807A17E0")] public void SetLookAtWeight(float weight, float bodyWeight, float headWeight, float eyesWeight, float clampWeight, float clampWeightHead, float clampWeightEyes) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060026F5 RID: 9973 RVA: 0x00059818 File Offset: 0x00057A18 [Token(Token = "0x60026F5")] [Address(RVA = "0x7A17B0", Offset = "0x7A07B0", VA = "0x1807A17B0")] public void SetLookAtPosition(Vector3 lookAtPosition) { IKSolverLookAt lookAt = this.solvers.lookAt; float z = lookAtPosition.z; lookAt.IKPosition.z = z; } // Token: 0x060026F6 RID: 9974 RVA: 0x0005984C File Offset: 0x00057A4C [Token(Token = "0x60026F6")] [Address(RVA = "0x7A1820", Offset = "0x7A0820", VA = "0x1807A1820")] public void SetSpinePosition(Vector3 spinePosition) { IKSolverFABRIK spine = this.solvers.spine; float z = spinePosition.z; spine.IKPosition.z = z; } // Token: 0x060026F7 RID: 9975 RVA: 0x00059880 File Offset: 0x00057A80 [Token(Token = "0x60026F7")] [Address(RVA = "0x7A1850", Offset = "0x7A0850", VA = "0x1807A1850")] public void SetSpineWeight(float weight) { this.solvers.spine.SetIKPositionWeight(weight); } // Token: 0x060026F8 RID: 9976 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60026F8")] [Address(RVA = "0x7A0F90", Offset = "0x79FF90", VA = "0x1807A0F90")] public IKSolverLimb GetGoalIK(AvatarIKGoal goal) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060026F9 RID: 9977 RVA: 0x000598A4 File Offset: 0x00057AA4 [Token(Token = "0x60026F9")] [Address(RVA = "0x634150", Offset = "0x633150", VA = "0x180634150")] public void InitiateBipedIK() { XmlSchemaType xmlType = base.XmlType; } // Token: 0x060026FA RID: 9978 RVA: 0x000598B8 File Offset: 0x00057AB8 [Token(Token = "0x60026FA")] [Address(RVA = "0x32E680", Offset = "0x32D680", VA = "0x18032E680")] public void UpdateBipedIK() { XmlSchemaType xmlType = base.XmlType; } // Token: 0x060026FB RID: 9979 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60026FB")] [Address(RVA = "0x7A1880", Offset = "0x7A0880", VA = "0x1807A1880")] public void SetToDefaults() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060026FC RID: 9980 RVA: 0x000598CC File Offset: 0x00057ACC [Token(Token = "0x60026FC")] [Address(RVA = "0x7A0EC0", Offset = "0x79FEC0", VA = "0x1807A0EC0", Slot = "6")] protected override void FixTransforms() { this.solvers.lookAt.FixTransforms(); BipedIKSolvers bipedIKSolvers = this.solvers; int num = 0; IKSolverLimb[] limbs = bipedIKSolvers.limbs; if (num < limbs.Length) { this.solvers.limbs[num].FixTransforms(); BipedIKSolvers bipedIKSolvers2 = this.solvers; num++; } } // Token: 0x060026FD RID: 9981 RVA: 0x0005992C File Offset: 0x00057B2C [Token(Token = "0x60026FD")] [Address(RVA = "0x7A11F0", Offset = "0x7A01F0", VA = "0x1807A11F0", Slot = "4")] protected override void InitiateSolver() { string text; if (!BipedReferences.SetupError(this.references, text)) { BipedIKSolvers bipedIKSolvers = this.solvers; BipedReferences bipedReferences = this.references; IKSolverLimb leftHand = bipedIKSolvers.leftHand; Transform root = bipedReferences.root; int num = 0; Transform leftHand2 = bipedReferences.leftHand; Transform leftForearm = bipedReferences.leftForearm; Transform leftUpperArm = bipedReferences.leftUpperArm; bool flag = leftHand.SetChain(leftUpperArm, leftForearm, leftHand2, root); IKSolverLimb rightHand = bipedIKSolvers.rightHand; Transform root2 = bipedReferences.root; Transform rightHand2 = bipedReferences.rightHand; Transform rightForearm = bipedReferences.rightForearm; Transform rightUpperArm = bipedReferences.rightUpperArm; bool flag2 = rightHand.SetChain(rightUpperArm, rightForearm, rightHand2, root2); IKSolverLimb leftFoot = bipedIKSolvers.leftFoot; Transform root3 = bipedReferences.root; Transform leftFoot2 = bipedReferences.leftFoot; Transform leftCalf = bipedReferences.leftCalf; Transform leftThigh = bipedReferences.leftThigh; bool flag3 = leftFoot.SetChain(leftThigh, leftCalf, leftFoot2, root3); IKSolverLimb rightFoot = bipedIKSolvers.rightFoot; Transform root4 = bipedReferences.root; Transform rightFoot2 = bipedReferences.rightFoot; Transform rightCalf = bipedReferences.rightCalf; Transform rightThigh = bipedReferences.rightThigh; bool flag4 = rightFoot.SetChain(rightThigh, rightCalf, rightFoot2, root4); IKSolverFABRIK spine = bipedIKSolvers.spine; Transform root5 = bipedReferences.root; Transform[] spine2 = bipedReferences.spine; bool flag5 = spine.SetChain(spine2, root5); IKSolverLookAt lookAt = bipedIKSolvers.lookAt; Transform root6 = bipedReferences.root; Transform[] eyes = bipedReferences.eyes; Transform head = bipedReferences.head; Transform[] spine3 = bipedReferences.spine; bool flag6 = lookAt.SetChain(spine3, head, eyes, root6); IKSolverAim aim = bipedIKSolvers.aim; Transform root7 = bipedReferences.root; Transform[] spine4 = bipedReferences.spine; bool flag7 = aim.SetChain(spine4, root7); bipedIKSolvers.leftFoot.goal = (AvatarIKGoal)num; bipedIKSolvers.rightFoot.goal = (AvatarIKGoal)((ulong)1L); bipedIKSolvers.leftHand.goal = (AvatarIKGoal)((ulong)2L); bipedIKSolvers.rightHand.goal = (AvatarIKGoal)((ulong)3L); BipedIKSolvers bipedIKSolvers2 = this.solvers; IKSolverFABRIK spine5 = bipedIKSolvers2.spine; if (spine5.bones.Length > 1) { Transform transform = base.transform; spine5.Initiate(transform); BipedIKSolvers bipedIKSolvers3 = this.solvers; } IKSolverLookAt lookAt2 = bipedIKSolvers2.lookAt; Transform transform2 = base.transform; lookAt2.Initiate(transform2); IKSolverAim aim2 = this.solvers.aim; Transform transform3 = base.transform; aim2.Initiate(transform3); IKSolverLimb[] limbs = this.solvers.limbs; int length = limbs.Length; if (num < length) { IKSolverLimb iksolverLimb = limbs[num]; Transform transform4 = base.transform; iksolverLimb.Initiate(transform4); num++; } BipedIKSolvers bipedIKSolvers4 = this.solvers; BipedReferences bipedReferences2 = this.references; Constraints pelvis = bipedIKSolvers4.pelvis; Transform pelvis2 = bipedReferences2.pelvis; pelvis.Initiate(pelvis2); return; } Transform root8 = this.references.root; int num2 = 0; Warning.Log(text, root8, num2 != 0); throw new NullReferenceException(); } // Token: 0x060026FE RID: 9982 RVA: 0x00059BF4 File Offset: 0x00057DF4 [Token(Token = "0x60026FE")] [Address(RVA = "0x7A1B00", Offset = "0x7A0B00", VA = "0x1807A1B00", Slot = "5")] protected override void UpdateSolver() { int num; IKSolverFABRIK spine; do { BipedIKSolvers bipedIKSolvers = this.solvers; num = 0; IKSolverLimb[] limbs = bipedIKSolvers.limbs; BipedIKSolvers bipedIKSolvers2 = this.solvers; if (num < limbs.Length) { bipedIKSolvers2.limbs[num].MaintainBend(); this.solvers.limbs[num].MaintainRotation(); BipedIKSolvers bipedIKSolvers3 = this.solvers; num++; } bipedIKSolvers2.pelvis.Update(); spine = this.solvers.spine; } while (spine.bones.Length <= 1); spine.Update(); this.solvers.aim.Update(); this.solvers.lookAt.Update(); IKSolverLimb[] limbs2 = this.solvers.limbs; if (num < limbs2.Length) { this.solvers.limbs[num].Update(); BipedIKSolvers bipedIKSolvers4 = this.solvers; num++; while (bipedIKSolvers4 != 0) { } } } // Token: 0x060026FF RID: 9983 RVA: 0x00059CE8 File Offset: 0x00057EE8 [Token(Token = "0x60026FF")] [Address(RVA = "0x509620", Offset = "0x508620", VA = "0x180509620")] public void LogWarning(string message) { Transform transform = base.transform; int num = 0; Warning.Log(message, transform, num != 0); } // Token: 0x06002700 RID: 9984 RVA: 0x00059D08 File Offset: 0x00057F08 [Token(Token = "0x6002700")] [Address(RVA = "0x7A1D20", Offset = "0x7A0D20", VA = "0x1807A1D20")] public BipedIK() { BipedReferences bipedReferences = new BipedReferences(); this.references = bipedReferences; BipedIKSolvers bipedIKSolvers = new BipedIKSolvers(); this.solvers = bipedIKSolvers; base..ctor(); } // Token: 0x040030DB RID: 12507 [FieldOffset(Offset = "0x38")] [Token(Token = "0x40030DB")] public BipedReferences references; // Token: 0x040030DC RID: 12508 [FieldOffset(Offset = "0x40")] [Token(Token = "0x40030DC")] public BipedIKSolvers solvers; } }