Files
2023-09-06 22:19:13 +02:00

418 lines
13 KiB
C#

using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x020004DB RID: 1243
[Token(Token = "0x20004DB")]
public class Recoil : OffsetModifier
{
// Token: 0x170002C5 RID: 709
// (get) Token: 0x06002BCB RID: 11211 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x170002C5")]
public bool isFinished
{
[Token(Token = "0x6002BCB")]
[Address(RVA = "0x504D60", Offset = "0x503D60", VA = "0x180504D60")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x06002BCC RID: 11212 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BCC")]
[Address(RVA = "0x504CC0", Offset = "0x503CC0", VA = "0x180504CC0")]
public void SetHandRotations(Quaternion leftHandRotation, Quaternion rightHandRotation)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BCD RID: 11213 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BCD")]
[Address(RVA = "0x503A50", Offset = "0x502A50", VA = "0x180503A50")]
public void Fire(float magnitude)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BCE RID: 11214 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BCE")]
[Address(RVA = "0x503E00", Offset = "0x502E00", VA = "0x180503E00", Slot = "4")]
protected override void OnModifyOffset()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BCF RID: 11215 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BCF")]
[Address(RVA = "0x5038A0", Offset = "0x5028A0", VA = "0x1805038A0")]
private void AfterFBBIK()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BD0 RID: 11216 RVA: 0x00061520 File Offset: 0x0005F720
[Token(Token = "0x6002BD0")]
[Address(RVA = "0x503850", Offset = "0x502850", VA = "0x180503850")]
private void AfterAimIK()
{
if (this.aimIKSolvedLast)
{
IKSolverAim solver = this.aimIK.solver;
float z = this.aimIKAxis.z;
solver.axis.z = z;
}
}
// Token: 0x170002C6 RID: 710
// (get) Token: 0x06002BD1 RID: 11217 RVA: 0x00061560 File Offset: 0x0005F760
[Token(Token = "0x170002C6")]
private IKEffector primaryHandEffector
{
[Token(Token = "0x6002BD1")]
[Address(RVA = "0x504D80", Offset = "0x503D80", VA = "0x180504D80")]
get
{
FullBodyBipedIK ik = this.ik;
if (this.handedness != Recoil.Handedness.Right)
{
return ik.solver.leftHandEffector;
}
return ik.solver.rightHandEffector;
}
}
// Token: 0x170002C7 RID: 711
// (get) Token: 0x06002BD2 RID: 11218 RVA: 0x0006159C File Offset: 0x0005F79C
[Token(Token = "0x170002C7")]
private IKEffector secondaryHandEffector
{
[Token(Token = "0x6002BD2")]
[Address(RVA = "0x504E20", Offset = "0x503E20", VA = "0x180504E20")]
get
{
FullBodyBipedIK ik = this.ik;
if (this.handedness != Recoil.Handedness.Right)
{
return ik.solver.rightHandEffector;
}
return ik.solver.leftHandEffector;
}
}
// Token: 0x170002C8 RID: 712
// (get) Token: 0x06002BD3 RID: 11219 RVA: 0x000615D8 File Offset: 0x0005F7D8
[Token(Token = "0x170002C8")]
private Transform primaryHand
{
[Token(Token = "0x6002BD3")]
[Address(RVA = "0x504DD0", Offset = "0x503DD0", VA = "0x180504DD0")]
get
{
FullBodyBipedIK ik = this.ik;
if (this.handedness != Recoil.Handedness.Right)
{
IKEffector leftHandEffector = ik.solver.leftHandEffector;
}
return ik.solver.rightHandEffector.bone;
}
}
// Token: 0x170002C9 RID: 713
// (get) Token: 0x06002BD4 RID: 11220 RVA: 0x00061618 File Offset: 0x0005F818
[Token(Token = "0x170002C9")]
private Transform secondaryHand
{
[Token(Token = "0x6002BD4")]
[Address(RVA = "0x504E70", Offset = "0x503E70", VA = "0x180504E70")]
get
{
FullBodyBipedIK ik = this.ik;
if (this.handedness != Recoil.Handedness.Right)
{
IKEffector rightHandEffector = ik.solver.rightHandEffector;
}
return ik.solver.leftHandEffector.bone;
}
}
// Token: 0x06002BD5 RID: 11221 RVA: 0x00061658 File Offset: 0x0005F858
[Token(Token = "0x6002BD5")]
[Address(RVA = "0x503BF0", Offset = "0x502BF0", VA = "0x180503BF0", 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: 0x06002BD6 RID: 11222 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BD6")]
[Address(RVA = "0x504CF0", Offset = "0x503CF0", VA = "0x180504CF0")]
public Recoil()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x04003529 RID: 13609
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4003529")]
[Tooltip("Reference to the AimIK component. Optional, only used to getting the aiming direction.")]
public AimIK aimIK;
// Token: 0x0400352A RID: 13610
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x400352A")]
[Tooltip("Set this true if you are using IKExecutionOrder.cs or a custom script to force AimIK solve after FBBIK.")]
public bool aimIKSolvedLast;
// Token: 0x0400352B RID: 13611
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x400352B")]
[Tooltip("Which hand is holding the weapon?")]
public Recoil.Handedness handedness;
// Token: 0x0400352C RID: 13612
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x400352C")]
[Tooltip("Check for 2-handed weapons.")]
public bool twoHanded;
// Token: 0x0400352D RID: 13613
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x400352D")]
[Tooltip("Weight curve for the recoil offsets. Recoil procedure is as long as this curve.")]
public AnimationCurve recoilWeight;
// Token: 0x0400352E RID: 13614
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x400352E")]
[Tooltip("How much is the magnitude randomized each time Recoil is called?")]
public float magnitudeRandom;
// Token: 0x0400352F RID: 13615
[FieldOffset(Offset = "0x54")]
[Token(Token = "0x400352F")]
[Tooltip("How much is the rotation randomized each time Recoil is called?")]
public Vector3 rotationRandom;
// Token: 0x04003530 RID: 13616
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4003530")]
[Tooltip("Rotating the primary hand bone for the recoil (in local space).")]
public Vector3 handRotationOffset;
// Token: 0x04003531 RID: 13617
[FieldOffset(Offset = "0x6C")]
[Token(Token = "0x4003531")]
[Tooltip("Time of blending in another recoil when doing automatic fire.")]
public float blendTime;
// Token: 0x04003532 RID: 13618
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4003532")]
[Space]
[Space(10f)]
[Tooltip("FBBIK effector position offsets for the recoil (in aiming direction space).")]
public Recoil.RecoilOffset[] offsets;
// Token: 0x04003533 RID: 13619
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4003533")]
[HideInInspector]
public Quaternion rotationOffset;
// Token: 0x04003534 RID: 13620
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x4003534")]
private float magnitudeMlp;
// Token: 0x04003535 RID: 13621
[FieldOffset(Offset = "0x8C")]
[Token(Token = "0x4003535")]
private float endTime;
// Token: 0x04003536 RID: 13622
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x4003536")]
private Quaternion handRotation;
// Token: 0x04003537 RID: 13623
[FieldOffset(Offset = "0xA0")]
[Token(Token = "0x4003537")]
private Quaternion secondaryHandRelativeRotation;
// Token: 0x04003538 RID: 13624
[FieldOffset(Offset = "0xB0")]
[Token(Token = "0x4003538")]
private Quaternion randomRotation;
// Token: 0x04003539 RID: 13625
[FieldOffset(Offset = "0xC0")]
[Token(Token = "0x4003539")]
private float length;
// Token: 0x0400353A RID: 13626
[FieldOffset(Offset = "0xC4")]
[Token(Token = "0x400353A")]
private bool initiated;
// Token: 0x0400353B RID: 13627
[FieldOffset(Offset = "0xC8")]
[Token(Token = "0x400353B")]
private float blendWeight;
// Token: 0x0400353C RID: 13628
[FieldOffset(Offset = "0xCC")]
[Token(Token = "0x400353C")]
private float w;
// Token: 0x0400353D RID: 13629
[FieldOffset(Offset = "0xD0")]
[Token(Token = "0x400353D")]
private Quaternion primaryHandRotation;
// Token: 0x0400353E RID: 13630
[FieldOffset(Offset = "0xE0")]
[Token(Token = "0x400353E")]
private bool handRotationsSet;
// Token: 0x0400353F RID: 13631
[FieldOffset(Offset = "0xE4")]
[Token(Token = "0x400353F")]
private Vector3 aimIKAxis;
// Token: 0x020004DC RID: 1244
[Token(Token = "0x20004DC")]
[Serializable]
public class RecoilOffset
{
// Token: 0x06002BD7 RID: 11223 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BD7")]
[Address(RVA = "0x69BA80", Offset = "0x69AA80", VA = "0x18069BA80")]
public void Start()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BD8 RID: 11224 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BD8")]
[Address(RVA = "0x69B7D0", Offset = "0x69A7D0", VA = "0x18069B7D0")]
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: 0x06002BD9 RID: 11225 RVA: 0x00061734 File Offset: 0x0005F934
[Token(Token = "0x6002BD9")]
[Address(RVA = "0x69BB30", Offset = "0x69AB30", VA = "0x18069BB30")]
public RecoilOffset()
{
}
// Token: 0x04003540 RID: 13632
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4003540")]
[Tooltip("Offset vector for the associated effector when doing recoil.")]
public Vector3 offset;
// Token: 0x04003541 RID: 13633
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x4003541")]
[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: 0x04003542 RID: 13634
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4003542")]
[Tooltip("Max additive recoil for automatic fire.")]
public float maxAdditiveOffsetMag = 0.2f;
// Token: 0x04003543 RID: 13635
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4003543")]
[Tooltip("Linking this recoil offset to FBBIK effectors.")]
public Recoil.RecoilOffset.EffectorLink[] effectorLinks;
// Token: 0x04003544 RID: 13636
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4003544")]
private Vector3 additiveOffset;
// Token: 0x04003545 RID: 13637
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x4003545")]
private Vector3 lastOffset;
// Token: 0x020004DD RID: 1245
[Token(Token = "0x20004DD")]
[Serializable]
public class EffectorLink
{
// Token: 0x06002BDA RID: 11226 RVA: 0x0003DF9B File Offset: 0x0003C19B
[Token(Token = "0x6002BDA")]
[Address(RVA = "0x36ABD0", Offset = "0x369BD0", VA = "0x18036ABD0")]
public EffectorLink()
{
}
// Token: 0x04003546 RID: 13638
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4003546")]
[Tooltip("Type of the FBBIK effector to use")]
public FullBodyBipedEffector effector;
// Token: 0x04003547 RID: 13639
[FieldOffset(Offset = "0x14")]
[Token(Token = "0x4003547")]
[Tooltip("Weight of using this effector")]
public float weight;
}
}
// Token: 0x020004DE RID: 1246
[Token(Token = "0x20004DE")]
[Serializable]
public enum Handedness
{
// Token: 0x04003549 RID: 13641
[Token(Token = "0x4003549")]
Right,
// Token: 0x0400354A RID: 13642
[Token(Token = "0x400354A")]
Left
}
}
}