using System; using System.Runtime.CompilerServices; using Cpp2IlInjected; using UnityEngine; namespace RootMotion.FinalIK { // Token: 0x02000450 RID: 1104 [Token(Token = "0x2000450")] [AddComponentMenu("Scripts/RootMotion.FinalIK/Interaction System/Interaction Object")] [HelpURL("https://www.youtube.com/watch?v=r5jiZnsDH3M")] public class InteractionObject : MonoBehaviour { // Token: 0x060027C1 RID: 10177 RVA: 0x00057E28 File Offset: 0x00056028 [Token(Token = "0x60027C1")] [Address(RVA = "0x10B3620", Offset = "0x10B1E20", VA = "0x1810B3620")] [ContextMenu("TUTORIAL VIDEO (PART 1: BASICS)")] private void OpenTutorial1() { Application.OpenURL("https://www.youtube.com/watch?v=r5jiZnsDH3M"); } // Token: 0x060027C2 RID: 10178 RVA: 0x00057E40 File Offset: 0x00056040 [Token(Token = "0x60027C2")] [Address(RVA = "0x10B3660", Offset = "0x10B1E60", VA = "0x1810B3660")] [ContextMenu("TUTORIAL VIDEO (PART 2: PICKING UP...)")] private void OpenTutorial2() { Application.OpenURL("https://www.youtube.com/watch?v=eP9-zycoHLk"); } // Token: 0x060027C3 RID: 10179 RVA: 0x00057E58 File Offset: 0x00056058 [Token(Token = "0x60027C3")] [Address(RVA = "0x10B36A0", Offset = "0x10B1EA0", VA = "0x1810B36A0")] [ContextMenu("TUTORIAL VIDEO (PART 3: ANIMATION)")] private void OpenTutorial3() { Application.OpenURL("https://www.youtube.com/watch?v=sQfB2RcT1T4&index=14&list=PLVxSIA1OaTOu8Nos3CalXbJ2DrKnntMv6"); } // Token: 0x060027C4 RID: 10180 RVA: 0x00057E70 File Offset: 0x00056070 [Token(Token = "0x60027C4")] [Address(RVA = "0x10B36E0", Offset = "0x10B1EE0", VA = "0x1810B36E0")] [ContextMenu("TUTORIAL VIDEO (PART 4: TRIGGERS)")] private void OpenTutorial4() { Application.OpenURL("https://www.youtube.com/watch?v=-TDZpNjt2mk&index=15&list=PLVxSIA1OaTOu8Nos3CalXbJ2DrKnntMv6"); } // Token: 0x060027C5 RID: 10181 RVA: 0x00057E88 File Offset: 0x00056088 [Token(Token = "0x60027C5")] [Address(RVA = "0x10B3760", Offset = "0x10B1F60", VA = "0x1810B3760")] [ContextMenu("Support Group")] private void SupportGroup() { Application.OpenURL("https://groups.google.com/forum/#!forum/final-ik"); } // Token: 0x060027C6 RID: 10182 RVA: 0x00057EA0 File Offset: 0x000560A0 [Token(Token = "0x60027C6")] [Address(RVA = "0x10B1F30", Offset = "0x10B0730", VA = "0x1810B1F30")] [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: 0x17000276 RID: 630 // (get) Token: 0x060027C7 RID: 10183 RVA: 0x00057EB8 File Offset: 0x000560B8 // (set) Token: 0x060027C8 RID: 10184 RVA: 0x00057ECC File Offset: 0x000560CC [Token(Token = "0x17000276")] public float length { [Token(Token = "0x60027C7")] [Address(RVA = "0x3D48A0", Offset = "0x3D30A0", VA = "0x1803D48A0")] get; [Token(Token = "0x60027C8")] [Address(RVA = "0x3D4910", Offset = "0x3D3110", VA = "0x1803D4910")] private set; } // Token: 0x17000277 RID: 631 // (get) Token: 0x060027C9 RID: 10185 RVA: 0x00057EE0 File Offset: 0x000560E0 // (set) Token: 0x060027CA RID: 10186 RVA: 0x00057EF4 File Offset: 0x000560F4 [Token(Token = "0x17000277")] public InteractionSystem lastUsedInteractionSystem { [Token(Token = "0x60027C9")] [Address(RVA = "0x546ED0", Offset = "0x5456D0", VA = "0x180546ED0")] [CompilerGenerated] get { return this.k__BackingField; } [Token(Token = "0x60027CA")] [Address(RVA = "0x4CF0D0", Offset = "0x4CD8D0", VA = "0x1804CF0D0")] [CompilerGenerated] private set { /* An exception occurred when decompiling this method (060027CA) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void RootMotion.FinalIK.InteractionObject::set_lastUsedInteractionSystem(RootMotion.FinalIK.InteractionSystem) ---> System.Exception: Basic block has to end with unconditional control flow. {; Block_0:; stfld:InteractionSystem(InteractionObject::k__BackingField, ldloc:InteractionObject(this), ldloc:InteractionSystem(value)); }; at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1810 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 344 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1618 */; } } // Token: 0x060027CB RID: 10187 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60027CB")] [Address(RVA = "0x10B3320", Offset = "0x10B1B20", VA = "0x1810B3320")] public void Initiate() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x17000278 RID: 632 // (get) Token: 0x060027CC RID: 10188 RVA: 0x00057F08 File Offset: 0x00056108 [Token(Token = "0x17000278")] public Transform lookAtTarget { [Token(Token = "0x60027CC")] [Address(RVA = "0x10B3800", Offset = "0x10B2000", VA = "0x1810B3800")] get { Transform transform = this.otherLookAtTarget; int num = 0; if (!(transform != num)) { return base.transform; } return this.otherLookAtTarget; } } // Token: 0x060027CD RID: 10189 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60027CD")] [Address(RVA = "0x10B2CA0", Offset = "0x10B14A0", VA = "0x1810B2CA0")] public InteractionTarget GetTarget(FullBodyBipedEffector effectorType, InteractionSystem interactionSystem) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060027CE RID: 10190 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60027CE")] [Address(RVA = "0x10B2AF0", Offset = "0x10B12F0", VA = "0x1810B2AF0")] public bool CurveUsed(InteractionObject.WeightCurve.Type type) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060027CF RID: 10191 RVA: 0x00057F38 File Offset: 0x00056138 [Token(Token = "0x60027CF")] [Address(RVA = "0x354050", Offset = "0x352850", VA = "0x180354050")] public InteractionTarget[] GetTargets() { return this.targets; } // Token: 0x060027D0 RID: 10192 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60027D0")] [Address(RVA = "0x10B2E30", Offset = "0x10B1630", VA = "0x1810B2E30")] public Transform GetTarget(FullBodyBipedEffector effectorType, string tag) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060027D1 RID: 10193 RVA: 0x00057F4C File Offset: 0x0005614C [Token(Token = "0x60027D1")] [Address(RVA = "0x4CF0D0", Offset = "0x4CD8D0", VA = "0x1804CF0D0")] public void OnStartInteraction(InteractionSystem interactionSystem) { /* An exception occurred when decompiling this method (060027D1) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void RootMotion.FinalIK.InteractionObject::OnStartInteraction(RootMotion.FinalIK.InteractionSystem) ---> System.Exception: Basic block has to end with unconditional control flow. {; Block_0:; stfld:InteractionSystem(InteractionObject::k__BackingField, ldloc:InteractionObject(this), ldloc:InteractionSystem(interactionSystem)); }; at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1810 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 344 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1618 */; } // Token: 0x060027D2 RID: 10194 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60027D2")] [Address(RVA = "0x10B2550", Offset = "0x10B0D50", VA = "0x1810B2550")] public void Apply(IKSolverFullBodyBiped solver, FullBodyBipedEffector effector, InteractionTarget target, float timer, float weight) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060027D3 RID: 10195 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60027D3")] [Address(RVA = "0x10B2FE0", Offset = "0x10B17E0", VA = "0x1810B2FE0")] public float GetValue(InteractionObject.WeightCurve.Type weightCurveType, InteractionTarget target, float timer) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x17000279 RID: 633 // (get) Token: 0x060027D4 RID: 10196 RVA: 0x00057F60 File Offset: 0x00056160 [Token(Token = "0x17000279")] public Transform targetsRoot { [Token(Token = "0x60027D4")] [Address(RVA = "0x10B3880", Offset = "0x10B2080", VA = "0x1810B3880")] get { Transform transform = this.otherTargetsRoot; int num = 0; if (!(transform != num)) { return base.transform; } return this.otherTargetsRoot; } } // Token: 0x060027D5 RID: 10197 RVA: 0x00057F90 File Offset: 0x00056190 [Token(Token = "0x60027D5")] [Address(RVA = "0x10B2AE0", Offset = "0x10B12E0", VA = "0x1810B2AE0")] private void Awake() { this.Initiate(); } // Token: 0x060027D6 RID: 10198 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60027D6")] [Address(RVA = "0x10B1F70", Offset = "0x10B0770", VA = "0x1810B1F70")] private void Apply(IKSolverFullBodyBiped solver, FullBodyBipedEffector effector, InteractionObject.WeightCurve.Type type, float value, float weight) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060027D7 RID: 10199 RVA: 0x00057FA4 File Offset: 0x000561A4 [Token(Token = "0x60027D7")] [Address(RVA = "0x10B2C20", Offset = "0x10B1420", VA = "0x1810B2C20")] private Transform GetTarget(FullBodyBipedEffector effectorType) { InteractionTarget[] array = this.targets; int num = 0; int length = array.Length; if (num < length) { InteractionTarget interactionTarget = array[num]; if (interactionTarget.effectorType != effectorType) { num++; } return interactionTarget.transform; } return base.transform; } // Token: 0x060027D8 RID: 10200 RVA: 0x00057FF0 File Offset: 0x000561F0 [Token(Token = "0x60027D8")] [Address(RVA = "0x10B32B0", Offset = "0x10B1AB0", VA = "0x1810B32B0")] private int GetWeightCurveIndex(InteractionObject.WeightCurve.Type weightCurveType) { InteractionObject.WeightCurve[] array = this.weightCurves; int num = 0; int length = array.Length; if (num < length && array[num].type != weightCurveType) { num++; } return -1; } // Token: 0x060027D9 RID: 10201 RVA: 0x00058030 File Offset: 0x00056230 [Token(Token = "0x60027D9")] [Address(RVA = "0x10B2BB0", Offset = "0x10B13B0", VA = "0x1810B2BB0")] private int GetMultiplierIndex(InteractionObject.WeightCurve.Type weightCurveType) { InteractionObject.Multiplier[] array = this.multipliers; int num = 0; int length = array.Length; if (num < length && array[num].result != weightCurveType) { num++; } return -1; } // Token: 0x060027DA RID: 10202 RVA: 0x00058070 File Offset: 0x00056270 [Token(Token = "0x60027DA")] [Address(RVA = "0x10B3720", Offset = "0x10B1F20", VA = "0x1810B3720")] [ContextMenu("User Manual")] private void OpenUserManual() { Application.OpenURL("http://www.root-motion.com/finalikdox/html/page10.html"); } // Token: 0x060027DB RID: 10203 RVA: 0x00058088 File Offset: 0x00056288 [Token(Token = "0x60027DB")] [Address(RVA = "0x10B35E0", Offset = "0x10B1DE0", VA = "0x1810B35E0")] [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_interaction_object.html"); } // Token: 0x060027DC RID: 10204 RVA: 0x000580A0 File Offset: 0x000562A0 [Token(Token = "0x60027DC")] [Address(RVA = "0x10B37A0", Offset = "0x10B1FA0", VA = "0x1810B37A0")] public InteractionObject() { InteractionTarget[] array = new InteractionTarget[0]; this.targets = array; base..ctor(); } // Token: 0x0400315C RID: 12636 [FieldOffset(Offset = "0x18")] [Token(Token = "0x400315C")] [Tooltip("If the Interaction System has a 'Look At' LookAtIK component assigned, will use it to make the character look at the specified Transform. If unassigned, will look at this GameObject.")] public Transform otherLookAtTarget; // Token: 0x0400315D RID: 12637 [FieldOffset(Offset = "0x20")] [Token(Token = "0x400315D")] [Tooltip("The root Transform of the InteractionTargets. If null, will use this GameObject. GetComponentsInChildren() will be used at initiation to find all InteractionTargets associated with this InteractionObject.")] public Transform otherTargetsRoot; // Token: 0x0400315E RID: 12638 [FieldOffset(Offset = "0x28")] [Token(Token = "0x400315E")] [Tooltip("If assigned, all PositionOffset channels will be applied in the rotation space of this Transform. If not, they will be in the rotation space of the character.")] public Transform positionOffsetSpace; // Token: 0x0400315F RID: 12639 [FieldOffset(Offset = "0x30")] [Token(Token = "0x400315F")] public InteractionObject.WeightCurve[] weightCurves; // Token: 0x04003160 RID: 12640 [FieldOffset(Offset = "0x38")] [Token(Token = "0x4003160")] public InteractionObject.Multiplier[] multipliers; // Token: 0x04003161 RID: 12641 [FieldOffset(Offset = "0x40")] [Token(Token = "0x4003161")] public InteractionObject.InteractionEvent[] events; // Token: 0x04003164 RID: 12644 [FieldOffset(Offset = "0x58")] [Token(Token = "0x4003164")] private InteractionTarget[] targets; // Token: 0x02000451 RID: 1105 [Token(Token = "0x2000451")] [Serializable] public class InteractionEvent { // Token: 0x060027DD RID: 10205 RVA: 0x000580C4 File Offset: 0x000562C4 [Token(Token = "0x60027DD")] [Address(RVA = "0x15852D0", Offset = "0x1583AD0", VA = "0x1815852D0")] public void Activate(Transform t) { InteractionObject.AnimatorEvent[] array = this.animations; int num = 0; int length = array.Length; if (num < length) { InteractionObject.AnimatorEvent animatorEvent = array[num]; bool flag = this.pickUp; animatorEvent.Activate(flag); num++; } InteractionObject.Message[] array2 = this.messages; int length2 = array2.Length; if (num < length2) { InteractionObject.Message message = array2[num]; GameObject recipient = message.recipient; int num2 = 0; if (!(recipient == num2)) { string function = message.function; string empty = string.Empty; if (!string.Equals(function, empty) && !string.Equals(message.function, "")) { GameObject recipient2 = message.recipient; string function2 = message.function; int num3 = 0; recipient2.SendMessage(function2, t, (SendMessageOptions)num3); } } num++; } } // Token: 0x060027DE RID: 10206 RVA: 0x00058198 File Offset: 0x00056398 [Token(Token = "0x60027DE")] [Address(RVA = "0x43A830", Offset = "0x439030", VA = "0x18043A830")] public InteractionEvent() { } // Token: 0x04003165 RID: 12645 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4003165")] [Tooltip("The time of the event since interaction start.")] public float time; // Token: 0x04003166 RID: 12646 [FieldOffset(Offset = "0x14")] [Token(Token = "0x4003166")] [Tooltip("If true, the interaction will be paused on this event. The interaction can be resumed by InteractionSystem.ResumeInteraction() or InteractionSystem.ResumeAll;")] public bool pause; // Token: 0x04003167 RID: 12647 [FieldOffset(Offset = "0x15")] [Token(Token = "0x4003167")] [Tooltip("If true, the object will be parented to the effector bone on this event. Note that picking up like this can be done by only a single effector at a time. If you wish to pick up an object with both hands, see the Interaction PickUp2Handed demo scene.")] public bool pickUp; // Token: 0x04003168 RID: 12648 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4003168")] [Tooltip("The animations called on this event.")] public InteractionObject.AnimatorEvent[] animations; // Token: 0x04003169 RID: 12649 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4003169")] [Tooltip("The messages sent on this event using GameObject.SendMessage().")] public InteractionObject.Message[] messages; } // Token: 0x02000452 RID: 1106 [Token(Token = "0x2000452")] [Serializable] public class Message { // Token: 0x060027DF RID: 10207 RVA: 0x000581AC File Offset: 0x000563AC [Token(Token = "0x60027DF")] [Address(RVA = "0x158B580", Offset = "0x1589D80", VA = "0x18158B580")] public void Send(Transform t) { GameObject gameObject = this.recipient; int num = 0; if (!(gameObject == num)) { string text = this.function; string text2 = string.Empty; if (!string.Equals(text, text2) && !string.Equals(this.function, "")) { GameObject gameObject2 = this.recipient; string text3 = this.function; int num2 = 0; gameObject2.SendMessage(text3, t, (SendMessageOptions)num2); } } } // Token: 0x060027E0 RID: 10208 RVA: 0x0005821C File Offset: 0x0005641C [Token(Token = "0x60027E0")] [Address(RVA = "0x43A830", Offset = "0x439030", VA = "0x18043A830")] public Message() { } // Token: 0x0400316A RID: 12650 [FieldOffset(Offset = "0x10")] [Token(Token = "0x400316A")] [Tooltip("The name of the function called.")] public string function; // Token: 0x0400316B RID: 12651 [FieldOffset(Offset = "0x18")] [Token(Token = "0x400316B")] [Tooltip("The recipient game object.")] public GameObject recipient; // Token: 0x0400316C RID: 12652 [Token(Token = "0x400316C")] private const string empty = ""; } // Token: 0x02000453 RID: 1107 [Token(Token = "0x2000453")] [Serializable] public class AnimatorEvent { // Token: 0x060027E1 RID: 10209 RVA: 0x00058230 File Offset: 0x00056430 [Token(Token = "0x60027E1")] [Address(RVA = "0x157BFE0", Offset = "0x157A7E0", VA = "0x18157BFE0")] public void Activate(bool pickUp) { Animator animator = this.animator; int num = 0; bool flag = animator != num; int num2 = 0; if (flag) { if (pickUp) { Animator animator2 = this.animator; int num3 = 0; animator2.applyRootMotion = num3 != 0; } Animator animator3 = this.animator; bool flag2 = string.Equals(this.animationState, ""); if (!flag2) { int num4 = this.layer; float num5 = this.crossfadeTime; string text = this.animationState; if (this.resetNormalizedTime == flag2) { animator3.CrossFade(text, num5, num4); } animator3.CrossFade(text, num5, num4, (float)num2); } } Animation animation = this.animation; int num6 = 0; if (animation != num6) { Animation animation2 = this.animation; bool flag3 = string.Equals(this.animationState, ""); if (!flag3) { if (this.resetNormalizedTime != flag3) { string text2 = this.animationState; AnimationState animationState = animation2[text2]; int num7 = 0; animationState.normalizedTime = (float)num7; } string text3 = this.animationState; AnimationState animationState2 = animation2[text3]; int num8 = this.layer; animationState2.layer = num8; float num9 = this.crossfadeTime; string text4 = this.animationState; animation2.CrossFade(text4, num9); } } } // Token: 0x060027E2 RID: 10210 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60027E2")] [Address(RVA = "0x157C1D0", Offset = "0x157A9D0", VA = "0x18157C1D0")] private void Activate(Animator animator) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060027E3 RID: 10211 RVA: 0x00058370 File Offset: 0x00056570 [Token(Token = "0x60027E3")] [Address(RVA = "0x157BF20", Offset = "0x157A720", VA = "0x18157BF20")] private void Activate(Animation animation) { bool flag = string.Equals(this.animationState, ""); if (!flag) { if (this.resetNormalizedTime != flag) { string text = this.animationState; AnimationState animationState = animation[text]; int num = 0; animationState.normalizedTime = (float)num; } string text2 = this.animationState; AnimationState animationState2 = animation[text2]; int num2 = this.layer; animationState2.layer = num2; float num3 = this.crossfadeTime; string text3 = this.animationState; animation.CrossFade(text3, num3); } } // Token: 0x060027E4 RID: 10212 RVA: 0x000583F8 File Offset: 0x000565F8 [Token(Token = "0x60027E4")] [Address(RVA = "0x157C270", Offset = "0x157AA70", VA = "0x18157C270")] public AnimatorEvent() { } // Token: 0x0400316D RID: 12653 [FieldOffset(Offset = "0x10")] [Token(Token = "0x400316D")] [Tooltip("The Animator component that will receive the AnimatorEvents.")] public Animator animator; // Token: 0x0400316E RID: 12654 [FieldOffset(Offset = "0x18")] [Token(Token = "0x400316E")] [Tooltip("The Animation component that will receive the AnimatorEvents (Legacy).")] public Animation animation; // Token: 0x0400316F RID: 12655 [FieldOffset(Offset = "0x20")] [Token(Token = "0x400316F")] [Tooltip("The name of the animation state.")] public string animationState; // Token: 0x04003170 RID: 12656 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4003170")] [Tooltip("The crossfading time.")] public float crossfadeTime = 0.3f; // Token: 0x04003171 RID: 12657 [FieldOffset(Offset = "0x2C")] [Token(Token = "0x4003171")] [Tooltip("The layer of the animation state (if using Legacy, the animation state will be forced to this layer).")] public int layer; // Token: 0x04003172 RID: 12658 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4003172")] [Tooltip("Should the animation always start from 0 normalized time?")] public bool resetNormalizedTime; // Token: 0x04003173 RID: 12659 [Token(Token = "0x4003173")] private const string empty = ""; } // Token: 0x02000454 RID: 1108 [Token(Token = "0x2000454")] [Serializable] public class WeightCurve { // Token: 0x060027E5 RID: 10213 RVA: 0x00058418 File Offset: 0x00056618 [Token(Token = "0x60027E5")] [Address(RVA = "0x1595810", Offset = "0x1594010", VA = "0x181595810")] public float GetValue(float timer) { return this.curve.Evaluate(timer); } // Token: 0x060027E6 RID: 10214 RVA: 0x00058438 File Offset: 0x00056638 [Token(Token = "0x60027E6")] [Address(RVA = "0x43A830", Offset = "0x439030", VA = "0x18043A830")] public WeightCurve() { } // Token: 0x04003174 RID: 12660 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4003174")] [Tooltip("The type of the curve (InteractionObject.WeightCurve.Type).")] public InteractionObject.WeightCurve.Type type; // Token: 0x04003175 RID: 12661 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4003175")] [Tooltip("The weight curve.")] public AnimationCurve curve; // Token: 0x02000455 RID: 1109 [Token(Token = "0x2000455")] [Serializable] public enum Type { // Token: 0x04003177 RID: 12663 [Token(Token = "0x4003177")] PositionWeight, // Token: 0x04003178 RID: 12664 [Token(Token = "0x4003178")] RotationWeight, // Token: 0x04003179 RID: 12665 [Token(Token = "0x4003179")] PositionOffsetX, // Token: 0x0400317A RID: 12666 [Token(Token = "0x400317A")] PositionOffsetY, // Token: 0x0400317B RID: 12667 [Token(Token = "0x400317B")] PositionOffsetZ, // Token: 0x0400317C RID: 12668 [Token(Token = "0x400317C")] Pull, // Token: 0x0400317D RID: 12669 [Token(Token = "0x400317D")] Reach, // Token: 0x0400317E RID: 12670 [Token(Token = "0x400317E")] RotateBoneWeight, // Token: 0x0400317F RID: 12671 [Token(Token = "0x400317F")] Push, // Token: 0x04003180 RID: 12672 [Token(Token = "0x4003180")] PushParent, // Token: 0x04003181 RID: 12673 [Token(Token = "0x4003181")] PoserWeight } } // Token: 0x02000456 RID: 1110 [Token(Token = "0x2000456")] [Serializable] public class Multiplier { // Token: 0x060027E7 RID: 10215 RVA: 0x0005844C File Offset: 0x0005664C [Token(Token = "0x60027E7")] [Address(RVA = "0x158B670", Offset = "0x1589E70", VA = "0x18158B670")] public float GetValue(InteractionObject.WeightCurve weightCurve, float timer) { /* An exception occurred when decompiling this method (060027E7) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Single RootMotion.FinalIK.InteractionObject/Multiplier::GetValue(RootMotion.FinalIK.InteractionObject/WeightCurve,System.Single) ---> System.ArgumentOutOfRangeException: Non-negative number required. (Parameter 'length') at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable) at System.Array.Copy(Array sourceArray, Array destinationArray, Int32 length) at ICSharpCode.Decompiler.ILAst.ILAstBuilder.StackSlot.ModifyStack(StackSlot[] stack, Int32 popCount, Int32 pushCount, ByteCode pushDefinition) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 51 at ICSharpCode.Decompiler.ILAst.ILAstBuilder.StackAnalysis(MethodDef methodDef) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 401 at ICSharpCode.Decompiler.ILAst.ILAstBuilder.Build(MethodDef methodDef, Boolean optimize, DecompilerContext context) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 276 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 112 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1618 */; } // Token: 0x060027E8 RID: 10216 RVA: 0x00058474 File Offset: 0x00056674 [Token(Token = "0x60027E8")] [Address(RVA = "0x670620", Offset = "0x66EE20", VA = "0x180670620")] public Multiplier() { } // Token: 0x04003182 RID: 12674 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4003182")] [Tooltip("The curve type to multiply.")] public InteractionObject.WeightCurve.Type curve; // Token: 0x04003183 RID: 12675 [FieldOffset(Offset = "0x14")] [Token(Token = "0x4003183")] [Tooltip("The multiplier of the curve's value.")] public float multiplier = 1f; // Token: 0x04003184 RID: 12676 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4003184")] [Tooltip("The resulting value will be applied to this channel.")] public InteractionObject.WeightCurve.Type result; } } }