192 lines
5.7 KiB
C#
192 lines
5.7 KiB
C#
using System;
|
|
using Cpp2IlInjected;
|
|
using RecRoom.Core.Combat;
|
|
using UnityEngine;
|
|
|
|
namespace RecRoom.Tools.Weapons
|
|
{
|
|
// Token: 0x02002C3A RID: 11322
|
|
[Token(Token = "0x2002C3A")]
|
|
public class CrossbowTrapWeapon : RangedWeapon
|
|
{
|
|
// Token: 0x06012E55 RID: 77397 RVA: 0x0044DEB8 File Offset: 0x0044C0B8
|
|
[Token(Token = "0x6012E55")]
|
|
[Address(RVA = "0x1D2CF40", Offset = "0x1D2BF40", VA = "0x181D2CF40", Slot = "13")]
|
|
protected override void Awake()
|
|
{
|
|
base.Awake();
|
|
CrossbowBolt[] array = new CrossbowBolt[this.boltFinalNockingTransform.Length];
|
|
this.EIIEEFPALJM = array;
|
|
}
|
|
|
|
// Token: 0x06012E56 RID: 77398 RVA: 0x0044DEEC File Offset: 0x0044C0EC
|
|
[Token(Token = "0x6012E56")]
|
|
[Address(RVA = "0x1D2D7E0", Offset = "0x1D2C7E0", VA = "0x181D2D7E0")]
|
|
private void Update()
|
|
{
|
|
CrossbowBolt[] eiieefpaljm = this.EIIEEFPALJM;
|
|
int num = 0;
|
|
if (num < eiieefpaljm.Length)
|
|
{
|
|
CrossbowBolt crossbowBolt = eiieefpaljm[num];
|
|
int num2 = 0;
|
|
if (crossbowBolt != num2)
|
|
{
|
|
float num3 = this.boltNockingAnimationLength;
|
|
float time = Time.time;
|
|
float num4 = Mathf.InverseLerp(time, num3, time);
|
|
CrossbowBolt[] eiieefpaljm2 = this.EIIEEFPALJM;
|
|
Transform transform = eiieefpaljm2[num].transform;
|
|
Transform transform2 = this.boltInitialNockingTransform[num];
|
|
Vector3 vector;
|
|
float z = vector.z;
|
|
Transform transform3 = this.boltFinalNockingTransform[num];
|
|
Vector3 vector2;
|
|
float z2 = vector2.z;
|
|
Vector3 vector3;
|
|
float z3 = vector3.z;
|
|
Transform transform4 = this.EIIEEFPALJM[num].transform;
|
|
Transform transform5 = this.boltFinalNockingTransform[num];
|
|
}
|
|
CrossbowBolt[] eiieefpaljm3 = this.EIIEEFPALJM;
|
|
num++;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012E57 RID: 77399 RVA: 0x0044DFCC File Offset: 0x0044C1CC
|
|
[Token(Token = "0x6012E57")]
|
|
[Address(RVA = "0x1D2CFA0", Offset = "0x1D2BFA0", VA = "0x181D2CFA0", Slot = "34")]
|
|
protected override void MIKJDLDPIEP()
|
|
{
|
|
base.MIKJDLDPIEP();
|
|
int magazineAmmunition = base.DFPKOJKFNIF;
|
|
Animator animator = this._animator;
|
|
if (magazineAmmunition != 0)
|
|
{
|
|
int ephfpalcmhi = CrossbowTrapWeapon.EPHFPALCMHI;
|
|
animator.SetFloat(ephfpalcmhi, 1f);
|
|
CrossbowBolt[] eiieefpaljm = this.EIIEEFPALJM;
|
|
int num = 0;
|
|
if (num >= eiieefpaljm.Length)
|
|
{
|
|
return;
|
|
}
|
|
CrossbowBolt crossbowBolt = eiieefpaljm[num];
|
|
int num2 = 0;
|
|
if (crossbowBolt == num2)
|
|
{
|
|
CrossbowBolt[] eiieefpaljm2 = this.EIIEEFPALJM;
|
|
throw new ArrayTypeMismatchException();
|
|
}
|
|
CrossbowBolt[] eiieefpaljm3 = this.EIIEEFPALJM;
|
|
num++;
|
|
}
|
|
if ("{il2cpp array field local19->}" == (ulong)2L || "{il2cpp array field local19->}" == (ulong)0L)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012E58 RID: 77400 RVA: 0x0044E084 File Offset: 0x0044C284
|
|
[Token(Token = "0x6012E58")]
|
|
[Address(RVA = "0x1D2D1C0", Offset = "0x1D2C1C0", VA = "0x181D2D1C0", Slot = "42")]
|
|
protected override void OICJPFPBIIK(Vector3 DDHPAFKBMON, Quaternion IGPENJBJADK, Vector3 NHAOMEMANJA, float LFDFFDCJAAD, bool FLKHKHDBIOH, byte LNPHJIHHNPN)
|
|
{
|
|
CrossbowBolt[] eiieefpaljm = this.EIIEEFPALJM;
|
|
int num = 0;
|
|
if (num < eiieefpaljm.Length)
|
|
{
|
|
CrossbowBolt crossbowBolt = eiieefpaljm[num];
|
|
int num2 = 0;
|
|
if (crossbowBolt != num2)
|
|
{
|
|
Transform transform = this.EIIEEFPALJM[num].transform;
|
|
Vector3 vector;
|
|
float z = vector.z;
|
|
Transform transform2 = this.EIIEEFPALJM[num].transform;
|
|
float z2 = NHAOMEMANJA.z;
|
|
this.EIIEEFPALJM[0] = num;
|
|
}
|
|
CrossbowBolt[] eiieefpaljm2 = this.EIIEEFPALJM;
|
|
num++;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012E59 RID: 77401 RVA: 0x0044E110 File Offset: 0x0044C310
|
|
[Token(Token = "0x6012E59")]
|
|
[Address(RVA = "0x1D2D480", Offset = "0x1D2C480", VA = "0x181D2D480")]
|
|
private void OnDrawGizmosSelected()
|
|
{
|
|
Transform[] array = this.boltFinalNockingTransform;
|
|
if (array != 0)
|
|
{
|
|
int num = 0;
|
|
if (num < array.Length)
|
|
{
|
|
Transform transform = array[num];
|
|
int num2 = 0;
|
|
if (!(transform == num2))
|
|
{
|
|
Transform transform2 = this.boltInitialNockingTransform[num];
|
|
int num3 = 0;
|
|
if (!(transform2 == num3))
|
|
{
|
|
Transform transform3 = this.boltInitialNockingTransform[num];
|
|
float z = transform2.position.z;
|
|
Transform transform4 = this.boltFinalNockingTransform[num];
|
|
float z2 = transform2.position.z;
|
|
Color yellow = Color.yellow;
|
|
Color white = Color.white;
|
|
Color green = Color.green;
|
|
Transform transform5 = this.boltInitialNockingTransform[num];
|
|
Vector3 vector;
|
|
float z3 = vector.z;
|
|
}
|
|
}
|
|
Transform[] array2 = this.boltFinalNockingTransform;
|
|
num++;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012E5A RID: 77402 RVA: 0x0044E1E4 File Offset: 0x0044C3E4
|
|
[Token(Token = "0x6012E5A")]
|
|
[Address(RVA = "0x1D2DBD0", Offset = "0x1D2CBD0", VA = "0x181D2DBD0")]
|
|
public CrossbowTrapWeapon()
|
|
{
|
|
}
|
|
|
|
// Token: 0x0400C27C RID: 49788
|
|
[FieldOffset(Offset = "0x2F0")]
|
|
[Token(Token = "0x400C27C")]
|
|
[SerializeField]
|
|
[Header("Crossbow")]
|
|
private Transform[] boltInitialNockingTransform;
|
|
|
|
// Token: 0x0400C27D RID: 49789
|
|
[FieldOffset(Offset = "0x2F8")]
|
|
[Token(Token = "0x400C27D")]
|
|
[SerializeField]
|
|
protected Transform[] boltFinalNockingTransform;
|
|
|
|
// Token: 0x0400C27E RID: 49790
|
|
[FieldOffset(Offset = "0x300")]
|
|
[Token(Token = "0x400C27E")]
|
|
[SerializeField]
|
|
private float boltNockingAnimationLength = 0.5f;
|
|
|
|
// Token: 0x0400C27F RID: 49791
|
|
[Token(Token = "0x400C27F")]
|
|
private static readonly int EPHFPALCMHI = Animator.StringToHash("Pull");
|
|
|
|
// Token: 0x0400C280 RID: 49792
|
|
[FieldOffset(Offset = "0x308")]
|
|
[Token(Token = "0x400C280")]
|
|
protected CrossbowBolt[] EIIEEFPALJM;
|
|
|
|
// Token: 0x0400C281 RID: 49793
|
|
[FieldOffset(Offset = "0x310")]
|
|
[Token(Token = "0x400C281")]
|
|
private float FBCLJNIEGIE;
|
|
}
|
|
}
|