Files
niko c12fbe3fc6 m
2026-04-12 16:51:38 +02:00

259 lines
7.1 KiB
C#

using System;
using Cpp2IlInjected;
using RecRoom.Core.AI;
using RecRoom.Core.Pools;
using UnityEngine;
namespace RecRoom.Tools.Weapons
{
// Token: 0x02002C39 RID: 11321
[Token(Token = "0x2002C39")]
public class BeamTrap : Trap
{
// Token: 0x06012E4E RID: 77390 RVA: 0x0044DB64 File Offset: 0x0044BD64
[Token(Token = "0x6012E4E")]
[Address(RVA = "0x1872790", Offset = "0x1871790", VA = "0x181872790", Slot = "13")]
protected override void Awake()
{
base.Awake();
}
// Token: 0x06012E4F RID: 77391 RVA: 0x0044DB78 File Offset: 0x0044BD78
[Token(Token = "0x6012E4F")]
[Address(RVA = "0x18733D0", Offset = "0x18723D0", VA = "0x1818733D0", 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 = ADIFCODGAML.ICPMHNDIIFK(this, action);
}
// Token: 0x06012E50 RID: 77392 RVA: 0x0044DBC8 File Offset: 0x0044BDC8
[Token(Token = "0x6012E50")]
[Address(RVA = "0x1873340", Offset = "0x1872340", VA = "0x181873340")]
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: 0x06012E51 RID: 77393 RVA: 0x0044DBFC File Offset: 0x0044BDFC
[Token(Token = "0x6012E51")]
[Address(RVA = "0x18732E0", Offset = "0x18722E0", VA = "0x1818732E0")]
protected void OnDisable()
{
AudioManager.StopLoopingSFX(this.ODDIDOIDLHB);
}
// Token: 0x06012E52 RID: 77394 RVA: 0x0044DC14 File Offset: 0x0044BE14
[Token(Token = "0x6012E52")]
[Address(RVA = "0x18727A0", Offset = "0x18717A0", VA = "0x1818727A0")]
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;
Collider collider;
Player player = collider.PKPLHJFDDKE(num6);
int num7 = 0;
if (player != num7)
{
float z3 = Vector3.zero.z;
float z4 = Vector3.zero.z;
int num8 = 0;
Rigidbody rigidbody;
if (rigidbody != num8)
{
}
Collider collider2;
GameObject gameObject = collider2.gameObject;
int num9 = 0;
base.IAJAHFJCPIP(player, (Player.GAHEJKDCLLE)num9, num5);
}
Collider collider3;
Tool tool = collider3.AMKJBLIFHPB();
int num10 = 0;
if (tool != num10)
{
float z5 = Vector3.zero.z;
float z6 = Vector3.zero.z;
int num11 = 0;
Rigidbody rigidbody2;
if (rigidbody2 != num11)
{
}
Collider collider4;
GameObject gameObject2 = collider4.gameObject;
int num12 = 0;
base.FBNMOCOCJCJ(tool, num12);
}
int num13 = 0;
Collider collider5;
Enemy enemy = collider5.PABDAFCMNCK(num13);
int num14 = 0;
if (enemy != num14)
{
float z7 = Vector3.zero.z;
float z8 = Vector3.zero.z;
int num15 = 0;
Rigidbody rigidbody3;
if (rigidbody3 != num15)
{
}
Collider collider6;
GameObject gameObject3 = collider6.gameObject;
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: 0x06012E53 RID: 77395 RVA: 0x0044DE20 File Offset: 0x0044C020
[Token(Token = "0x6012E53")]
[Address(RVA = "0x18731A0", Offset = "0x18721A0", VA = "0x1818731A0", 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: 0x06012E54 RID: 77396 RVA: 0x0044DE84 File Offset: 0x0044C084
[Token(Token = "0x6012E54")]
[Address(RVA = "0x1873490", Offset = "0x1872490", VA = "0x181873490")]
public BeamTrap()
{
}
// Token: 0x0400C26F RID: 49775
[FieldOffset(Offset = "0xA8")]
[Token(Token = "0x400C26F")]
[SerializeField]
[Header("Beam")]
private Transform origin;
// Token: 0x0400C270 RID: 49776
[FieldOffset(Offset = "0xB0")]
[Token(Token = "0x400C270")]
[SerializeField]
private Transform beam;
// Token: 0x0400C271 RID: 49777
[FieldOffset(Offset = "0xB8")]
[Token(Token = "0x400C271")]
[SerializeField]
private PooledParticle impactParticlePrefab;
// Token: 0x0400C272 RID: 49778
[FieldOffset(Offset = "0xC0")]
[Token(Token = "0x400C272")]
private PooledParticle KNANGBCNMAF;
// Token: 0x0400C273 RID: 49779
[FieldOffset(Offset = "0xC8")]
[Token(Token = "0x400C273")]
[SerializeField]
private PooledParticle emberParticlePrefab;
// Token: 0x0400C274 RID: 49780
[FieldOffset(Offset = "0xD0")]
[Token(Token = "0x400C274")]
private PooledParticle JLCCJAIAGFG;
// Token: 0x0400C275 RID: 49781
[FieldOffset(Offset = "0xD8")]
[Token(Token = "0x400C275")]
[SerializeField]
private float beamLength = 15f;
// Token: 0x0400C276 RID: 49782
[FieldOffset(Offset = "0xDC")]
[Token(Token = "0x400C276")]
[SerializeField]
private float beamWidth = 0.25f;
// Token: 0x0400C277 RID: 49783
[FieldOffset(Offset = "0xE0")]
[Token(Token = "0x400C277")]
[SerializeField]
private float beamExtendLerpSpeed = 10f;
// Token: 0x0400C278 RID: 49784
[FieldOffset(Offset = "0xE8")]
[Token(Token = "0x400C278")]
[Tooltip("This is a multiplier over time (set to repeat)")]
public AnimationCurve BeamWidthNoise;
// Token: 0x0400C279 RID: 49785
[FieldOffset(Offset = "0xF0")]
[Token(Token = "0x400C279")]
public RecRoomAudioClip FireLoop;
// Token: 0x0400C27A RID: 49786
[FieldOffset(Offset = "0xF8")]
[Token(Token = "0x400C27A")]
public RecRoomAudioClip ImpactSFX;
// Token: 0x0400C27B RID: 49787
[FieldOffset(Offset = "0x100")]
[Token(Token = "0x400C27B")]
private SFXAudioSource ODDIDOIDLHB;
}
}