307 lines
11 KiB
C#
307 lines
11 KiB
C#
using System;
|
|
using Cpp2IlInjected;
|
|
using UnityEngine;
|
|
|
|
namespace RootMotion.FinalIK
|
|
{
|
|
// Token: 0x0200045C RID: 1116
|
|
[Token(Token = "0x200045C")]
|
|
[AddComponentMenu("Scripts/RootMotion.FinalIK/Interaction System/Interaction Trigger")]
|
|
[HelpURL("https://www.youtube.com/watch?v=-TDZpNjt2mk&index=15&list=PLVxSIA1OaTOu8Nos3CalXbJ2DrKnntMv6")]
|
|
public class InteractionTrigger : MonoBehaviour
|
|
{
|
|
// Token: 0x06002837 RID: 10295 RVA: 0x00058F50 File Offset: 0x00057150
|
|
[Token(Token = "0x6002837")]
|
|
[Address(RVA = "0x10B9040", Offset = "0x10B7840", VA = "0x1810B9040")]
|
|
[ContextMenu("TUTORIAL VIDEO")]
|
|
private void OpenTutorial4()
|
|
{
|
|
Application.OpenURL("https://www.youtube.com/watch?v=-TDZpNjt2mk&index=15&list=PLVxSIA1OaTOu8Nos3CalXbJ2DrKnntMv6");
|
|
}
|
|
|
|
// Token: 0x06002838 RID: 10296 RVA: 0x00058F68 File Offset: 0x00057168
|
|
[Token(Token = "0x6002838")]
|
|
[Address(RVA = "0x10B9080", Offset = "0x10B7880", VA = "0x1810B9080")]
|
|
[ContextMenu("Support Group")]
|
|
private void SupportGroup()
|
|
{
|
|
Application.OpenURL("https://groups.google.com/forum/#!forum/final-ik");
|
|
}
|
|
|
|
// Token: 0x06002839 RID: 10297 RVA: 0x00058F80 File Offset: 0x00057180
|
|
[Token(Token = "0x6002839")]
|
|
[Address(RVA = "0x10B8E00", Offset = "0x10B7600", VA = "0x1810B8E00")]
|
|
[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: 0x0600283A RID: 10298 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x600283A")]
|
|
[Address(RVA = "0x29E8B0", Offset = "0x29D0B0", VA = "0x18029E8B0")]
|
|
private void Start()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x0600283B RID: 10299 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x600283B")]
|
|
[Address(RVA = "0x10B8E40", Offset = "0x10B7640", VA = "0x1810B8E40")]
|
|
public int GetBestRangeIndex(Transform character, Transform raycastFrom, RaycastHit raycastHit)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x0600283C RID: 10300 RVA: 0x00058F98 File Offset: 0x00057198
|
|
[Token(Token = "0x600283C")]
|
|
[Address(RVA = "0x10B90C0", Offset = "0x10B78C0", VA = "0x1810B90C0")]
|
|
public InteractionTrigger()
|
|
{
|
|
InteractionTrigger.Range[] array = new InteractionTrigger.Range[0];
|
|
this.ranges = array;
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x040031A9 RID: 12713
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x40031A9")]
|
|
[Tooltip("The valid ranges of the character's and/or it's camera's position for triggering interaction when the character is in contact with the collider of this trigger.")]
|
|
public InteractionTrigger.Range[] ranges;
|
|
|
|
// Token: 0x0200045D RID: 1117
|
|
[Token(Token = "0x200045D")]
|
|
[Serializable]
|
|
public class CharacterPosition
|
|
{
|
|
// Token: 0x1700027D RID: 637
|
|
// (get) Token: 0x0600283D RID: 10301 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x1700027D")]
|
|
public Vector3 offset3D
|
|
{
|
|
[Token(Token = "0x600283D")]
|
|
[Address(RVA = "0x1583DD0", Offset = "0x15825D0", VA = "0x181583DD0")]
|
|
get
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
}
|
|
|
|
// Token: 0x1700027E RID: 638
|
|
// (get) Token: 0x0600283E RID: 10302 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x1700027E")]
|
|
public Vector3 direction3D
|
|
{
|
|
[Token(Token = "0x600283E")]
|
|
[Address(RVA = "0x1583D30", Offset = "0x1582530", VA = "0x181583D30")]
|
|
get
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600283F RID: 10303 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x600283F")]
|
|
[Address(RVA = "0x1583570", Offset = "0x1581D70", VA = "0x181583570")]
|
|
public bool IsInRange(Transform character, Transform trigger, out float error)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002840 RID: 10304 RVA: 0x00058FBC File Offset: 0x000571BC
|
|
[Token(Token = "0x6002840")]
|
|
[Address(RVA = "0x1583D10", Offset = "0x1582510", VA = "0x181583D10")]
|
|
public CharacterPosition()
|
|
{
|
|
}
|
|
|
|
// Token: 0x040031AA RID: 12714
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x40031AA")]
|
|
[Tooltip("If false, will not care where the character stands, as long as it is in contact with the trigger collider.")]
|
|
public bool use;
|
|
|
|
// Token: 0x040031AB RID: 12715
|
|
[FieldOffset(Offset = "0x14")]
|
|
[Token(Token = "0x40031AB")]
|
|
[Tooltip("The offset of the character's position relative to the trigger in XZ plane. Y position of the character is unlimited as long as it is contact with the collider.")]
|
|
public Vector2 offset;
|
|
|
|
// Token: 0x040031AC RID: 12716
|
|
[FieldOffset(Offset = "0x1C")]
|
|
[Token(Token = "0x40031AC")]
|
|
[Tooltip("Angle offset from the default forward direction.")]
|
|
[Range(-180f, 180f)]
|
|
public float angleOffset;
|
|
|
|
// Token: 0x040031AD RID: 12717
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x40031AD")]
|
|
[Range(0f, 180f)]
|
|
[Tooltip("Max angular offset of the character's forward from the direction of this trigger.")]
|
|
public float maxAngle = 45f;
|
|
|
|
// Token: 0x040031AE RID: 12718
|
|
[FieldOffset(Offset = "0x24")]
|
|
[Token(Token = "0x40031AE")]
|
|
[Tooltip("Max offset of the character's position from this range's center.")]
|
|
public float radius = 0.5f;
|
|
|
|
// Token: 0x040031AF RID: 12719
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x40031AF")]
|
|
[Tooltip("If true, will rotate the trigger around it's Y axis relative to the position of the character, so the object can be interacted with from all sides.")]
|
|
public bool orbit;
|
|
|
|
// Token: 0x040031B0 RID: 12720
|
|
[FieldOffset(Offset = "0x29")]
|
|
[Token(Token = "0x40031B0")]
|
|
[Tooltip("Fixes the Y axis of the trigger to Vector3.up. This makes the trigger symmetrical relative to the object. For example a gun will be able to be picked up from the same direction relative to the barrel no matter which side the gun is resting on.")]
|
|
public bool fixYAxis;
|
|
}
|
|
|
|
// Token: 0x0200045E RID: 1118
|
|
[Token(Token = "0x200045E")]
|
|
[Serializable]
|
|
public class CameraPosition
|
|
{
|
|
// Token: 0x06002841 RID: 10305 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002841")]
|
|
[Address(RVA = "0x1582FD0", Offset = "0x15817D0", VA = "0x181582FD0")]
|
|
public Quaternion GetRotation()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002842 RID: 10306 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002842")]
|
|
[Address(RVA = "0x1583130", Offset = "0x1581930", VA = "0x181583130")]
|
|
public bool IsInRange(Transform raycastFrom, RaycastHit hit, Transform trigger, out float error)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002843 RID: 10307 RVA: 0x00058FE8 File Offset: 0x000571E8
|
|
[Token(Token = "0x6002843")]
|
|
[Address(RVA = "0x15834F0", Offset = "0x1581CF0", VA = "0x1815834F0")]
|
|
public CameraPosition()
|
|
{
|
|
float z = Vector3.forward.z;
|
|
this.direction.z = z;
|
|
this.maxDistance = 0.5f;
|
|
this.maxAngle = 45f;
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x040031B1 RID: 12721
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x40031B1")]
|
|
[Tooltip("What the camera should be looking at to trigger the interaction?")]
|
|
public Collider lookAtTarget;
|
|
|
|
// Token: 0x040031B2 RID: 12722
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x40031B2")]
|
|
[Tooltip("The direction from the lookAtTarget towards the camera (in lookAtTarget's space).")]
|
|
public Vector3 direction;
|
|
|
|
// Token: 0x040031B3 RID: 12723
|
|
[FieldOffset(Offset = "0x24")]
|
|
[Token(Token = "0x40031B3")]
|
|
[Tooltip("Max distance from the lookAtTarget to the camera.")]
|
|
public float maxDistance;
|
|
|
|
// Token: 0x040031B4 RID: 12724
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x40031B4")]
|
|
[Tooltip("Max angle between the direction and the direction towards the camera.")]
|
|
[Range(0f, 180f)]
|
|
public float maxAngle;
|
|
|
|
// Token: 0x040031B5 RID: 12725
|
|
[FieldOffset(Offset = "0x2C")]
|
|
[Token(Token = "0x40031B5")]
|
|
[Tooltip("Fixes the Y axis of the trigger to Vector3.up. This makes the trigger symmetrical relative to the object.")]
|
|
public bool fixYAxis;
|
|
}
|
|
|
|
// Token: 0x0200045F RID: 1119
|
|
[Token(Token = "0x200045F")]
|
|
[Serializable]
|
|
public class Range
|
|
{
|
|
// Token: 0x06002844 RID: 10308 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002844")]
|
|
[Address(RVA = "0x158D170", Offset = "0x158B970", VA = "0x18158D170")]
|
|
public bool IsInRange(Transform character, Transform raycastFrom, RaycastHit raycastHit, Transform trigger, out float maxError)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002845 RID: 10309 RVA: 0x00059028 File Offset: 0x00057228
|
|
[Token(Token = "0x6002845")]
|
|
[Address(RVA = "0x158D280", Offset = "0x158BA80", VA = "0x18158D280")]
|
|
public Range()
|
|
{
|
|
}
|
|
|
|
// Token: 0x040031B6 RID: 12726
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x40031B6")]
|
|
[SerializeField]
|
|
[HideInInspector]
|
|
public string name;
|
|
|
|
// Token: 0x040031B7 RID: 12727
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x40031B7")]
|
|
[HideInInspector]
|
|
[SerializeField]
|
|
public bool show = true;
|
|
|
|
// Token: 0x040031B8 RID: 12728
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x40031B8")]
|
|
[Tooltip("The range for the character's position and rotation.")]
|
|
public InteractionTrigger.CharacterPosition characterPosition;
|
|
|
|
// Token: 0x040031B9 RID: 12729
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x40031B9")]
|
|
[Tooltip("The range for the character camera's position and rotation.")]
|
|
public InteractionTrigger.CameraPosition cameraPosition;
|
|
|
|
// Token: 0x040031BA RID: 12730
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x40031BA")]
|
|
[Tooltip("Definitions of the interactions associated with this range.")]
|
|
public InteractionTrigger.Range.Interaction[] interactions;
|
|
|
|
// Token: 0x02000460 RID: 1120
|
|
[Token(Token = "0x2000460")]
|
|
[Serializable]
|
|
public class Interaction
|
|
{
|
|
// Token: 0x06002846 RID: 10310 RVA: 0x00038FC3 File Offset: 0x000371C3
|
|
[Token(Token = "0x6002846")]
|
|
[Address(RVA = "0x43A830", Offset = "0x439030", VA = "0x18043A830")]
|
|
public Interaction()
|
|
{
|
|
}
|
|
|
|
// Token: 0x040031BB RID: 12731
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x40031BB")]
|
|
[Tooltip("The InteractionObject to interact with.")]
|
|
public InteractionObject interactionObject;
|
|
|
|
// Token: 0x040031BC RID: 12732
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x40031BC")]
|
|
[Tooltip("The effectors to interact with.")]
|
|
public FullBodyBipedEffector[] effectors;
|
|
}
|
|
}
|
|
}
|
|
}
|