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: 0x02002B51 RID: 11089
|
|
[Token(Token = "0x2002B51")]
|
|
public class CrossbowTrapWeapon : RangedWeapon
|
|
{
|
|
// Token: 0x06012A16 RID: 76310 RVA: 0x004441F8 File Offset: 0x004423F8
|
|
[Token(Token = "0x6012A16")]
|
|
[Address(RVA = "0x10D2430", Offset = "0x10D1230", VA = "0x1810D2430", Slot = "13")]
|
|
protected override void Awake()
|
|
{
|
|
base.Awake();
|
|
CrossbowBolt[] array = new CrossbowBolt[this.boltFinalNockingTransform.Length];
|
|
this.EIIEEFPALJM = array;
|
|
}
|
|
|
|
// Token: 0x06012A17 RID: 76311 RVA: 0x0044422C File Offset: 0x0044242C
|
|
[Token(Token = "0x6012A17")]
|
|
[Address(RVA = "0x10D2CD0", Offset = "0x10D1AD0", VA = "0x1810D2CD0")]
|
|
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: 0x06012A18 RID: 76312 RVA: 0x0044430C File Offset: 0x0044250C
|
|
[Token(Token = "0x6012A18")]
|
|
[Address(RVA = "0x10D2490", Offset = "0x10D1290", VA = "0x1810D2490", 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: 0x06012A19 RID: 76313 RVA: 0x004443C4 File Offset: 0x004425C4
|
|
[Token(Token = "0x6012A19")]
|
|
[Address(RVA = "0x10D26B0", Offset = "0x10D14B0", VA = "0x1810D26B0", 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: 0x06012A1A RID: 76314 RVA: 0x00444450 File Offset: 0x00442650
|
|
[Token(Token = "0x6012A1A")]
|
|
[Address(RVA = "0x10D2970", Offset = "0x10D1770", VA = "0x1810D2970")]
|
|
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: 0x06012A1B RID: 76315 RVA: 0x00444524 File Offset: 0x00442724
|
|
[Token(Token = "0x6012A1B")]
|
|
[Address(RVA = "0x10D30C0", Offset = "0x10D1EC0", VA = "0x1810D30C0")]
|
|
public CrossbowTrapWeapon()
|
|
{
|
|
}
|
|
|
|
// Token: 0x0400C068 RID: 49256
|
|
[FieldOffset(Offset = "0x2F0")]
|
|
[Token(Token = "0x400C068")]
|
|
[SerializeField]
|
|
[Header("Crossbow")]
|
|
private Transform[] boltInitialNockingTransform;
|
|
|
|
// Token: 0x0400C069 RID: 49257
|
|
[FieldOffset(Offset = "0x2F8")]
|
|
[Token(Token = "0x400C069")]
|
|
[SerializeField]
|
|
protected Transform[] boltFinalNockingTransform;
|
|
|
|
// Token: 0x0400C06A RID: 49258
|
|
[FieldOffset(Offset = "0x300")]
|
|
[Token(Token = "0x400C06A")]
|
|
[SerializeField]
|
|
private float boltNockingAnimationLength = 0.5f;
|
|
|
|
// Token: 0x0400C06B RID: 49259
|
|
[Token(Token = "0x400C06B")]
|
|
private static readonly int EPHFPALCMHI = Animator.StringToHash("Pull");
|
|
|
|
// Token: 0x0400C06C RID: 49260
|
|
[FieldOffset(Offset = "0x308")]
|
|
[Token(Token = "0x400C06C")]
|
|
protected CrossbowBolt[] EIIEEFPALJM;
|
|
|
|
// Token: 0x0400C06D RID: 49261
|
|
[FieldOffset(Offset = "0x310")]
|
|
[Token(Token = "0x400C06D")]
|
|
private float FBCLJNIEGIE;
|
|
}
|
|
}
|