1083 lines
45 KiB
C#
1083 lines
45 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Runtime.CompilerServices;
|
|
using Cpp2IlInjected;
|
|
using UnityEngine;
|
|
using UnityEngine.Serialization;
|
|
|
|
namespace RootMotion.FinalIK
|
|
{
|
|
// Token: 0x0200044E RID: 1102
|
|
[Token(Token = "0x200044E")]
|
|
[HelpURL("https://www.youtube.com/watch?v=r5jiZnsDH3M")]
|
|
[AddComponentMenu("Scripts/RootMotion.FinalIK/Interaction System/Interaction System")]
|
|
public class InteractionSystem : MonoBehaviour
|
|
{
|
|
// Token: 0x060027B7 RID: 10167 RVA: 0x00057E64 File Offset: 0x00056064
|
|
[Token(Token = "0x60027B7")]
|
|
[Address(RVA = "0x10D9FD0", Offset = "0x10D8DD0", VA = "0x1810D9FD0")]
|
|
[ContextMenu("TUTORIAL VIDEO (PART 1: BASICS)")]
|
|
private void OpenTutorial1()
|
|
{
|
|
Application.OpenURL("https://www.youtube.com/watch?v=r5jiZnsDH3M");
|
|
}
|
|
|
|
// Token: 0x060027B8 RID: 10168 RVA: 0x00057E7C File Offset: 0x0005607C
|
|
[Token(Token = "0x60027B8")]
|
|
[Address(RVA = "0x10DA010", Offset = "0x10D8E10", VA = "0x1810DA010")]
|
|
[ContextMenu("TUTORIAL VIDEO (PART 2: PICKING UP...)")]
|
|
private void OpenTutorial2()
|
|
{
|
|
Application.OpenURL("https://www.youtube.com/watch?v=eP9-zycoHLk");
|
|
}
|
|
|
|
// Token: 0x060027B9 RID: 10169 RVA: 0x00057E94 File Offset: 0x00056094
|
|
[Token(Token = "0x60027B9")]
|
|
[Address(RVA = "0x10DA050", Offset = "0x10D8E50", VA = "0x1810DA050")]
|
|
[ContextMenu("TUTORIAL VIDEO (PART 3: ANIMATION)")]
|
|
private void OpenTutorial3()
|
|
{
|
|
Application.OpenURL("https://www.youtube.com/watch?v=sQfB2RcT1T4&index=14&list=PLVxSIA1OaTOu8Nos3CalXbJ2DrKnntMv6");
|
|
}
|
|
|
|
// Token: 0x060027BA RID: 10170 RVA: 0x00057EAC File Offset: 0x000560AC
|
|
[Token(Token = "0x60027BA")]
|
|
[Address(RVA = "0x10DA090", Offset = "0x10D8E90", VA = "0x1810DA090")]
|
|
[ContextMenu("TUTORIAL VIDEO (PART 4: TRIGGERS)")]
|
|
private void OpenTutorial4()
|
|
{
|
|
Application.OpenURL("https://www.youtube.com/watch?v=-TDZpNjt2mk&index=15&list=PLVxSIA1OaTOu8Nos3CalXbJ2DrKnntMv6");
|
|
}
|
|
|
|
// Token: 0x060027BB RID: 10171 RVA: 0x00057EC4 File Offset: 0x000560C4
|
|
[Token(Token = "0x60027BB")]
|
|
[Address(RVA = "0x10DACA0", Offset = "0x10D9AA0", VA = "0x1810DACA0")]
|
|
[ContextMenu("Support Group")]
|
|
private void SupportGroup()
|
|
{
|
|
Application.OpenURL("https://groups.google.com/forum/#!forum/final-ik");
|
|
}
|
|
|
|
// Token: 0x060027BC RID: 10172 RVA: 0x00057EDC File Offset: 0x000560DC
|
|
[Token(Token = "0x60027BC")]
|
|
[Address(RVA = "0x10D7D60", Offset = "0x10D6B60", VA = "0x1810D7D60")]
|
|
[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: 0x17000280 RID: 640
|
|
// (get) Token: 0x060027BD RID: 10173 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x17000280")]
|
|
public bool inInteraction
|
|
{
|
|
[Token(Token = "0x60027BD")]
|
|
[Address(RVA = "0x10DC530", Offset = "0x10DB330", VA = "0x1810DC530")]
|
|
get
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
}
|
|
|
|
// Token: 0x060027BE RID: 10174 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027BE")]
|
|
[Address(RVA = "0x10D8C70", Offset = "0x10D7A70", VA = "0x1810D8C70")]
|
|
public bool IsInInteraction(FullBodyBipedEffector effectorType)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060027BF RID: 10175 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027BF")]
|
|
[Address(RVA = "0x10D8E80", Offset = "0x10D7C80", VA = "0x1810D8E80")]
|
|
public bool IsPaused(FullBodyBipedEffector effectorType)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060027C0 RID: 10176 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027C0")]
|
|
[Address(RVA = "0x10D8F50", Offset = "0x10D7D50", VA = "0x1810D8F50")]
|
|
public bool IsPaused()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060027C1 RID: 10177 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027C1")]
|
|
[Address(RVA = "0x10D8D40", Offset = "0x10D7B40", VA = "0x1810D8D40")]
|
|
public bool IsInSync()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060027C2 RID: 10178 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027C2")]
|
|
[Address(RVA = "0x10DA4A0", Offset = "0x10D92A0", VA = "0x1810DA4A0")]
|
|
public bool StartInteraction(FullBodyBipedEffector effectorType, InteractionObject interactionObject, bool interrupt)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060027C3 RID: 10179 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027C3")]
|
|
[Address(RVA = "0x10DA1A0", Offset = "0x10D8FA0", VA = "0x1810DA1A0")]
|
|
public bool PauseInteraction(FullBodyBipedEffector effectorType)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060027C4 RID: 10180 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027C4")]
|
|
[Address(RVA = "0x10DA410", Offset = "0x10D9210", VA = "0x1810DA410")]
|
|
public bool ResumeInteraction(FullBodyBipedEffector effectorType)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060027C5 RID: 10181 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027C5")]
|
|
[Address(RVA = "0x10DAC10", Offset = "0x10D9A10", VA = "0x1810DAC10")]
|
|
public bool StopInteraction(FullBodyBipedEffector effectorType)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060027C6 RID: 10182 RVA: 0x00057EF4 File Offset: 0x000560F4
|
|
[Token(Token = "0x60027C6")]
|
|
[Address(RVA = "0x10DA110", Offset = "0x10D8F10", VA = "0x1810DA110")]
|
|
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: 0x060027C7 RID: 10183 RVA: 0x00057F3C File Offset: 0x0005613C
|
|
[Token(Token = "0x60027C7")]
|
|
[Address(RVA = "0x10DA380", Offset = "0x10D9180", VA = "0x1810DA380")]
|
|
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: 0x060027C8 RID: 10184 RVA: 0x00057F84 File Offset: 0x00056184
|
|
[Token(Token = "0x60027C8")]
|
|
[Address(RVA = "0x10DAB90", Offset = "0x10D9990", VA = "0x1810DAB90")]
|
|
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: 0x060027C9 RID: 10185 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027C9")]
|
|
[Address(RVA = "0x10D8860", Offset = "0x10D7660", VA = "0x1810D8860")]
|
|
public InteractionObject GetInteractionObject(FullBodyBipedEffector effectorType)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060027CA RID: 10186 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027CA")]
|
|
[Address(RVA = "0x10D8A60", Offset = "0x10D7860", VA = "0x1810D8A60")]
|
|
public float GetProgress(FullBodyBipedEffector effectorType)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060027CB RID: 10187 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027CB")]
|
|
[Address(RVA = "0x10D88F0", Offset = "0x10D76F0", VA = "0x1810D88F0")]
|
|
public float GetMinActiveProgress()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060027CC RID: 10188 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027CC")]
|
|
[Address(RVA = "0x10DB6D0", Offset = "0x10DA4D0", VA = "0x1810DB6D0")]
|
|
public bool TriggerInteraction(int index, bool interrupt)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060027CD RID: 10189 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027CD")]
|
|
[Address(RVA = "0x10DB130", Offset = "0x10D9F30", VA = "0x1810DB130")]
|
|
public bool TriggerInteraction(int index, bool interrupt, out InteractionObject interactionObject)
|
|
{
|
|
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 = "0x10DB390", Offset = "0x10DA190", VA = "0x1810DB390")]
|
|
public bool TriggerInteraction(int index, bool interrupt, out InteractionTarget interactionTarget)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060027CF RID: 10191 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027CF")]
|
|
[Address(RVA = "0x10D82E0", Offset = "0x10D70E0", VA = "0x1810D82E0")]
|
|
public InteractionTrigger.Range GetClosestInteractionRange()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060027D0 RID: 10192 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027D0")]
|
|
[Address(RVA = "0x10D8140", Offset = "0x10D6F40", VA = "0x1810D8140")]
|
|
public InteractionObject GetClosestInteractionObjectInRange()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060027D1 RID: 10193 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027D1")]
|
|
[Address(RVA = "0x10D83E0", Offset = "0x10D71E0", VA = "0x1810D83E0")]
|
|
public InteractionTarget GetClosestInteractionTargetInRange()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060027D2 RID: 10194 RVA: 0x00057FC4 File Offset: 0x000561C4
|
|
[Token(Token = "0x60027D2")]
|
|
[Address(RVA = "0x10D8190", Offset = "0x10D6F90", VA = "0x1810D8190")]
|
|
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: 0x060027D3 RID: 10195 RVA: 0x0005802C File Offset: 0x0005622C
|
|
[Token(Token = "0x60027D3")]
|
|
[Address(RVA = "0x10D8470", Offset = "0x10D7270", VA = "0x1810D8470")]
|
|
public InteractionTarget[] GetClosestInteractionTargetsInRange()
|
|
{
|
|
InteractionTrigger.Range closestInteractionRange = this.GetClosestInteractionRange();
|
|
if (closestInteractionRange != 0)
|
|
{
|
|
List<InteractionTarget> 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: 0x060027D4 RID: 10196 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027D4")]
|
|
[Address(RVA = "0x10DACE0", Offset = "0x10D9AE0", VA = "0x1810DACE0")]
|
|
public bool TriggerEffectorsReady(int index)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060027D5 RID: 10197 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027D5")]
|
|
[Address(RVA = "0x10D8AF0", Offset = "0x10D78F0", VA = "0x1810D8AF0")]
|
|
public InteractionTrigger.Range GetTriggerRange(int index)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060027D6 RID: 10198 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027D6")]
|
|
[Address(RVA = "0x10D8620", Offset = "0x10D7420", VA = "0x1810D8620")]
|
|
public int GetClosestTriggerIndex()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x17000281 RID: 641
|
|
// (get) Token: 0x060027D7 RID: 10199 RVA: 0x000580C8 File Offset: 0x000562C8
|
|
// (set) Token: 0x060027D8 RID: 10200 RVA: 0x000580DC File Offset: 0x000562DC
|
|
[Token(Token = "0x17000281")]
|
|
public FullBodyBipedIK ik
|
|
{
|
|
[Token(Token = "0x60027D7")]
|
|
[Address(RVA = "0x6D4640", Offset = "0x6D3440", VA = "0x1806D4640")]
|
|
get
|
|
{
|
|
return this.fullBody;
|
|
}
|
|
[Token(Token = "0x60027D8")]
|
|
[Address(RVA = "0x6D4690", Offset = "0x6D3490", VA = "0x1806D4690")]
|
|
set
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060027D8)
|
|
|
|
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: 0x17000282 RID: 642
|
|
// (get) Token: 0x060027D9 RID: 10201 RVA: 0x000580F0 File Offset: 0x000562F0
|
|
// (set) Token: 0x060027DA RID: 10202 RVA: 0x00058104 File Offset: 0x00056304
|
|
[Token(Token = "0x17000282")]
|
|
public List<InteractionTrigger> triggersInRange
|
|
{
|
|
[Token(Token = "0x60027D9")]
|
|
[Address(RVA = "0x3147B0", Offset = "0x3135B0", VA = "0x1803147B0")]
|
|
[CompilerGenerated]
|
|
get
|
|
{
|
|
return this.<triggersInRange>k__BackingField;
|
|
}
|
|
[Token(Token = "0x60027DA")]
|
|
[Address(RVA = "0x5428D0", Offset = "0x5416D0", VA = "0x1805428D0")]
|
|
[CompilerGenerated]
|
|
private set
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060027DA)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void RootMotion.FinalIK.InteractionSystem::set_triggersInRange(System.Collections.Generic.List`1<RootMotion.FinalIK.InteractionTrigger>)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{; Block_0:; stfld:class [mscorlib]System.Collections.Generic.List`1<class RootMotion.FinalIK.InteractionTrigger>(InteractionSystem::<triggersInRange>k__BackingField, ldloc:InteractionSystem(this), ldloc:class [mscorlib]System.Collections.Generic.List`1<class RootMotion.FinalIK.InteractionTrigger>(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: 0x060027DB RID: 10203 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027DB")]
|
|
[Address(RVA = "0x10DA5B0", Offset = "0x10D93B0", VA = "0x1810DA5B0", Slot = "4")]
|
|
protected virtual void Start()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060027DC RID: 10204 RVA: 0x00058118 File Offset: 0x00056318
|
|
[Token(Token = "0x60027DC")]
|
|
[Address(RVA = "0x10D8C30", Offset = "0x10D7A30", VA = "0x1810D8C30")]
|
|
private void InteractionPause(FullBodyBipedEffector effector, InteractionObject interactionObject)
|
|
{
|
|
this.lookAt.isPaused = true;
|
|
}
|
|
|
|
// Token: 0x060027DD RID: 10205 RVA: 0x00058138 File Offset: 0x00056338
|
|
[Token(Token = "0x60027DD")]
|
|
[Address(RVA = "0x10D8C50", Offset = "0x10D7A50", VA = "0x1810D8C50")]
|
|
private void InteractionResume(FullBodyBipedEffector effector, InteractionObject interactionObject)
|
|
{
|
|
this.lookAt.isPaused = false;
|
|
}
|
|
|
|
// Token: 0x060027DE RID: 10206 RVA: 0x00058158 File Offset: 0x00056358
|
|
[Token(Token = "0x60027DE")]
|
|
[Address(RVA = "0x10D8C50", Offset = "0x10D7A50", VA = "0x1810D8C50")]
|
|
private void InteractionStop(FullBodyBipedEffector effector, InteractionObject interactionObject)
|
|
{
|
|
this.lookAt.isPaused = false;
|
|
}
|
|
|
|
// Token: 0x060027DF RID: 10207 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027DF")]
|
|
[Address(RVA = "0x10D92F0", Offset = "0x10D80F0", VA = "0x1810D92F0")]
|
|
private void LookAtInteraction(FullBodyBipedEffector effector, InteractionObject interactionObject)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060027E0 RID: 10208 RVA: 0x00058178 File Offset: 0x00056378
|
|
[Token(Token = "0x60027E0")]
|
|
[Address(RVA = "0x10D9D70", Offset = "0x10D8B70", VA = "0x1810D9D70")]
|
|
public void OnTriggerEnter(Collider c)
|
|
{
|
|
FullBodyBipedIK fullBodyBipedIK = this.fullBody;
|
|
int num = 0;
|
|
if (!(fullBodyBipedIK == num))
|
|
{
|
|
InteractionTrigger component = c.GetComponent<InteractionTrigger>();
|
|
int num2 = 0;
|
|
if (!(component == num2) && !this.inContact.Contains(component))
|
|
{
|
|
this.inContact.Add(component);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x060027E1 RID: 10209 RVA: 0x000581CC File Offset: 0x000563CC
|
|
[Token(Token = "0x60027E1")]
|
|
[Address(RVA = "0x10D9E90", Offset = "0x10D8C90", VA = "0x1810D9E90")]
|
|
public void OnTriggerExit(Collider c)
|
|
{
|
|
FullBodyBipedIK fullBodyBipedIK = this.fullBody;
|
|
int num = 0;
|
|
if (!(fullBodyBipedIK == num))
|
|
{
|
|
InteractionTrigger component = c.GetComponent<InteractionTrigger>();
|
|
int num2 = 0;
|
|
if (!(component == num2))
|
|
{
|
|
bool flag = this.inContact.Remove(component);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x060027E2 RID: 10210 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027E2")]
|
|
[Address(RVA = "0x10D7DA0", Offset = "0x10D6BA0", VA = "0x1810D7DA0")]
|
|
private bool ContactIsInRange(int index, out int bestRangeIndex)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060027E3 RID: 10211 RVA: 0x00058214 File Offset: 0x00056414
|
|
[Token(Token = "0x60027E3")]
|
|
[Address(RVA = "0x10D98F0", Offset = "0x10D86F0", VA = "0x1810D98F0")]
|
|
private void OnDrawGizmosSelected()
|
|
{
|
|
if (!Application.isPlaying)
|
|
{
|
|
FullBodyBipedIK fullBodyBipedIK = this.fullBody;
|
|
int num = 0;
|
|
if (fullBodyBipedIK == num)
|
|
{
|
|
FullBodyBipedIK component = base.GetComponent<FullBodyBipedIK>();
|
|
this.fullBody = component;
|
|
}
|
|
Collider collider = this.characterCollider;
|
|
int num2 = 0;
|
|
if (collider == num2)
|
|
{
|
|
Collider component2 = base.GetComponent<Collider>();
|
|
this.characterCollider = component2;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x060027E4 RID: 10212 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027E4")]
|
|
[Address(RVA = "0x10DBBB0", Offset = "0x10DA9B0", VA = "0x1810DBBB0")]
|
|
private void Update()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060027E5 RID: 10213 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027E5")]
|
|
[Address(RVA = "0x10DA230", Offset = "0x10D9030", VA = "0x1810DA230")]
|
|
private void Raycasting()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060027E6 RID: 10214 RVA: 0x00058274 File Offset: 0x00056474
|
|
[Token(Token = "0x60027E6")]
|
|
[Address(RVA = "0x10DB8B0", Offset = "0x10DA6B0", VA = "0x1810DB8B0")]
|
|
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<TriggerEventBroadcaster>();
|
|
int num3 = 0;
|
|
if (component == num3)
|
|
{
|
|
TriggerEventBroadcaster triggerEventBroadcaster = this.characterCollider.gameObject.AddComponent<TriggerEventBroadcaster>();
|
|
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<TriggerEventBroadcaster>();
|
|
int num5 = 0;
|
|
if (component2 != num5)
|
|
{
|
|
UnityEngine.Object.Destroy(component2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Collider collider11 = this.characterCollider;
|
|
this.lastCollider = collider11;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x060027E7 RID: 10215 RVA: 0x000583A0 File Offset: 0x000565A0
|
|
[Token(Token = "0x60027E7")]
|
|
[Address(RVA = "0x10D9180", Offset = "0x10D7F80", VA = "0x1810D9180")]
|
|
private void LateUpdate()
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060027E7)
|
|
|
|
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: 0x060027E8 RID: 10216 RVA: 0x0005844C File Offset: 0x0005664C
|
|
[Token(Token = "0x60027E8")]
|
|
[Address(RVA = "0x10D9BD0", Offset = "0x10D89D0", VA = "0x1810D9BD0")]
|
|
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: 0x060027E9 RID: 10217 RVA: 0x0005851C File Offset: 0x0005671C
|
|
[Token(Token = "0x60027E9")]
|
|
[Address(RVA = "0x10D9A10", Offset = "0x10D8810", VA = "0x1810D9A10")]
|
|
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: 0x060027EA RID: 10218 RVA: 0x00058600 File Offset: 0x00056800
|
|
[Token(Token = "0x60027EA")]
|
|
[Address(RVA = "0x10D9520", Offset = "0x10D8320", VA = "0x1810D9520")]
|
|
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: 0x060027EB RID: 10219 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027EB")]
|
|
[Address(RVA = "0x10D9090", Offset = "0x10D7E90", VA = "0x1810D9090")]
|
|
private bool IsValid(bool log)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060027EC RID: 10220 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027EC")]
|
|
[Address(RVA = "0x10DB010", Offset = "0x10D9E10", VA = "0x1810DB010")]
|
|
private bool TriggerIndexIsValid(int index)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060027ED RID: 10221 RVA: 0x00058788 File Offset: 0x00056988
|
|
[Token(Token = "0x60027ED")]
|
|
[Address(RVA = "0x10DA0D0", Offset = "0x10D8ED0", VA = "0x1810DA0D0")]
|
|
[ContextMenu("User Manual")]
|
|
private void OpenUserManual()
|
|
{
|
|
Application.OpenURL("http://www.root-motion.com/finalikdox/html/page10.html");
|
|
}
|
|
|
|
// Token: 0x060027EE RID: 10222 RVA: 0x000587A0 File Offset: 0x000569A0
|
|
[Token(Token = "0x60027EE")]
|
|
[Address(RVA = "0x10D9F90", Offset = "0x10D8D90", VA = "0x1810D9F90")]
|
|
[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: 0x060027EF RID: 10223 RVA: 0x000587B8 File Offset: 0x000569B8
|
|
[Token(Token = "0x60027EF")]
|
|
[Address(RVA = "0x10DBF80", Offset = "0x10DAD80", VA = "0x1810DBF80")]
|
|
public InteractionSystem()
|
|
{
|
|
InteractionEffector[] array;
|
|
InteractionEffector interactionEffector9;
|
|
for (;;)
|
|
{
|
|
this.targetTag = "";
|
|
this.fadeInTime = 0.3f;
|
|
this.speed = 1f;
|
|
this.resetToDefaultsSpeed = 1f;
|
|
this.camRaycastDistance = 1f;
|
|
List<InteractionTrigger> list = new List();
|
|
this.inContact = list;
|
|
List<int> list2 = new List();
|
|
this.bestRangeIndexes = list2;
|
|
this.lookAt = new InteractionLookAt
|
|
{
|
|
lerpSpeed = 5f,
|
|
weightSpeed = 1f
|
|
};
|
|
array = new InteractionEffector[9];
|
|
int num;
|
|
InteractionEffector interactionEffector = new InteractionEffector((FullBodyBipedEffector)num);
|
|
num = 0;
|
|
if (interactionEffector == 0 || interactionEffector != 0)
|
|
{
|
|
array[0] = interactionEffector;
|
|
InteractionEffector interactionEffector2 = new InteractionEffector(FullBodyBipedEffector.LeftFoot);
|
|
if (interactionEffector2 == 0 || interactionEffector2 != 0)
|
|
{
|
|
array[1] = interactionEffector2;
|
|
InteractionEffector interactionEffector3 = new InteractionEffector(FullBodyBipedEffector.LeftHand);
|
|
if (interactionEffector3 == 0 || interactionEffector3 != 0)
|
|
{
|
|
array[2] = interactionEffector3;
|
|
InteractionEffector interactionEffector4 = new InteractionEffector(FullBodyBipedEffector.LeftShoulder);
|
|
if (interactionEffector4 == 0 || interactionEffector4 != 0)
|
|
{
|
|
array[3] = interactionEffector4;
|
|
InteractionEffector interactionEffector5 = new InteractionEffector(FullBodyBipedEffector.LeftThigh);
|
|
if (interactionEffector5 == 0 || interactionEffector5 != 0)
|
|
{
|
|
array[4] = interactionEffector5;
|
|
InteractionEffector interactionEffector6 = new InteractionEffector(FullBodyBipedEffector.RightFoot);
|
|
if (interactionEffector6 == 0 || interactionEffector6 != 0)
|
|
{
|
|
array[5] = interactionEffector6;
|
|
InteractionEffector interactionEffector7 = new InteractionEffector(FullBodyBipedEffector.RightHand);
|
|
if (interactionEffector7 == 0 || interactionEffector7 != 0)
|
|
{
|
|
array[6] = interactionEffector7;
|
|
InteractionEffector interactionEffector8 = new InteractionEffector(FullBodyBipedEffector.RightShoulder);
|
|
if (interactionEffector8 == 0 || interactionEffector8 != 0)
|
|
{
|
|
array[7] = interactionEffector8;
|
|
interactionEffector9 = new InteractionEffector(FullBodyBipedEffector.RightThigh);
|
|
if (interactionEffector9 == 0 || interactionEffector9 != 0)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
array[8] = interactionEffector9;
|
|
this.interactionEffectors = array;
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x04003143 RID: 12611
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4003143")]
|
|
[Tooltip("If not empty, only the targets with the specified tag will be used by this Interaction System.")]
|
|
public string targetTag;
|
|
|
|
// Token: 0x04003144 RID: 12612
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4003144")]
|
|
[Tooltip("The fade in time of the interaction.")]
|
|
public float fadeInTime;
|
|
|
|
// Token: 0x04003145 RID: 12613
|
|
[FieldOffset(Offset = "0x24")]
|
|
[Token(Token = "0x4003145")]
|
|
[Tooltip("The master speed for all interactions.")]
|
|
public float speed;
|
|
|
|
// Token: 0x04003146 RID: 12614
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x4003146")]
|
|
[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: 0x04003147 RID: 12615
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4003147")]
|
|
[FormerlySerializedAs("collider")]
|
|
[Tooltip("The collider that registers OnTriggerEnter and OnTriggerExit events with InteractionTriggers.")]
|
|
[Header("Triggering")]
|
|
public Collider characterCollider;
|
|
|
|
// Token: 0x04003148 RID: 12616
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x4003148")]
|
|
[FormerlySerializedAs("camera")]
|
|
[Tooltip("Will be used by Interaction Triggers that need the camera's position. Assign the first person view character camera.")]
|
|
public Transform FPSCamera;
|
|
|
|
// Token: 0x04003149 RID: 12617
|
|
[FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x4003149")]
|
|
[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: 0x0400314A RID: 12618
|
|
[FieldOffset(Offset = "0x44")]
|
|
[Token(Token = "0x400314A")]
|
|
[Tooltip("Max distance of raycasting from the camera.")]
|
|
public float camRaycastDistance;
|
|
|
|
// Token: 0x0400314C RID: 12620
|
|
[FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x400314C")]
|
|
private List<InteractionTrigger> inContact;
|
|
|
|
// Token: 0x0400314D RID: 12621
|
|
[FieldOffset(Offset = "0x58")]
|
|
[Token(Token = "0x400314D")]
|
|
private List<int> bestRangeIndexes;
|
|
|
|
// Token: 0x0400314E RID: 12622
|
|
[FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x400314E")]
|
|
public InteractionSystem.InteractionDelegate OnInteractionStart;
|
|
|
|
// Token: 0x0400314F RID: 12623
|
|
[FieldOffset(Offset = "0x68")]
|
|
[Token(Token = "0x400314F")]
|
|
public InteractionSystem.InteractionDelegate OnInteractionPause;
|
|
|
|
// Token: 0x04003150 RID: 12624
|
|
[FieldOffset(Offset = "0x70")]
|
|
[Token(Token = "0x4003150")]
|
|
public InteractionSystem.InteractionDelegate OnInteractionPickUp;
|
|
|
|
// Token: 0x04003151 RID: 12625
|
|
[FieldOffset(Offset = "0x78")]
|
|
[Token(Token = "0x4003151")]
|
|
public InteractionSystem.InteractionDelegate OnInteractionResume;
|
|
|
|
// Token: 0x04003152 RID: 12626
|
|
[FieldOffset(Offset = "0x80")]
|
|
[Token(Token = "0x4003152")]
|
|
public InteractionSystem.InteractionDelegate OnInteractionStop;
|
|
|
|
// Token: 0x04003153 RID: 12627
|
|
[FieldOffset(Offset = "0x88")]
|
|
[Token(Token = "0x4003153")]
|
|
public InteractionSystem.InteractionEventDelegate OnInteractionEvent;
|
|
|
|
// Token: 0x04003154 RID: 12628
|
|
[FieldOffset(Offset = "0x90")]
|
|
[Token(Token = "0x4003154")]
|
|
public RaycastHit raycastHit;
|
|
|
|
// Token: 0x04003155 RID: 12629
|
|
[FieldOffset(Offset = "0xC0")]
|
|
[Token(Token = "0x4003155")]
|
|
[Space]
|
|
[SerializeField]
|
|
[Space(10f)]
|
|
[Tooltip("Reference to the FBBIK component.")]
|
|
private FullBodyBipedIK fullBody;
|
|
|
|
// Token: 0x04003156 RID: 12630
|
|
[FieldOffset(Offset = "0xC8")]
|
|
[Token(Token = "0x4003156")]
|
|
[Tooltip("Handles looking at the interactions.")]
|
|
public InteractionLookAt lookAt;
|
|
|
|
// Token: 0x04003157 RID: 12631
|
|
[FieldOffset(Offset = "0xD0")]
|
|
[Token(Token = "0x4003157")]
|
|
private InteractionEffector[] interactionEffectors;
|
|
|
|
// Token: 0x04003158 RID: 12632
|
|
[FieldOffset(Offset = "0xD8")]
|
|
[Token(Token = "0x4003158")]
|
|
private bool initiated;
|
|
|
|
// Token: 0x04003159 RID: 12633
|
|
[FieldOffset(Offset = "0xE0")]
|
|
[Token(Token = "0x4003159")]
|
|
private Collider lastCollider;
|
|
|
|
// Token: 0x0400315A RID: 12634
|
|
[FieldOffset(Offset = "0xE8")]
|
|
[Token(Token = "0x400315A")]
|
|
private Collider c;
|
|
|
|
// Token: 0x0200044F RID: 1103
|
|
[Token(Token = "0x200044F")]
|
|
public sealed class InteractionDelegate : MulticastDelegate
|
|
{
|
|
// Token: 0x060027F0 RID: 10224 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027F0")]
|
|
[Address(RVA = "0x44EA10", Offset = "0x44D810", VA = "0x18044EA10")]
|
|
public InteractionDelegate(object @object, IntPtr method)
|
|
{
|
|
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 = "0x47AE20", Offset = "0x479C20", VA = "0x18047AE20", Slot = "12")]
|
|
public void Invoke(FullBodyBipedEffector effectorType, InteractionObject interactionObject)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060027F2 RID: 10226 RVA: 0x00058968 File Offset: 0x00056B68
|
|
[Token(Token = "0x60027F2")]
|
|
[Address(RVA = "0x14EAE90", Offset = "0x14E9C90", VA = "0x1814EAE90", Slot = "13")]
|
|
public IAsyncResult BeginInvoke(FullBodyBipedEffector effectorType, InteractionObject interactionObject, AsyncCallback callback, object @object)
|
|
{
|
|
return typeof(FullBodyBipedEffector).TypeHandle;
|
|
}
|
|
|
|
// Token: 0x060027F3 RID: 10227 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027F3")]
|
|
[Address(RVA = "0x44E730", Offset = "0x44D530", VA = "0x18044E730", Slot = "14")]
|
|
public void EndInvoke(IAsyncResult result)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
}
|
|
|
|
// Token: 0x02000450 RID: 1104
|
|
[Token(Token = "0x2000450")]
|
|
public sealed class InteractionEventDelegate : MulticastDelegate
|
|
{
|
|
// Token: 0x060027F4 RID: 10228 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x60027F4")]
|
|
[Address(RVA = "0x44EA10", Offset = "0x44D810", VA = "0x18044EA10")]
|
|
public InteractionEventDelegate(object @object, IntPtr method)
|
|
{
|
|
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 = "0x14EAFB0", Offset = "0x14E9DB0", VA = "0x1814EAFB0", Slot = "12")]
|
|
public void Invoke(FullBodyBipedEffector effectorType, InteractionObject interactionObject, InteractionObject.InteractionEvent interactionEvent)
|
|
{
|
|
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 = "0x14EAF20", Offset = "0x14E9D20", VA = "0x1814EAF20", Slot = "13")]
|
|
public IAsyncResult BeginInvoke(FullBodyBipedEffector effectorType, InteractionObject interactionObject, InteractionObject.InteractionEvent interactionEvent, AsyncCallback callback, object @object)
|
|
{
|
|
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 = "0x44E730", Offset = "0x44D530", VA = "0x18044E730", Slot = "14")]
|
|
public void EndInvoke(IAsyncResult result)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
}
|
|
}
|
|
}
|