Files
2026-04-08 23:40:05 +02:00

248 lines
6.9 KiB
C#

using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using RecRoom.Core;
using RecRoom.Core.AI;
using RecRoom.Core.Pools;
using UnityEngine;
namespace RecRoom.Tools.Weapons
{
// Token: 0x02002665 RID: 9829
[Token(Token = "0x2002665")]
[StructLayout(3)]
public class BeamTrap : Trap
{
// Token: 0x06011090 RID: 69776 RVA: 0x004026E8 File Offset: 0x004008E8
[Token(Token = "0x6011090")]
[Address(RVA = "0x15A4C40", Offset = "0x15A3640", VA = "0x1815A4C40", Slot = "13")]
protected override void Awake()
{
base.Awake();
}
// Token: 0x06011091 RID: 69777 RVA: 0x004026FC File Offset: 0x004008FC
[Token(Token = "0x6011091")]
[Address(RVA = "0x15A5880", Offset = "0x15A4280", VA = "0x1815A5880", Slot = "15")]
protected override void Start()
{
base.Start();
GlobalPool instance = GlobalPool.ONCPNMDGGKG;
PooledParticle pooledParticle = this.impactParticlePrefab;
PooledParticle pooledParticle2 = instance.Acquire<PooledParticle>(pooledParticle);
this.KNANGBCNMAF = pooledParticle2;
Action<float> action = new Action(this.GAJIJLPDHNI);
IDisposable disposable = ScheduledUpdateMonoBehaviourExtensions.Update30hz(this, action);
}
// Token: 0x06011092 RID: 69778 RVA: 0x0040274C File Offset: 0x0040094C
[Token(Token = "0x6011092")]
[Address(RVA = "0x15A57F0", Offset = "0x15A41F0", VA = "0x1815A57F0")]
protected void OnEnable()
{
RecRoomAudioClip fireLoop = this.FireLoop;
Transform transform = this.origin;
int num = 0;
int num2 = 0;
SFXAudioSource sfxaudioSource = AudioManager.StartLooping3DSFX(fireLoop, transform, num2, num);
this.ODDIDOIDLHB = sfxaudioSource;
}
// Token: 0x06011093 RID: 69779 RVA: 0x00402780 File Offset: 0x00400980
[Token(Token = "0x6011093")]
[Address(RVA = "0x15A5790", Offset = "0x15A4190", VA = "0x1815A5790")]
protected void OnDisable()
{
AudioManager.StopLoopingSFX(this.ODDIDOIDLHB);
}
// Token: 0x06011094 RID: 69780 RVA: 0x00402798 File Offset: 0x00400998
[Token(Token = "0x6011094")]
[Address(RVA = "0x15A4C50", Offset = "0x15A3650", VA = "0x1815A4C50")]
private void GAJIJLPDHNI(float POGAEJIEPIM)
{
float num = this.beamLength;
AnimationCurve beamWidthNoise = this.BeamWidthNoise;
float time = Time.time;
float num2 = beamWidthNoise.Evaluate(POGAEJIEPIM);
Transform transform = this.origin;
Transform transform2 = this.origin;
float num3 = this.beamWidth;
Vector3 vector;
float z = vector.z;
float num4 = this.beamLength;
bool flag;
if (flag)
{
PooledParticle knangbcnmaf = this.KNANGBCNMAF;
num = num2;
knangbcnmaf.<OAIDPPDMCPA>k__BackingField.Play();
Transform transform3 = this.KNANGBCNMAF.transform;
RecRoomAudioClip impactSFX = this.ImpactSFX;
Quaternion quaternion;
float z2 = quaternion.z;
int num5 = 0;
int num6 = 0;
Player player;
if (player != num6)
{
float z3 = Vector3.zero.z;
float z4 = Vector3.zero.z;
bool flag2;
if (flag2)
{
}
int num7 = 0;
base.IAJAHFJCPIP(player, (Player.GAHEJKDCLLE)num7, num5);
}
int num8 = 0;
Tool tool;
if (tool != num8)
{
float z5 = Vector3.zero.z;
float z6 = Vector3.zero.z;
bool flag3;
if (flag3)
{
}
int num9 = 0;
base.FBNMOCOCJCJ(tool, num9);
}
int num10 = 0;
Enemy enemy;
if (enemy != num10)
{
float z7 = Vector3.zero.z;
float z8 = Vector3.zero.z;
bool flag4;
if (flag4)
{
}
return;
}
}
Transform transform4 = this.beam;
Vector3 vector2;
if (vector2.z <= num)
{
Transform transform5 = this.beam;
Vector3 vector3;
num = Mathf.Lerp(vector3.z, POGAEJIEPIM, num4);
}
Transform transform6 = this.beam;
Transform transform7 = this.beam;
Vector3 forward = Vector3.forward;
Transform transform8 = this.beam;
float z9 = forward.z;
Vector3 vector4;
float z10 = vector4.z;
Vector3 vector5;
float z11 = vector5.z;
Vector3 vector6;
float z12 = vector6.z;
throw new NullReferenceException();
}
// Token: 0x06011095 RID: 69781 RVA: 0x00402948 File Offset: 0x00400B48
[Token(Token = "0x6011095")]
[Address(RVA = "0x15A5650", Offset = "0x15A4050", VA = "0x1815A5650", Slot = "14")]
protected override void OnDestroy()
{
base.OnDestroy();
if (this.JLCCJAIAGFG)
{
this.JLCCJAIAGFG.Stop();
}
if (this.ODDIDOIDLHB)
{
AudioManager.StopLoopingSFX(this.ODDIDOIDLHB);
}
if (this.KNANGBCNMAF)
{
this.KNANGBCNMAF.Stop();
}
}
// Token: 0x06011096 RID: 69782 RVA: 0x004029AC File Offset: 0x00400BAC
[Token(Token = "0x6011096")]
[Address(RVA = "0x15A5940", Offset = "0x15A4340", VA = "0x1815A5940")]
public BeamTrap()
{
}
// Token: 0x0400B501 RID: 46337
[global::Cpp2IlInjected.FieldOffset(Offset = "0xA8")]
[Token(Token = "0x400B501")]
[SerializeField]
[Header("Beam")]
private Transform origin;
// Token: 0x0400B502 RID: 46338
[global::Cpp2IlInjected.FieldOffset(Offset = "0xB0")]
[Token(Token = "0x400B502")]
[SerializeField]
private Transform beam;
// Token: 0x0400B503 RID: 46339
[global::Cpp2IlInjected.FieldOffset(Offset = "0xB8")]
[Token(Token = "0x400B503")]
[SerializeField]
private PooledParticle impactParticlePrefab;
// Token: 0x0400B504 RID: 46340
[global::Cpp2IlInjected.FieldOffset(Offset = "0xC0")]
[Token(Token = "0x400B504")]
private PooledParticle KNANGBCNMAF;
// Token: 0x0400B505 RID: 46341
[global::Cpp2IlInjected.FieldOffset(Offset = "0xC8")]
[Token(Token = "0x400B505")]
[SerializeField]
private PooledParticle emberParticlePrefab;
// Token: 0x0400B506 RID: 46342
[global::Cpp2IlInjected.FieldOffset(Offset = "0xD0")]
[Token(Token = "0x400B506")]
private PooledParticle JLCCJAIAGFG;
// Token: 0x0400B507 RID: 46343
[global::Cpp2IlInjected.FieldOffset(Offset = "0xD8")]
[Token(Token = "0x400B507")]
[SerializeField]
private float beamLength = 15f;
// Token: 0x0400B508 RID: 46344
[global::Cpp2IlInjected.FieldOffset(Offset = "0xDC")]
[Token(Token = "0x400B508")]
[SerializeField]
private float beamWidth = 0.25f;
// Token: 0x0400B509 RID: 46345
[global::Cpp2IlInjected.FieldOffset(Offset = "0xE0")]
[Token(Token = "0x400B509")]
[SerializeField]
private float beamExtendLerpSpeed = 10f;
// Token: 0x0400B50A RID: 46346
[global::Cpp2IlInjected.FieldOffset(Offset = "0xE8")]
[Token(Token = "0x400B50A")]
[Tooltip("This is a multiplier over time (set to repeat)")]
public AnimationCurve BeamWidthNoise;
// Token: 0x0400B50B RID: 46347
[global::Cpp2IlInjected.FieldOffset(Offset = "0xF0")]
[Token(Token = "0x400B50B")]
public RecRoomAudioClip FireLoop;
// Token: 0x0400B50C RID: 46348
[global::Cpp2IlInjected.FieldOffset(Offset = "0xF8")]
[Token(Token = "0x400B50C")]
public RecRoomAudioClip ImpactSFX;
// Token: 0x0400B50D RID: 46349
[global::Cpp2IlInjected.FieldOffset(Offset = "0x100")]
[Token(Token = "0x400B50D")]
private SFXAudioSource ODDIDOIDLHB;
}
}