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

418 lines
13 KiB
C#

using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RootMotion.FinalIK
{
// Token: 0x0200048C RID: 1164
[Token(Token = "0x200048C")]
public class Recoil : OffsetModifier
{
// Token: 0x1700029A RID: 666
// (get) Token: 0x06002934 RID: 10548 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x1700029A")]
public bool isFinished
{
[Token(Token = "0x6002934")]
[Address(RVA = "0xCB6DF0", Offset = "0xCB55F0", VA = "0x180CB6DF0")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x06002935 RID: 10549 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002935")]
[Address(RVA = "0xCB6D50", Offset = "0xCB5550", VA = "0x180CB6D50")]
public void SetHandRotations(Quaternion leftHandRotation, Quaternion rightHandRotation)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002936 RID: 10550 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002936")]
[Address(RVA = "0xCB5AE0", Offset = "0xCB42E0", VA = "0x180CB5AE0")]
public void Fire(float magnitude)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002937 RID: 10551 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002937")]
[Address(RVA = "0xCB5E90", Offset = "0xCB4690", VA = "0x180CB5E90", Slot = "4")]
protected override void OnModifyOffset()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002938 RID: 10552 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002938")]
[Address(RVA = "0xCB5930", Offset = "0xCB4130", VA = "0x180CB5930")]
private void AfterFBBIK()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002939 RID: 10553 RVA: 0x0005A5E0 File Offset: 0x000587E0
[Token(Token = "0x6002939")]
[Address(RVA = "0xCB58E0", Offset = "0xCB40E0", VA = "0x180CB58E0")]
private void AfterAimIK()
{
if (this.aimIKSolvedLast)
{
IKSolverAim solver = this.aimIK.solver;
float z = this.aimIKAxis.z;
solver.axis.z = z;
}
}
// Token: 0x1700029B RID: 667
// (get) Token: 0x0600293A RID: 10554 RVA: 0x0005A620 File Offset: 0x00058820
[Token(Token = "0x1700029B")]
private IKEffector primaryHandEffector
{
[Token(Token = "0x600293A")]
[Address(RVA = "0xCB6E10", Offset = "0xCB5610", VA = "0x180CB6E10")]
get
{
FullBodyBipedIK ik = this.ik;
if (this.handedness != Recoil.Handedness.Right)
{
return ik.solver.leftHandEffector;
}
return ik.solver.rightHandEffector;
}
}
// Token: 0x1700029C RID: 668
// (get) Token: 0x0600293B RID: 10555 RVA: 0x0005A65C File Offset: 0x0005885C
[Token(Token = "0x1700029C")]
private IKEffector secondaryHandEffector
{
[Token(Token = "0x600293B")]
[Address(RVA = "0xCB6EB0", Offset = "0xCB56B0", VA = "0x180CB6EB0")]
get
{
FullBodyBipedIK ik = this.ik;
if (this.handedness != Recoil.Handedness.Right)
{
return ik.solver.rightHandEffector;
}
return ik.solver.leftHandEffector;
}
}
// Token: 0x1700029D RID: 669
// (get) Token: 0x0600293C RID: 10556 RVA: 0x0005A698 File Offset: 0x00058898
[Token(Token = "0x1700029D")]
private Transform primaryHand
{
[Token(Token = "0x600293C")]
[Address(RVA = "0xCB6E60", Offset = "0xCB5660", VA = "0x180CB6E60")]
get
{
FullBodyBipedIK ik = this.ik;
if (this.handedness != Recoil.Handedness.Right)
{
IKEffector leftHandEffector = ik.solver.leftHandEffector;
}
return ik.solver.rightHandEffector.bone;
}
}
// Token: 0x1700029E RID: 670
// (get) Token: 0x0600293D RID: 10557 RVA: 0x0005A6D8 File Offset: 0x000588D8
[Token(Token = "0x1700029E")]
private Transform secondaryHand
{
[Token(Token = "0x600293D")]
[Address(RVA = "0xCB6F00", Offset = "0xCB5700", VA = "0x180CB6F00")]
get
{
FullBodyBipedIK ik = this.ik;
if (this.handedness != Recoil.Handedness.Right)
{
IKEffector rightHandEffector = ik.solver.rightHandEffector;
}
return ik.solver.leftHandEffector.bone;
}
}
// Token: 0x0600293E RID: 10558 RVA: 0x0005A718 File Offset: 0x00058918
[Token(Token = "0x600293E")]
[Address(RVA = "0xCB5C80", Offset = "0xCB4480", VA = "0x180CB5C80", 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: 0x0600293F RID: 10559 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x600293F")]
[Address(RVA = "0xCB6D80", Offset = "0xCB5580", VA = "0x180CB6D80")]
public Recoil()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x04003281 RID: 12929
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4003281")]
[Tooltip("Reference to the AimIK component. Optional, only used to getting the aiming direction.")]
public AimIK aimIK;
// Token: 0x04003282 RID: 12930
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4003282")]
[Tooltip("Set this true if you are using IKExecutionOrder.cs or a custom script to force AimIK solve after FBBIK.")]
public bool aimIKSolvedLast;
// Token: 0x04003283 RID: 12931
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x4003283")]
[Tooltip("Which hand is holding the weapon?")]
public Recoil.Handedness handedness;
// Token: 0x04003284 RID: 12932
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4003284")]
[Tooltip("Check for 2-handed weapons.")]
public bool twoHanded;
// Token: 0x04003285 RID: 12933
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4003285")]
[Tooltip("Weight curve for the recoil offsets. Recoil procedure is as long as this curve.")]
public AnimationCurve recoilWeight;
// Token: 0x04003286 RID: 12934
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4003286")]
[Tooltip("How much is the magnitude randomized each time Recoil is called?")]
public float magnitudeRandom;
// Token: 0x04003287 RID: 12935
[FieldOffset(Offset = "0x54")]
[Token(Token = "0x4003287")]
[Tooltip("How much is the rotation randomized each time Recoil is called?")]
public Vector3 rotationRandom;
// Token: 0x04003288 RID: 12936
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4003288")]
[Tooltip("Rotating the primary hand bone for the recoil (in local space).")]
public Vector3 handRotationOffset;
// Token: 0x04003289 RID: 12937
[FieldOffset(Offset = "0x6C")]
[Token(Token = "0x4003289")]
[Tooltip("Time of blending in another recoil when doing automatic fire.")]
public float blendTime;
// Token: 0x0400328A RID: 12938
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x400328A")]
[Space]
[Space(10f)]
[Tooltip("FBBIK effector position offsets for the recoil (in aiming direction space).")]
public Recoil.RecoilOffset[] offsets;
// Token: 0x0400328B RID: 12939
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x400328B")]
[HideInInspector]
public Quaternion rotationOffset;
// Token: 0x0400328C RID: 12940
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x400328C")]
private float magnitudeMlp;
// Token: 0x0400328D RID: 12941
[FieldOffset(Offset = "0x8C")]
[Token(Token = "0x400328D")]
private float endTime;
// Token: 0x0400328E RID: 12942
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x400328E")]
private Quaternion handRotation;
// Token: 0x0400328F RID: 12943
[FieldOffset(Offset = "0xA0")]
[Token(Token = "0x400328F")]
private Quaternion secondaryHandRelativeRotation;
// Token: 0x04003290 RID: 12944
[FieldOffset(Offset = "0xB0")]
[Token(Token = "0x4003290")]
private Quaternion randomRotation;
// Token: 0x04003291 RID: 12945
[FieldOffset(Offset = "0xC0")]
[Token(Token = "0x4003291")]
private float length;
// Token: 0x04003292 RID: 12946
[FieldOffset(Offset = "0xC4")]
[Token(Token = "0x4003292")]
private bool initiated;
// Token: 0x04003293 RID: 12947
[FieldOffset(Offset = "0xC8")]
[Token(Token = "0x4003293")]
private float blendWeight;
// Token: 0x04003294 RID: 12948
[FieldOffset(Offset = "0xCC")]
[Token(Token = "0x4003294")]
private float w;
// Token: 0x04003295 RID: 12949
[FieldOffset(Offset = "0xD0")]
[Token(Token = "0x4003295")]
private Quaternion primaryHandRotation;
// Token: 0x04003296 RID: 12950
[FieldOffset(Offset = "0xE0")]
[Token(Token = "0x4003296")]
private bool handRotationsSet;
// Token: 0x04003297 RID: 12951
[FieldOffset(Offset = "0xE4")]
[Token(Token = "0x4003297")]
private Vector3 aimIKAxis;
// Token: 0x0200048D RID: 1165
[Token(Token = "0x200048D")]
[Serializable]
public class RecoilOffset
{
// Token: 0x06002940 RID: 10560 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002940")]
[Address(RVA = "0x6988A0", Offset = "0x6970A0", VA = "0x1806988A0")]
public void Start()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002941 RID: 10561 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002941")]
[Address(RVA = "0x6985F0", Offset = "0x696DF0", VA = "0x1806985F0")]
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: 0x06002942 RID: 10562 RVA: 0x0005A7F4 File Offset: 0x000589F4
[Token(Token = "0x6002942")]
[Address(RVA = "0x698950", Offset = "0x697150", VA = "0x180698950")]
public RecoilOffset()
{
}
// Token: 0x04003298 RID: 12952
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4003298")]
[Tooltip("Offset vector for the associated effector when doing recoil.")]
public Vector3 offset;
// Token: 0x04003299 RID: 12953
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x4003299")]
[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: 0x0400329A RID: 12954
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x400329A")]
[Tooltip("Max additive recoil for automatic fire.")]
public float maxAdditiveOffsetMag = 0.2f;
// Token: 0x0400329B RID: 12955
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x400329B")]
[Tooltip("Linking this recoil offset to FBBIK effectors.")]
public Recoil.RecoilOffset.EffectorLink[] effectorLinks;
// Token: 0x0400329C RID: 12956
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x400329C")]
private Vector3 additiveOffset;
// Token: 0x0400329D RID: 12957
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x400329D")]
private Vector3 lastOffset;
// Token: 0x0200048E RID: 1166
[Token(Token = "0x200048E")]
[Serializable]
public class EffectorLink
{
// Token: 0x06002943 RID: 10563 RVA: 0x00038FC3 File Offset: 0x000371C3
[Token(Token = "0x6002943")]
[Address(RVA = "0x43A830", Offset = "0x439030", VA = "0x18043A830")]
public EffectorLink()
{
}
// Token: 0x0400329E RID: 12958
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x400329E")]
[Tooltip("Type of the FBBIK effector to use")]
public FullBodyBipedEffector effector;
// Token: 0x0400329F RID: 12959
[FieldOffset(Offset = "0x14")]
[Token(Token = "0x400329F")]
[Tooltip("Weight of using this effector")]
public float weight;
}
}
// Token: 0x0200048F RID: 1167
[Token(Token = "0x200048F")]
[Serializable]
public enum Handedness
{
// Token: 0x040032A1 RID: 12961
[Token(Token = "0x40032A1")]
Right,
// Token: 0x040032A2 RID: 12962
[Token(Token = "0x40032A2")]
Left
}
}
}