Files
NobetaSource/Cpp2IL/Assembly-CSharp/RootMotion/FinalIK/Recoil.cs
2023-09-06 22:00:49 +02:00

418 lines
13 KiB
C#

using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x02000483 RID: 1155
[Token(Token = "0x2000483")]
public class Recoil : OffsetModifier
{
// Token: 0x170002A0 RID: 672
// (get) Token: 0x06002902 RID: 10498 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x170002A0")]
public bool isFinished
{
[Token(Token = "0x6002902")]
[Address(RVA = "0xBE7150", Offset = "0xBE5F50", VA = "0x180BE7150")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x06002903 RID: 10499 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002903")]
[Address(RVA = "0xBE70B0", Offset = "0xBE5EB0", VA = "0x180BE70B0")]
public void SetHandRotations(Quaternion leftHandRotation, Quaternion rightHandRotation)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002904 RID: 10500 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002904")]
[Address(RVA = "0xBE5E40", Offset = "0xBE4C40", VA = "0x180BE5E40")]
public void Fire(float magnitude)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002905 RID: 10501 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002905")]
[Address(RVA = "0xBE61F0", Offset = "0xBE4FF0", VA = "0x180BE61F0", Slot = "4")]
protected override void OnModifyOffset()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002906 RID: 10502 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002906")]
[Address(RVA = "0xBE5C90", Offset = "0xBE4A90", VA = "0x180BE5C90")]
private void AfterFBBIK()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002907 RID: 10503 RVA: 0x0005A17C File Offset: 0x0005837C
[Token(Token = "0x6002907")]
[Address(RVA = "0xBE5C40", Offset = "0xBE4A40", VA = "0x180BE5C40")]
private void AfterAimIK()
{
if (this.aimIKSolvedLast)
{
IKSolverAim solver = this.aimIK.solver;
float z = this.aimIKAxis.z;
solver.axis.z = z;
}
}
// Token: 0x170002A1 RID: 673
// (get) Token: 0x06002908 RID: 10504 RVA: 0x0005A1BC File Offset: 0x000583BC
[Token(Token = "0x170002A1")]
private IKEffector primaryHandEffector
{
[Token(Token = "0x6002908")]
[Address(RVA = "0xBE7170", Offset = "0xBE5F70", VA = "0x180BE7170")]
get
{
FullBodyBipedIK ik = this.ik;
if (this.handedness != Recoil.Handedness.Right)
{
return ik.solver.leftHandEffector;
}
return ik.solver.rightHandEffector;
}
}
// Token: 0x170002A2 RID: 674
// (get) Token: 0x06002909 RID: 10505 RVA: 0x0005A1F8 File Offset: 0x000583F8
[Token(Token = "0x170002A2")]
private IKEffector secondaryHandEffector
{
[Token(Token = "0x6002909")]
[Address(RVA = "0xBE7210", Offset = "0xBE6010", VA = "0x180BE7210")]
get
{
FullBodyBipedIK ik = this.ik;
if (this.handedness != Recoil.Handedness.Right)
{
return ik.solver.rightHandEffector;
}
return ik.solver.leftHandEffector;
}
}
// Token: 0x170002A3 RID: 675
// (get) Token: 0x0600290A RID: 10506 RVA: 0x0005A234 File Offset: 0x00058434
[Token(Token = "0x170002A3")]
private Transform primaryHand
{
[Token(Token = "0x600290A")]
[Address(RVA = "0xBE71C0", Offset = "0xBE5FC0", VA = "0x180BE71C0")]
get
{
FullBodyBipedIK ik = this.ik;
if (this.handedness != Recoil.Handedness.Right)
{
IKEffector leftHandEffector = ik.solver.leftHandEffector;
}
return ik.solver.rightHandEffector.bone;
}
}
// Token: 0x170002A4 RID: 676
// (get) Token: 0x0600290B RID: 10507 RVA: 0x0005A274 File Offset: 0x00058474
[Token(Token = "0x170002A4")]
private Transform secondaryHand
{
[Token(Token = "0x600290B")]
[Address(RVA = "0xBE7260", Offset = "0xBE6060", VA = "0x180BE7260")]
get
{
FullBodyBipedIK ik = this.ik;
if (this.handedness != Recoil.Handedness.Right)
{
IKEffector rightHandEffector = ik.solver.rightHandEffector;
}
return ik.solver.leftHandEffector.bone;
}
}
// Token: 0x0600290C RID: 10508 RVA: 0x0005A2B4 File Offset: 0x000584B4
[Token(Token = "0x600290C")]
[Address(RVA = "0xBE5FE0", Offset = "0xBE4DE0", VA = "0x180BE5FE0", Slot = "6")]
protected override void OnDestroy()
{
base.OnDestroy();
FullBodyBipedIK ik = this.ik;
int num = 0;
if (ik != num && this.initiated)
{
IKSolverFullBodyBiped solver = this.ik.solver;
IKSolver.UpdateDelegate onPostUpdate = solver.OnPostUpdate;
IKSolver.UpdateDelegate updateDelegate = new IKSolver.UpdateDelegate(this.AfterFBBIK);
Delegate @delegate = Delegate.Remove(onPostUpdate, updateDelegate);
int num2 = 0;
if (@delegate == 0 || @delegate != 0)
{
solver.OnPostUpdate = num2;
AimIK aimIK = this.aimIK;
int num3 = 0;
if (!(aimIK != num3))
{
return;
}
IKSolverAim solver2 = this.aimIK.solver;
IKSolver.UpdateDelegate onPostUpdate2 = solver2.OnPostUpdate;
IKSolver.UpdateDelegate updateDelegate2 = new IKSolver.UpdateDelegate(this.AfterAimIK);
Delegate delegate2 = Delegate.Remove(onPostUpdate2, updateDelegate2);
if (delegate2 == 0 || delegate2 != 0)
{
solver2.OnPostUpdate = delegate2;
return;
}
}
throw new InvalidCastException();
}
}
// Token: 0x0600290D RID: 10509 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600290D")]
[Address(RVA = "0xBE70E0", Offset = "0xBE5EE0", VA = "0x180BE70E0")]
public Recoil()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0400323F RID: 12863
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x400323F")]
[Tooltip("Reference to the AimIK component. Optional, only used to getting the aiming direction.")]
public AimIK aimIK;
// Token: 0x04003240 RID: 12864
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4003240")]
[Tooltip("Set this true if you are using IKExecutionOrder.cs or a custom script to force AimIK solve after FBBIK.")]
public bool aimIKSolvedLast;
// Token: 0x04003241 RID: 12865
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x4003241")]
[Tooltip("Which hand is holding the weapon?")]
public Recoil.Handedness handedness;
// Token: 0x04003242 RID: 12866
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4003242")]
[Tooltip("Check for 2-handed weapons.")]
public bool twoHanded;
// Token: 0x04003243 RID: 12867
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4003243")]
[Tooltip("Weight curve for the recoil offsets. Recoil procedure is as long as this curve.")]
public AnimationCurve recoilWeight;
// Token: 0x04003244 RID: 12868
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4003244")]
[Tooltip("How much is the magnitude randomized each time Recoil is called?")]
public float magnitudeRandom;
// Token: 0x04003245 RID: 12869
[FieldOffset(Offset = "0x54")]
[Token(Token = "0x4003245")]
[Tooltip("How much is the rotation randomized each time Recoil is called?")]
public Vector3 rotationRandom;
// Token: 0x04003246 RID: 12870
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4003246")]
[Tooltip("Rotating the primary hand bone for the recoil (in local space).")]
public Vector3 handRotationOffset;
// Token: 0x04003247 RID: 12871
[FieldOffset(Offset = "0x6C")]
[Token(Token = "0x4003247")]
[Tooltip("Time of blending in another recoil when doing automatic fire.")]
public float blendTime;
// Token: 0x04003248 RID: 12872
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4003248")]
[Space]
[Space(10f)]
[Tooltip("FBBIK effector position offsets for the recoil (in aiming direction space).")]
public Recoil.RecoilOffset[] offsets;
// Token: 0x04003249 RID: 12873
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4003249")]
[HideInInspector]
public Quaternion rotationOffset;
// Token: 0x0400324A RID: 12874
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x400324A")]
private float magnitudeMlp;
// Token: 0x0400324B RID: 12875
[FieldOffset(Offset = "0x8C")]
[Token(Token = "0x400324B")]
private float endTime;
// Token: 0x0400324C RID: 12876
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x400324C")]
private Quaternion handRotation;
// Token: 0x0400324D RID: 12877
[FieldOffset(Offset = "0xA0")]
[Token(Token = "0x400324D")]
private Quaternion secondaryHandRelativeRotation;
// Token: 0x0400324E RID: 12878
[FieldOffset(Offset = "0xB0")]
[Token(Token = "0x400324E")]
private Quaternion randomRotation;
// Token: 0x0400324F RID: 12879
[FieldOffset(Offset = "0xC0")]
[Token(Token = "0x400324F")]
private float length;
// Token: 0x04003250 RID: 12880
[FieldOffset(Offset = "0xC4")]
[Token(Token = "0x4003250")]
private bool initiated;
// Token: 0x04003251 RID: 12881
[FieldOffset(Offset = "0xC8")]
[Token(Token = "0x4003251")]
private float blendWeight;
// Token: 0x04003252 RID: 12882
[FieldOffset(Offset = "0xCC")]
[Token(Token = "0x4003252")]
private float w;
// Token: 0x04003253 RID: 12883
[FieldOffset(Offset = "0xD0")]
[Token(Token = "0x4003253")]
private Quaternion primaryHandRotation;
// Token: 0x04003254 RID: 12884
[FieldOffset(Offset = "0xE0")]
[Token(Token = "0x4003254")]
private bool handRotationsSet;
// Token: 0x04003255 RID: 12885
[FieldOffset(Offset = "0xE4")]
[Token(Token = "0x4003255")]
private Vector3 aimIKAxis;
// Token: 0x02000484 RID: 1156
[Token(Token = "0x2000484")]
[Serializable]
public class RecoilOffset
{
// Token: 0x0600290E RID: 10510 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600290E")]
[Address(RVA = "0x6A0250", Offset = "0x69F050", VA = "0x1806A0250")]
public void Start()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600290F RID: 10511 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600290F")]
[Address(RVA = "0x69FFA0", Offset = "0x69EDA0", VA = "0x18069FFA0")]
public void Apply(IKSolverFullBodyBiped solver, Quaternion rotation, float masterWeight, float length, float timeLeft)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002910 RID: 10512 RVA: 0x0005A390 File Offset: 0x00058590
[Token(Token = "0x6002910")]
[Address(RVA = "0x6A0300", Offset = "0x69F100", VA = "0x1806A0300")]
public RecoilOffset()
{
}
// Token: 0x04003256 RID: 12886
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4003256")]
[Tooltip("Offset vector for the associated effector when doing recoil.")]
public Vector3 offset;
// Token: 0x04003257 RID: 12887
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x4003257")]
[Range(0f, 1f)]
[Tooltip("When firing before the last recoil has faded, how much of the current recoil offset will be maintained?")]
public float additivity = 1f;
// Token: 0x04003258 RID: 12888
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4003258")]
[Tooltip("Max additive recoil for automatic fire.")]
public float maxAdditiveOffsetMag = 0.2f;
// Token: 0x04003259 RID: 12889
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4003259")]
[Tooltip("Linking this recoil offset to FBBIK effectors.")]
public Recoil.RecoilOffset.EffectorLink[] effectorLinks;
// Token: 0x0400325A RID: 12890
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x400325A")]
private Vector3 additiveOffset;
// Token: 0x0400325B RID: 12891
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x400325B")]
private Vector3 lastOffset;
// Token: 0x02000485 RID: 1157
[Token(Token = "0x2000485")]
[Serializable]
public class EffectorLink
{
// Token: 0x06002911 RID: 10513 RVA: 0x0003883F File Offset: 0x00036A3F
[Token(Token = "0x6002911")]
[Address(RVA = "0x3D8B20", Offset = "0x3D7920", VA = "0x1803D8B20")]
public EffectorLink()
{
}
// Token: 0x0400325C RID: 12892
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x400325C")]
[Tooltip("Type of the FBBIK effector to use")]
public FullBodyBipedEffector effector;
// Token: 0x0400325D RID: 12893
[FieldOffset(Offset = "0x14")]
[Token(Token = "0x400325D")]
[Tooltip("Weight of using this effector")]
public float weight;
}
}
// Token: 0x02000486 RID: 1158
[Token(Token = "0x2000486")]
[Serializable]
public enum Handedness
{
// Token: 0x0400325F RID: 12895
[Token(Token = "0x400325F")]
Right,
// Token: 0x04003260 RID: 12896
[Token(Token = "0x4003260")]
Left
}
}
}