using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using Cpp2IlInjected; using UnityEngine; using UnityEngine.Serialization; namespace RootMotion.FinalIK { // Token: 0x02000457 RID: 1111 [Token(Token = "0x2000457")] [AddComponentMenu("Scripts/RootMotion.FinalIK/Interaction System/Interaction System")] [HelpURL("https://www.youtube.com/watch?v=r5jiZnsDH3M")] public class InteractionSystem : MonoBehaviour { // Token: 0x060027E9 RID: 10217 RVA: 0x00058494 File Offset: 0x00056694 [Token(Token = "0x60027E9")] [Address(RVA = "0x10B5E10", Offset = "0x10B4610", VA = "0x1810B5E10")] [ContextMenu("TUTORIAL VIDEO (PART 1: BASICS)")] private void OpenTutorial1() { Application.OpenURL("https://www.youtube.com/watch?v=r5jiZnsDH3M"); } // Token: 0x060027EA RID: 10218 RVA: 0x000584AC File Offset: 0x000566AC [Token(Token = "0x60027EA")] [Address(RVA = "0x10B5E50", Offset = "0x10B4650", VA = "0x1810B5E50")] [ContextMenu("TUTORIAL VIDEO (PART 2: PICKING UP...)")] private void OpenTutorial2() { Application.OpenURL("https://www.youtube.com/watch?v=eP9-zycoHLk"); } // Token: 0x060027EB RID: 10219 RVA: 0x000584C4 File Offset: 0x000566C4 [Token(Token = "0x60027EB")] [Address(RVA = "0x10B5E90", Offset = "0x10B4690", VA = "0x1810B5E90")] [ContextMenu("TUTORIAL VIDEO (PART 3: ANIMATION)")] private void OpenTutorial3() { Application.OpenURL("https://www.youtube.com/watch?v=sQfB2RcT1T4&index=14&list=PLVxSIA1OaTOu8Nos3CalXbJ2DrKnntMv6"); } // Token: 0x060027EC RID: 10220 RVA: 0x000584DC File Offset: 0x000566DC [Token(Token = "0x60027EC")] [Address(RVA = "0x10B5ED0", Offset = "0x10B46D0", VA = "0x1810B5ED0")] [ContextMenu("TUTORIAL VIDEO (PART 4: TRIGGERS)")] private void OpenTutorial4() { Application.OpenURL("https://www.youtube.com/watch?v=-TDZpNjt2mk&index=15&list=PLVxSIA1OaTOu8Nos3CalXbJ2DrKnntMv6"); } // Token: 0x060027ED RID: 10221 RVA: 0x000584F4 File Offset: 0x000566F4 [Token(Token = "0x60027ED")] [Address(RVA = "0x10B6AE0", Offset = "0x10B52E0", VA = "0x1810B6AE0")] [ContextMenu("Support Group")] private void SupportGroup() { Application.OpenURL("https://groups.google.com/forum/#!forum/final-ik"); } // Token: 0x060027EE RID: 10222 RVA: 0x0005850C File Offset: 0x0005670C [Token(Token = "0x60027EE")] [Address(RVA = "0x10B3BA0", Offset = "0x10B23A0", VA = "0x1810B3BA0")] [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: 0x1700027A RID: 634 // (get) Token: 0x060027EF RID: 10223 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x1700027A")] public bool inInteraction { [Token(Token = "0x60027EF")] [Address(RVA = "0x10B8370", Offset = "0x10B6B70", VA = "0x1810B8370")] get { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } } // Token: 0x060027F0 RID: 10224 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60027F0")] [Address(RVA = "0x10B4AB0", Offset = "0x10B32B0", VA = "0x1810B4AB0")] public bool IsInInteraction(FullBodyBipedEffector effectorType) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060027F1 RID: 10225 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60027F1")] [Address(RVA = "0x10B4CC0", Offset = "0x10B34C0", VA = "0x1810B4CC0")] public bool IsPaused(FullBodyBipedEffector effectorType) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060027F2 RID: 10226 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60027F2")] [Address(RVA = "0x10B4D90", Offset = "0x10B3590", VA = "0x1810B4D90")] public bool IsPaused() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060027F3 RID: 10227 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60027F3")] [Address(RVA = "0x10B4B80", Offset = "0x10B3380", VA = "0x1810B4B80")] public bool IsInSync() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060027F4 RID: 10228 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60027F4")] [Address(RVA = "0x10B62E0", Offset = "0x10B4AE0", VA = "0x1810B62E0")] public bool StartInteraction(FullBodyBipedEffector effectorType, InteractionObject interactionObject, bool interrupt) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060027F5 RID: 10229 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60027F5")] [Address(RVA = "0x10B5FE0", Offset = "0x10B47E0", VA = "0x1810B5FE0")] public bool PauseInteraction(FullBodyBipedEffector effectorType) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060027F6 RID: 10230 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60027F6")] [Address(RVA = "0x10B6250", Offset = "0x10B4A50", VA = "0x1810B6250")] public bool ResumeInteraction(FullBodyBipedEffector effectorType) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060027F7 RID: 10231 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60027F7")] [Address(RVA = "0x10B6A50", Offset = "0x10B5250", VA = "0x1810B6A50")] public bool StopInteraction(FullBodyBipedEffector effectorType) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060027F8 RID: 10232 RVA: 0x00058524 File Offset: 0x00056724 [Token(Token = "0x60027F8")] [Address(RVA = "0x10B5F50", Offset = "0x10B4750", VA = "0x1810B5F50")] public void PauseAll() { if (this.IsValid(true)) { InteractionEffector[] array = this.interactionEffectors; int num = 0; if (num < array.Length) { bool flag = array[num].Pause(); InteractionEffector[] array2 = this.interactionEffectors; num++; } } } // Token: 0x060027F9 RID: 10233 RVA: 0x0005856C File Offset: 0x0005676C [Token(Token = "0x60027F9")] [Address(RVA = "0x10B61C0", Offset = "0x10B49C0", VA = "0x1810B61C0")] public void ResumeAll() { if (this.IsValid(true)) { InteractionEffector[] array = this.interactionEffectors; int num = 0; if (num < array.Length) { bool flag = array[num].Resume(); InteractionEffector[] array2 = this.interactionEffectors; num++; } } } // Token: 0x060027FA RID: 10234 RVA: 0x000585B4 File Offset: 0x000567B4 [Token(Token = "0x60027FA")] [Address(RVA = "0x10B69D0", Offset = "0x10B51D0", VA = "0x1810B69D0")] public void StopAll() { InteractionEffector[] array = this.interactionEffectors; int num = 0; if (num < array.Length) { bool flag = array[num].Stop(); InteractionEffector[] array2 = this.interactionEffectors; num++; } } // Token: 0x060027FB RID: 10235 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60027FB")] [Address(RVA = "0x10B46A0", Offset = "0x10B2EA0", VA = "0x1810B46A0")] public InteractionObject GetInteractionObject(FullBodyBipedEffector effectorType) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060027FC RID: 10236 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60027FC")] [Address(RVA = "0x10B48A0", Offset = "0x10B30A0", VA = "0x1810B48A0")] public float GetProgress(FullBodyBipedEffector effectorType) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060027FD RID: 10237 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60027FD")] [Address(RVA = "0x10B4730", Offset = "0x10B2F30", VA = "0x1810B4730")] public float GetMinActiveProgress() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060027FE RID: 10238 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60027FE")] [Address(RVA = "0x10B7510", Offset = "0x10B5D10", VA = "0x1810B7510")] public bool TriggerInteraction(int index, bool interrupt) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060027FF RID: 10239 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60027FF")] [Address(RVA = "0x10B6F70", Offset = "0x10B5770", VA = "0x1810B6F70")] public bool TriggerInteraction(int index, bool interrupt, out InteractionObject interactionObject) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002800 RID: 10240 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002800")] [Address(RVA = "0x10B71D0", Offset = "0x10B59D0", VA = "0x1810B71D0")] public bool TriggerInteraction(int index, bool interrupt, out InteractionTarget interactionTarget) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002801 RID: 10241 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002801")] [Address(RVA = "0x10B4120", Offset = "0x10B2920", VA = "0x1810B4120")] public InteractionTrigger.Range GetClosestInteractionRange() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002802 RID: 10242 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002802")] [Address(RVA = "0x10B3F80", Offset = "0x10B2780", VA = "0x1810B3F80")] public InteractionObject GetClosestInteractionObjectInRange() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002803 RID: 10243 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002803")] [Address(RVA = "0x10B4220", Offset = "0x10B2A20", VA = "0x1810B4220")] public InteractionTarget GetClosestInteractionTargetInRange() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002804 RID: 10244 RVA: 0x000585F4 File Offset: 0x000567F4 [Token(Token = "0x6002804")] [Address(RVA = "0x10B3FD0", Offset = "0x10B27D0", VA = "0x1810B3FD0")] public InteractionObject[] GetClosestInteractionObjectsInRange() { InteractionObject[] array; int num; InteractionObject interactionObject; for (;;) { InteractionTrigger.Range closestInteractionRange = this.GetClosestInteractionRange(); if (closestInteractionRange != 0) { array = new InteractionObject[closestInteractionRange.interactions.Length]; num = 0; InteractionTrigger.Range.Interaction[] interactions = closestInteractionRange.interactions; int length = interactions.Length; if (num >= length) { return array; } interactionObject = interactions[num].interactionObject; if (interactionObject == 0 || length != 0) { break; } } } array[0] = interactionObject; num++; return array; } // Token: 0x06002805 RID: 10245 RVA: 0x0005865C File Offset: 0x0005685C [Token(Token = "0x6002805")] [Address(RVA = "0x10B42B0", Offset = "0x10B2AB0", VA = "0x1810B42B0")] public InteractionTarget[] GetClosestInteractionTargetsInRange() { InteractionTrigger.Range closestInteractionRange = this.GetClosestInteractionRange(); if (closestInteractionRange != 0) { List list = new List(); InteractionTrigger.Range.Interaction[] interactions = closestInteractionRange.interactions; int num = 0; int num2 = 0; int length = interactions.Length; if (num < length) { InteractionTrigger.Range.Interaction interaction = interactions[num2]; FullBodyBipedEffector[] effectors = interaction.effectors; int num3 = 0; if (num3 < effectors.Length) { InteractionObject interactionObject = interaction.interactionObject; FullBodyBipedEffector fullBodyBipedEffector = effectors[num3]; InteractionTarget target = interactionObject.GetTarget(fullBodyBipedEffector, this); list.Add(target); num3++; } num2++; } return list.ToArray(); } throw new IndexOutOfRangeException(); } // Token: 0x06002806 RID: 10246 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002806")] [Address(RVA = "0x10B6B20", Offset = "0x10B5320", VA = "0x1810B6B20")] public bool TriggerEffectorsReady(int index) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002807 RID: 10247 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002807")] [Address(RVA = "0x10B4930", Offset = "0x10B3130", VA = "0x1810B4930")] public InteractionTrigger.Range GetTriggerRange(int index) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002808 RID: 10248 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002808")] [Address(RVA = "0x10B4460", Offset = "0x10B2C60", VA = "0x1810B4460")] public int GetClosestTriggerIndex() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x1700027B RID: 635 // (get) Token: 0x06002809 RID: 10249 RVA: 0x000586F8 File Offset: 0x000568F8 // (set) Token: 0x0600280A RID: 10250 RVA: 0x0005870C File Offset: 0x0005690C [Token(Token = "0x1700027B")] public FullBodyBipedIK ik { [Token(Token = "0x6002809")] [Address(RVA = "0x704A10", Offset = "0x703210", VA = "0x180704A10")] get { return this.fullBody; } [Token(Token = "0x600280A")] [Address(RVA = "0x704A60", Offset = "0x703260", VA = "0x180704A60")] set { /* An exception occurred when decompiling this method (0600280A) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void RootMotion.FinalIK.InteractionSystem::set_ik(RootMotion.FinalIK.FullBodyBipedIK) ---> System.Exception: Basic block has to end with unconditional control flow. {; Block_0:; stfld:FullBodyBipedIK(InteractionSystem::fullBody, ldloc:InteractionSystem(this), ldloc:FullBodyBipedIK(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: 0x1700027C RID: 636 // (get) Token: 0x0600280B RID: 10251 RVA: 0x00058720 File Offset: 0x00056920 // (set) Token: 0x0600280C RID: 10252 RVA: 0x00058734 File Offset: 0x00056934 [Token(Token = "0x1700027C")] public List triggersInRange { [Token(Token = "0x600280B")] [Address(RVA = "0x34A400", Offset = "0x348C00", VA = "0x18034A400")] [CompilerGenerated] get { return this.k__BackingField; } [Token(Token = "0x600280C")] [Address(RVA = "0x505EE0", Offset = "0x5046E0", VA = "0x180505EE0")] [CompilerGenerated] private set { /* An exception occurred when decompiling this method (0600280C) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void RootMotion.FinalIK.InteractionSystem::set_triggersInRange(System.Collections.Generic.List`1) ---> System.Exception: Basic block has to end with unconditional control flow. {; Block_0:; stfld:class [mscorlib]System.Collections.Generic.List`1(InteractionSystem::k__BackingField, ldloc:InteractionSystem(this), ldloc:class [mscorlib]System.Collections.Generic.List`1(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: 0x0600280D RID: 10253 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x600280D")] [Address(RVA = "0x10B63F0", Offset = "0x10B4BF0", VA = "0x1810B63F0", Slot = "4")] protected virtual void Start() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600280E RID: 10254 RVA: 0x00058748 File Offset: 0x00056948 [Token(Token = "0x600280E")] [Address(RVA = "0x10B4A70", Offset = "0x10B3270", VA = "0x1810B4A70")] private void InteractionPause(FullBodyBipedEffector effector, InteractionObject interactionObject) { this.lookAt.isPaused = true; } // Token: 0x0600280F RID: 10255 RVA: 0x00058768 File Offset: 0x00056968 [Token(Token = "0x600280F")] [Address(RVA = "0x10B4A90", Offset = "0x10B3290", VA = "0x1810B4A90")] private void InteractionResume(FullBodyBipedEffector effector, InteractionObject interactionObject) { this.lookAt.isPaused = false; } // Token: 0x06002810 RID: 10256 RVA: 0x00058788 File Offset: 0x00056988 [Token(Token = "0x6002810")] [Address(RVA = "0x10B4A90", Offset = "0x10B3290", VA = "0x1810B4A90")] private void InteractionStop(FullBodyBipedEffector effector, InteractionObject interactionObject) { this.lookAt.isPaused = false; } // Token: 0x06002811 RID: 10257 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002811")] [Address(RVA = "0x10B5130", Offset = "0x10B3930", VA = "0x1810B5130")] private void LookAtInteraction(FullBodyBipedEffector effector, InteractionObject interactionObject) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002812 RID: 10258 RVA: 0x000587A8 File Offset: 0x000569A8 [Token(Token = "0x6002812")] [Address(RVA = "0x10B5BB0", Offset = "0x10B43B0", VA = "0x1810B5BB0")] public void OnTriggerEnter(Collider c) { FullBodyBipedIK fullBodyBipedIK = this.fullBody; int num = 0; if (!(fullBodyBipedIK == num)) { InteractionTrigger component = c.GetComponent(); int num2 = 0; if (!(component == num2) && !this.inContact.Contains(component)) { this.inContact.Add(component); } } } // Token: 0x06002813 RID: 10259 RVA: 0x000587FC File Offset: 0x000569FC [Token(Token = "0x6002813")] [Address(RVA = "0x10B5CD0", Offset = "0x10B44D0", VA = "0x1810B5CD0")] public void OnTriggerExit(Collider c) { FullBodyBipedIK fullBodyBipedIK = this.fullBody; int num = 0; if (!(fullBodyBipedIK == num)) { InteractionTrigger component = c.GetComponent(); int num2 = 0; if (!(component == num2)) { bool flag = this.inContact.Remove(component); } } } // Token: 0x06002814 RID: 10260 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002814")] [Address(RVA = "0x10B3BE0", Offset = "0x10B23E0", VA = "0x1810B3BE0")] private bool ContactIsInRange(int index, out int bestRangeIndex) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002815 RID: 10261 RVA: 0x00058844 File Offset: 0x00056A44 [Token(Token = "0x6002815")] [Address(RVA = "0x10B5730", Offset = "0x10B3F30", VA = "0x1810B5730")] private void OnDrawGizmosSelected() { if (!Application.isPlaying) { FullBodyBipedIK fullBodyBipedIK = this.fullBody; int num = 0; if (fullBodyBipedIK == num) { FullBodyBipedIK component = base.GetComponent(); this.fullBody = component; } Collider collider = this.characterCollider; int num2 = 0; if (collider == num2) { Collider component2 = base.GetComponent(); this.characterCollider = component2; } } } // Token: 0x06002816 RID: 10262 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002816")] [Address(RVA = "0x10B79F0", Offset = "0x10B61F0", VA = "0x1810B79F0")] private void Update() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002817 RID: 10263 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002817")] [Address(RVA = "0x10B6070", Offset = "0x10B4870", VA = "0x1810B6070")] private void Raycasting() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002818 RID: 10264 RVA: 0x000588A4 File Offset: 0x00056AA4 [Token(Token = "0x6002818")] [Address(RVA = "0x10B76F0", Offset = "0x10B5EF0", VA = "0x1810B76F0")] private void UpdateTriggerEventBroadcasting() { Collider collider = this.characterCollider; int num = 0; if (collider == num) { Collider collider2 = this.c; this.characterCollider = collider2; } Collider collider3 = this.characterCollider; int num2 = 0; if (collider3 != num2) { Collider collider4 = this.characterCollider; Collider collider5 = this.c; if (collider4 != collider5) { TriggerEventBroadcaster component = this.characterCollider.GetComponent(); int num3 = 0; if (component == num3) { TriggerEventBroadcaster triggerEventBroadcaster = this.characterCollider.gameObject.AddComponent(); GameObject gameObject = base.gameObject; triggerEventBroadcaster.target = gameObject; } Collider collider6 = this.lastCollider; int num4 = 0; if (collider6 != num4) { Collider collider7 = this.lastCollider; Collider collider8 = this.c; if (collider7 != collider8) { Collider collider9 = this.lastCollider; Collider collider10 = this.characterCollider; if (collider9 != collider10) { TriggerEventBroadcaster component2 = this.lastCollider.GetComponent(); int num5 = 0; if (component2 != num5) { UnityEngine.Object.Destroy(component2); } } } } } } Collider collider11 = this.characterCollider; this.lastCollider = collider11; throw new NullReferenceException(); } // Token: 0x06002819 RID: 10265 RVA: 0x000589D0 File Offset: 0x00056BD0 [Token(Token = "0x6002819")] [Address(RVA = "0x10B4FC0", Offset = "0x10B37C0", VA = "0x1810B4FC0")] private void LateUpdate() { /* An exception occurred when decompiling this method (06002819) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void RootMotion.FinalIK.InteractionSystem::LateUpdate() ---> 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: 0x0600281A RID: 10266 RVA: 0x00058A7C File Offset: 0x00056C7C [Token(Token = "0x600281A")] [Address(RVA = "0x10B5A10", Offset = "0x10B4210", VA = "0x1810B5A10")] private void OnPreFBBIK() { if (base.enabled) { FullBodyBipedIK fullBodyBipedIK = this.fullBody; int num = 0; if (!(fullBodyBipedIK == num)) { InteractionLookAt interactionLookAt = this.lookAt; LookAtIK ik = interactionLookAt.ik; int num2 = 0; bool flag = ik == num2; if (!flag && interactionLookAt.firstFBBIKSolve != flag) { IKSolverLookAt solver = interactionLookAt.ik.solver; float headWeight = solver.headWeight; int num3 = 0; float eyesWeight = solver.eyesWeight; solver.headWeight = (float)num3; interactionLookAt.ik.solver.eyesWeight = (float)num3; interactionLookAt.ik.solver.Update(); interactionLookAt.ik.solver.headWeight = headWeight; interactionLookAt.ik.solver.eyesWeight = eyesWeight; } } } } // Token: 0x0600281B RID: 10267 RVA: 0x00058B4C File Offset: 0x00056D4C [Token(Token = "0x600281B")] [Address(RVA = "0x10B5850", Offset = "0x10B4050", VA = "0x1810B5850")] private void OnPostFBBIK() { if (base.enabled) { FullBodyBipedIK fullBodyBipedIK = this.fullBody; int num = 0; if (!(fullBodyBipedIK == num)) { InteractionEffector[] array = this.interactionEffectors; int num2 = 0; int num3 = 0; if (num3 < array.Length) { array[num2].OnPostFBBIK(); InteractionEffector[] array2 = this.interactionEffectors; num2++; } InteractionLookAt interactionLookAt = this.lookAt; LookAtIK ik = interactionLookAt.ik; int num4 = 0; bool flag = ik == num4; if (!flag && interactionLookAt.firstFBBIKSolve != flag) { IKSolverLookAt solver = interactionLookAt.ik.solver; float bodyWeight = solver.bodyWeight; solver.bodyWeight = 0f; interactionLookAt.ik.solver.Update(); interactionLookAt.ik.solver.bodyWeight = bodyWeight; interactionLookAt.firstFBBIKSolve = false; } } } } // Token: 0x0600281C RID: 10268 RVA: 0x00058C30 File Offset: 0x00056E30 [Token(Token = "0x600281C")] [Address(RVA = "0x10B5360", Offset = "0x10B3B60", VA = "0x1810B5360")] private void OnDestroy() { IKSolverFullBodyBiped solver; Delegate @delegate; int num2; do { FullBodyBipedIK fullBodyBipedIK = this.fullBody; int num = 0; if (fullBodyBipedIK == num) { return; } solver = this.fullBody.solver; IKSolver.UpdateDelegate onPreUpdate = solver.OnPreUpdate; IKSolver.UpdateDelegate updateDelegate = new IKSolver.UpdateDelegate(this.OnPreFBBIK); @delegate = Delegate.Remove(onPreUpdate, updateDelegate); num2 = 0; } while (@delegate != 0 && @delegate == 0); solver.OnPreUpdate = num2; IKSolverFullBodyBiped solver2 = this.fullBody.solver; IKSolver.UpdateDelegate onPostUpdate = solver2.OnPostUpdate; IKSolver.UpdateDelegate updateDelegate2 = new IKSolver.UpdateDelegate(this.OnPostFBBIK); Delegate delegate2 = Delegate.Remove(onPostUpdate, updateDelegate2); if (delegate2 == 0 || delegate2 != 0) { solver2.OnPostUpdate = delegate2; InteractionSystem.InteractionDelegate onInteractionStart = this.OnInteractionStart; InteractionSystem.InteractionDelegate interactionDelegate = new InteractionSystem.InteractionDelegate(this.LookAtInteraction); Delegate delegate3 = Delegate.Remove(onInteractionStart, interactionDelegate); if (delegate3 == 0 || delegate3 != 0) { this.OnInteractionStart = delegate3; InteractionSystem.InteractionDelegate onInteractionPause = this.OnInteractionPause; InteractionSystem.InteractionDelegate interactionDelegate2 = new InteractionSystem.InteractionDelegate(this.InteractionPause); Delegate delegate4 = Delegate.Remove(onInteractionPause, interactionDelegate2); if (delegate4 == 0 || delegate4 != 0) { this.OnInteractionPause = delegate4; InteractionSystem.InteractionDelegate onInteractionResume = this.OnInteractionResume; InteractionSystem.InteractionDelegate interactionDelegate3 = new InteractionSystem.InteractionDelegate(this.InteractionResume); Delegate delegate5 = Delegate.Remove(onInteractionResume, interactionDelegate3); if (delegate5 == 0 || delegate5 != 0) { this.OnInteractionResume = delegate5; InteractionSystem.InteractionDelegate onInteractionStop = this.OnInteractionStop; InteractionSystem.InteractionDelegate interactionDelegate4 = new InteractionSystem.InteractionDelegate(this.InteractionStop); Delegate delegate6 = Delegate.Remove(onInteractionStop, interactionDelegate4); if (delegate6 == 0 || delegate6 != 0) { this.OnInteractionStop = delegate6; return; } } } } } throw new InvalidCastException(); } // Token: 0x0600281D RID: 10269 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x600281D")] [Address(RVA = "0x10B4ED0", Offset = "0x10B36D0", VA = "0x1810B4ED0")] private bool IsValid(bool log) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600281E RID: 10270 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x600281E")] [Address(RVA = "0x10B6E50", Offset = "0x10B5650", VA = "0x1810B6E50")] private bool TriggerIndexIsValid(int index) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600281F RID: 10271 RVA: 0x00058DB8 File Offset: 0x00056FB8 [Token(Token = "0x600281F")] [Address(RVA = "0x10B5F10", Offset = "0x10B4710", VA = "0x1810B5F10")] [ContextMenu("User Manual")] private void OpenUserManual() { Application.OpenURL("http://www.root-motion.com/finalikdox/html/page10.html"); } // Token: 0x06002820 RID: 10272 RVA: 0x00058DD0 File Offset: 0x00056FD0 [Token(Token = "0x6002820")] [Address(RVA = "0x10B5DD0", Offset = "0x10B45D0", VA = "0x1810B5DD0")] [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_system.html"); } // Token: 0x06002821 RID: 10273 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002821")] [Address(RVA = "0x10B7DC0", Offset = "0x10B65C0", VA = "0x1810B7DC0")] public InteractionSystem() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x04003185 RID: 12677 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4003185")] [Tooltip("If not empty, only the targets with the specified tag will be used by this Interaction System.")] public string targetTag; // Token: 0x04003186 RID: 12678 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4003186")] [Tooltip("The fade in time of the interaction.")] public float fadeInTime; // Token: 0x04003187 RID: 12679 [FieldOffset(Offset = "0x24")] [Token(Token = "0x4003187")] [Tooltip("The master speed for all interactions.")] public float speed; // Token: 0x04003188 RID: 12680 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4003188")] [Tooltip("If > 0, lerps all the FBBIK channels used by the Interaction System back to their default or initial values when not in interaction.")] public float resetToDefaultsSpeed; // Token: 0x04003189 RID: 12681 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4003189")] [Tooltip("The collider that registers OnTriggerEnter and OnTriggerExit events with InteractionTriggers.")] [FormerlySerializedAs("collider")] [Header("Triggering")] public Collider characterCollider; // Token: 0x0400318A RID: 12682 [FieldOffset(Offset = "0x38")] [Token(Token = "0x400318A")] [Tooltip("Will be used by Interaction Triggers that need the camera's position. Assign the first person view character camera.")] [FormerlySerializedAs("camera")] public Transform FPSCamera; // Token: 0x0400318B RID: 12683 [FieldOffset(Offset = "0x40")] [Token(Token = "0x400318B")] [Tooltip("The layers that will be raycasted from the camera (along camera.forward). All InteractionTrigger look at target colliders should be included.")] public LayerMask camRaycastLayers; // Token: 0x0400318C RID: 12684 [FieldOffset(Offset = "0x44")] [Token(Token = "0x400318C")] [Tooltip("Max distance of raycasting from the camera.")] public float camRaycastDistance; // Token: 0x0400318E RID: 12686 [FieldOffset(Offset = "0x50")] [Token(Token = "0x400318E")] private List inContact; // Token: 0x0400318F RID: 12687 [FieldOffset(Offset = "0x58")] [Token(Token = "0x400318F")] private List bestRangeIndexes; // Token: 0x04003190 RID: 12688 [FieldOffset(Offset = "0x60")] [Token(Token = "0x4003190")] public InteractionSystem.InteractionDelegate OnInteractionStart; // Token: 0x04003191 RID: 12689 [FieldOffset(Offset = "0x68")] [Token(Token = "0x4003191")] public InteractionSystem.InteractionDelegate OnInteractionPause; // Token: 0x04003192 RID: 12690 [FieldOffset(Offset = "0x70")] [Token(Token = "0x4003192")] public InteractionSystem.InteractionDelegate OnInteractionPickUp; // Token: 0x04003193 RID: 12691 [FieldOffset(Offset = "0x78")] [Token(Token = "0x4003193")] public InteractionSystem.InteractionDelegate OnInteractionResume; // Token: 0x04003194 RID: 12692 [FieldOffset(Offset = "0x80")] [Token(Token = "0x4003194")] public InteractionSystem.InteractionDelegate OnInteractionStop; // Token: 0x04003195 RID: 12693 [FieldOffset(Offset = "0x88")] [Token(Token = "0x4003195")] public InteractionSystem.InteractionEventDelegate OnInteractionEvent; // Token: 0x04003196 RID: 12694 [FieldOffset(Offset = "0x90")] [Token(Token = "0x4003196")] public RaycastHit raycastHit; // Token: 0x04003197 RID: 12695 [FieldOffset(Offset = "0xC0")] [Token(Token = "0x4003197")] [SerializeField] [Space] [Space(10f)] [Tooltip("Reference to the FBBIK component.")] private FullBodyBipedIK fullBody; // Token: 0x04003198 RID: 12696 [FieldOffset(Offset = "0xC8")] [Token(Token = "0x4003198")] [Tooltip("Handles looking at the interactions.")] public InteractionLookAt lookAt; // Token: 0x04003199 RID: 12697 [FieldOffset(Offset = "0xD0")] [Token(Token = "0x4003199")] private InteractionEffector[] interactionEffectors; // Token: 0x0400319A RID: 12698 [FieldOffset(Offset = "0xD8")] [Token(Token = "0x400319A")] private bool initiated; // Token: 0x0400319B RID: 12699 [FieldOffset(Offset = "0xE0")] [Token(Token = "0x400319B")] private Collider lastCollider; // Token: 0x0400319C RID: 12700 [FieldOffset(Offset = "0xE8")] [Token(Token = "0x400319C")] private Collider c; // Token: 0x02000458 RID: 1112 [Token(Token = "0x2000458")] public sealed class InteractionDelegate : MulticastDelegate { // Token: 0x06002822 RID: 10274 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002822")] [Address(RVA = "0x491ED0", Offset = "0x4906D0", VA = "0x180491ED0")] public InteractionDelegate(object @object, IntPtr method) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002823 RID: 10275 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002823")] [Address(RVA = "0x4BE2E0", Offset = "0x4BCAE0", VA = "0x1804BE2E0", Slot = "13")] public void Invoke(FullBodyBipedEffector effectorType, InteractionObject interactionObject) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002824 RID: 10276 RVA: 0x00058DE8 File Offset: 0x00056FE8 [Token(Token = "0x6002824")] [Address(RVA = "0x1584E70", Offset = "0x1583670", VA = "0x181584E70", Slot = "14")] public IAsyncResult BeginInvoke(FullBodyBipedEffector effectorType, InteractionObject interactionObject, AsyncCallback callback, object @object) { return typeof(FullBodyBipedEffector).TypeHandle; } // Token: 0x06002825 RID: 10277 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002825")] [Address(RVA = "0x491BF0", Offset = "0x4903F0", VA = "0x180491BF0", Slot = "15")] public void EndInvoke(IAsyncResult result) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } } // Token: 0x02000459 RID: 1113 [Token(Token = "0x2000459")] public sealed class InteractionEventDelegate : MulticastDelegate { // Token: 0x06002826 RID: 10278 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002826")] [Address(RVA = "0x491ED0", Offset = "0x4906D0", VA = "0x180491ED0")] public InteractionEventDelegate(object @object, IntPtr method) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002827 RID: 10279 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002827")] [Address(RVA = "0x1584F90", Offset = "0x1583790", VA = "0x181584F90", Slot = "13")] public void Invoke(FullBodyBipedEffector effectorType, InteractionObject interactionObject, InteractionObject.InteractionEvent interactionEvent) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002828 RID: 10280 RVA: 0x00058DFC File Offset: 0x00056FFC [Token(Token = "0x6002828")] [Address(RVA = "0x1584F00", Offset = "0x1583700", VA = "0x181584F00", Slot = "14")] public IAsyncResult BeginInvoke(FullBodyBipedEffector effectorType, InteractionObject interactionObject, InteractionObject.InteractionEvent interactionEvent, AsyncCallback callback, object @object) { return typeof(FullBodyBipedEffector).TypeHandle; } // Token: 0x06002829 RID: 10281 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002829")] [Address(RVA = "0x491BF0", Offset = "0x4903F0", VA = "0x180491BF0", Slot = "15")] public void EndInvoke(IAsyncResult result) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } } } }