Files
2026-04-10 22:50:51 +02:00

613 lines
16 KiB
C#

using System;
using Cpp2IlInjected;
using Photon.Pun;
using RecRoom.Core.AI;
using RecRoom.Core.Pools;
using UnityEngine;
// Token: 0x020000AB RID: 171
[Token(Token = "0x20000AB")]
[RequireComponent(typeof(PhotonView))]
[RequireComponent(typeof(Steering))]
public class LaserTrap : Trap
{
// Token: 0x170000AC RID: 172
// (get) Token: 0x06000478 RID: 1144 RVA: 0x00017BF0 File Offset: 0x00015DF0
[Token(Token = "0x170000AC")]
private int CGLNIBDDDOL
{
[Token(Token = "0x6000478")]
[Address(RVA = "0x916C30", Offset = "0x915A30", VA = "0x180916C30")]
get
{
return this.JLIENGKKKMM.KLIAOAJIPKM();
}
}
// Token: 0x170000AD RID: 173
// (get) Token: 0x06000479 RID: 1145 RVA: 0x00017C10 File Offset: 0x00015E10
[Token(Token = "0x170000AD")]
private int AEJNEFKOJJC
{
[Token(Token = "0x6000479")]
[Address(RVA = "0x917410", Offset = "0x916210", VA = "0x180917410")]
get
{
return this.JLIENGKKKMM.HHKKJDOCBNH();
}
}
// Token: 0x170000AE RID: 174
// (get) Token: 0x0600047A RID: 1146 RVA: 0x00017C30 File Offset: 0x00015E30
[Token(Token = "0x170000AE")]
private int CAJGLFMJBIC
{
[Token(Token = "0x600047A")]
[Address(RVA = "0x9178F0", Offset = "0x9166F0", VA = "0x1809178F0")]
get
{
int num = this.initialNodeIndex;
Transform[] array = this.targetPath;
if (num < array.Length)
{
return num;
}
return 0;
}
}
// Token: 0x0600047B RID: 1147 RVA: 0x00017C60 File Offset: 0x00015E60
[Token(Token = "0x600047B")]
[Address(RVA = "0x9166F0", Offset = "0x9154F0", VA = "0x1809166F0", Slot = "13")]
protected override void Awake()
{
base.Awake();
Steering component = base.GetComponent<Steering>();
int num = this.initialNodeIndex;
this.EJPHOFNOGLO = component;
Transform[] array = this.targetPath;
if (num < array.Length)
{
}
Action action = new Action(this.JHBLEPIBGBJ);
NMIGJEKFNME<int, int> nmigjekfnme;
this.JLIENGKKKMM = nmigjekfnme;
}
// Token: 0x0600047C RID: 1148 RVA: 0x00017CB8 File Offset: 0x00015EB8
[Token(Token = "0x600047C")]
[Address(RVA = "0x918440", Offset = "0x917240", VA = "0x180918440", Slot = "15")]
protected override void Start()
{
base.Start();
this.JHBLEPIBGBJ();
if (base.OGIBLNIIHDK)
{
this.AHNPPGHNCFA();
return;
}
}
// Token: 0x0600047D RID: 1149 RVA: 0x00017CE4 File Offset: 0x00015EE4
[Token(Token = "0x600047D")]
[Address(RVA = "0x917B50", Offset = "0x916950", VA = "0x180917B50", Slot = "14")]
protected override void OnDestroy()
{
base.OnDestroy();
this.ENFOBANIEAA();
this.KNANGBCNMAF = (ulong)0L;
}
// Token: 0x0600047E RID: 1150 RVA: 0x00017D08 File Offset: 0x00015F08
[Token(Token = "0x600047E")]
[Address(RVA = "0x918480", Offset = "0x917280", VA = "0x180918480")]
private void Update()
{
int num = 0;
Transform[] array = this.lasers;
Transform[] array2;
if (num < array.Length)
{
this.PKLFMHOPBHI(num);
array2 = this.lasers;
num++;
}
if (array2 != 0)
{
if (this.EJPHOFNOGLO.<LPHAFHCNEDO>k__BackingField)
{
this.NDNJFMDJOOL();
}
this.AHNPPGHNCFA();
}
}
// Token: 0x0600047F RID: 1151 RVA: 0x00017D60 File Offset: 0x00015F60
[Token(Token = "0x600047F")]
[Address(RVA = "0x917800", Offset = "0x916600", VA = "0x180917800", Slot = "17")]
protected override void MKBHMJKBMIB()
{
base.MKBHMJKBMIB();
if (!base.PAJGCGDFHKK)
{
this.ENFOBANIEAA();
return;
}
if (base.OGIBLNIIHDK)
{
int num = this.initialNodeIndex;
NMIGJEKFNME<int, int> jliengkkkmm = this.JLIENGKKKMM;
Transform[] array = this.targetPath;
if (num < array.Length)
{
}
int num2 = 0;
Transform[] array2 = this.targetPath;
int num3 = 0;
jliengkkkmm.BDJFGEJFPPO(num2, num3);
Transform transform = base.transform;
Quaternion dndpeablhkg = this.DNDPEABLHKG;
transform.rotation = dndpeablhkg;
}
this.DJFFFANBFBG();
}
// Token: 0x06000480 RID: 1152 RVA: 0x00017DE8 File Offset: 0x00015FE8
[Token(Token = "0x6000480")]
[Address(RVA = "0x917EA0", Offset = "0x916CA0", VA = "0x180917EA0")]
private void PKLFMHOPBHI(int EOAGCAJJILD)
{
Transform[] array = this.lasers;
int length = array.Length;
if (EOAGCAJJILD < length)
{
Transform transform = array[EOAGCAJJILD];
int num = 0;
int num2;
if (num2 > 0)
{
RaycastHit[] olmbgbhckgg = LaserTrap.OLMBGBHCKGG;
}
if (num2 > 0)
{
RaycastHit[] olmbgbhckgg2 = LaserTrap.OLMBGBHCKGG;
long num3 = (long)((ulong)num * (ulong)44L);
bool flag;
if (flag)
{
goto IL_63;
}
num++;
}
PooledParticle[] knangbcnmaf = this.KNANGBCNMAF;
if (knangbcnmaf == 0 || EOAGCAJJILD >= knangbcnmaf.Length)
{
return;
}
IL_63:
RaycastHit[] olmbgbhckgg3 = LaserTrap.OLMBGBHCKGG;
long num4 = (long)((ulong)num * (ulong)44L);
Vector3 point = olmbgbhckgg3.point;
RaycastHit[] olmbgbhckgg4 = LaserTrap.OLMBGBHCKGG;
PooledParticle pooledParticle = knangbcnmaf[EOAGCAJJILD];
int num5 = 0;
if (pooledParticle != num5)
{
int num6 = 0;
pooledParticle.transform.position = num6;
Transform transform2 = pooledParticle.transform;
}
}
}
// Token: 0x06000481 RID: 1153 RVA: 0x00017EB4 File Offset: 0x000160B4
[Token(Token = "0x6000481")]
[Address(RVA = "0x916C80", Offset = "0x915A80", VA = "0x180916C80")]
private bool HKCLHNENCOJ(RaycastHit PAOKLBNMNFL)
{
float distance = PAOKLBNMNFL.distance;
if (distance <= distance)
{
int num = 0;
Player player = PAOKLBNMNFL.collider.PKPLHJFDDKE(num);
int num2 = 0;
if (player != num2)
{
Vector3 zero = Vector3.zero;
Vector3 zero2 = Vector3.zero;
Rigidbody rigidbody = PAOKLBNMNFL.rigidbody;
int num3 = 0;
if (rigidbody != num3)
{
Rigidbody rigidbody2 = PAOKLBNMNFL.rigidbody;
}
GameObject gameObject = PAOKLBNMNFL.collider.gameObject;
}
return true;
}
throw new NullReferenceException();
}
// Token: 0x06000482 RID: 1154 RVA: 0x00017F2C File Offset: 0x0001612C
[Token(Token = "0x6000482")]
[Address(RVA = "0x916F50", Offset = "0x915D50", VA = "0x180916F50")]
private void JHBLEPIBGBJ()
{
Steering ejphofnoglo = this.EJPHOFNOGLO;
float num = this.rotationSpeed;
ejphofnoglo.<OOLHFDEHLCG>k__BackingField = num;
Transform[] array = this.targetPath;
int num2 = this.JLIENGKKKMM.KLIAOAJIPKM();
int num3 = this.JLIENGKKKMM.KLIAOAJIPKM();
Transform[] array2 = this.targetPath;
if (num3 < array2.Length)
{
Vector3 up = Vector3.up;
if (this.targetPath.Length != 2)
{
if (this.CGLNIBDDDOL != 0)
{
int num4 = this.CGLNIBDDDOL;
int length = this.targetPath.Length;
if (num4 != length)
{
int num5 = this.CGLNIBDDDOL;
int num6 = this.CGLNIBDDDOL;
}
}
Vector3 up2 = Vector3.up;
}
Transform[] array3 = this.targetPath;
int num7 = this.JLIENGKKKMM.KLIAOAJIPKM();
Transform transform = array3[num7];
Transform transform2 = base.transform;
if (this.laserRotationMode == LaserTrap.DKGLJNEEABE.PARALLEL)
{
}
}
}
// Token: 0x06000483 RID: 1155 RVA: 0x0001800C File Offset: 0x0001620C
[Token(Token = "0x6000483")]
[Address(RVA = "0x917580", Offset = "0x916380", VA = "0x180917580")]
private Vector3 LECMFJKMBMF(int HKJKICFLEAE)
{
Vector3 vector;
float z = vector.z;
throw new NullReferenceException();
}
// Token: 0x06000484 RID: 1156 RVA: 0x0001802C File Offset: 0x0001622C
[Token(Token = "0x6000484")]
[Address(RVA = "0x9165F0", Offset = "0x9153F0", VA = "0x1809165F0")]
private void AHNPPGHNCFA()
{
LaserTrap.IODDFAHCJFH ioddfahcjfh = this.pathingMode;
float num = this.slowdownAngle;
if (ioddfahcjfh != LaserTrap.IODDFAHCJFH.LOOP && ioddfahcjfh == LaserTrap.IODDFAHCJFH.PING_PONG && this.JLIENGKKKMM.KLIAOAJIPKM() > 0)
{
int num2 = this.JLIENGKKKMM.KLIAOAJIPKM();
int length = this.targetPath.Length;
if (num2 < length)
{
}
}
Steering ejphofnoglo = this.EJPHOFNOGLO;
Quaternion dndpeablhkg = this.DNDPEABLHKG;
ejphofnoglo.Look(dndpeablhkg, num, 0.1f);
}
// Token: 0x06000485 RID: 1157 RVA: 0x000180A0 File Offset: 0x000162A0
[Token(Token = "0x6000485")]
[Address(RVA = "0x917930", Offset = "0x916730", VA = "0x180917930")]
private void NDNJFMDJOOL()
{
int num = this.JLIENGKKKMM.KLIAOAJIPKM();
int num2 = this.JLIENGKKKMM.HHKKJDOCBNH();
LaserTrap.IODDFAHCJFH ioddfahcjfh = this.pathingMode;
if (ioddfahcjfh <= LaserTrap.IODDFAHCJFH.PING_PONG_STOP_AT_EACH_NODE)
{
int length = this.targetPath.Length;
if (num != 0)
{
int num3 = length - 1;
if (num != num3)
{
num -= num2;
uint num4;
num += (int)num4;
}
}
}
if (ioddfahcjfh <= LaserTrap.IODDFAHCJFH.PING_PONG_STOP_AT_EACH_NODE)
{
Transform[] array = this.targetPath;
}
int num5 = this.JLIENGKKKMM.KLIAOAJIPKM();
NMIGJEKFNME<int, int> jliengkkkmm = this.JLIENGKKKMM;
int num6 = this.JLIENGKKKMM.KLIAOAJIPKM();
}
// Token: 0x06000486 RID: 1158 RVA: 0x00018128 File Offset: 0x00016328
[Token(Token = "0x6000486")]
[Address(RVA = "0x917460", Offset = "0x916260", VA = "0x180917460")]
private int KLHGEPIPNJL(int CKDLPAGEAJH, int EPELHDGENMK)
{
LaserTrap.IODDFAHCJFH ioddfahcjfh = this.pathingMode;
if (ioddfahcjfh <= LaserTrap.IODDFAHCJFH.PING_PONG_STOP_AT_EACH_NODE)
{
int length = this.targetPath.Length;
if (CKDLPAGEAJH != 0)
{
int num = length - 1;
if (CKDLPAGEAJH != num)
{
return CKDLPAGEAJH;
}
return CKDLPAGEAJH;
}
}
while (ioddfahcjfh > LaserTrap.IODDFAHCJFH.PING_PONG_STOP_AT_EACH_NODE)
{
}
Transform[] array = this.targetPath;
int num2 = CKDLPAGEAJH + 1;
return CKDLPAGEAJH;
}
// Token: 0x06000487 RID: 1159 RVA: 0x0001817C File Offset: 0x0001637C
[Token(Token = "0x6000487")]
[Address(RVA = "0x916F20", Offset = "0x915D20", VA = "0x180916F20")]
private int IFNBKBIFDJG(int CKDLPAGEAJH)
{
Transform[] array = this.targetPath;
int num = CKDLPAGEAJH + 1;
return CKDLPAGEAJH;
}
// Token: 0x06000488 RID: 1160 RVA: 0x000181A0 File Offset: 0x000163A0
[Token(Token = "0x6000488")]
[Address(RVA = "0x916800", Offset = "0x915600", VA = "0x180916800")]
private int CPGDAOCGDPJ(int CKDLPAGEAJH, int EPELHDGENMK)
{
int length = this.targetPath.Length;
if (CKDLPAGEAJH != 0)
{
int num = length - 1;
if (CKDLPAGEAJH != num)
{
uint num2;
num2 += (uint)CKDLPAGEAJH;
}
return num;
}
throw new NullReferenceException();
}
// Token: 0x06000489 RID: 1161 RVA: 0x000181D0 File Offset: 0x000163D0
[Token(Token = "0x6000489")]
[Address(RVA = "0x9168F0", Offset = "0x9156F0", VA = "0x1809168F0")]
private void DJFFFANBFBG()
{
this.ENFOBANIEAA();
PooledParticle[] knangbcnmaf = this.KNANGBCNMAF;
if (knangbcnmaf == 0)
{
PooledParticle[] array = new PooledParticle[this.lasers.Length];
this.KNANGBCNMAF = array;
}
int num = 0;
if (num < knangbcnmaf.Length)
{
GlobalPool instance = GlobalPool.ONCPNMDGGKG;
PooledParticle pooledParticle = this.impactParticlePrefab;
PooledParticle pooledParticle2 = instance.Acquire<PooledParticle>(pooledParticle);
throw new ArrayTypeMismatchException();
}
}
// Token: 0x0600048A RID: 1162 RVA: 0x00018284 File Offset: 0x00016484
[Token(Token = "0x600048A")]
[Address(RVA = "0x916AE0", Offset = "0x9158E0", VA = "0x180916AE0")]
private void ENFOBANIEAA()
{
PooledParticle[] knangbcnmaf = this.KNANGBCNMAF;
if (knangbcnmaf != 0)
{
int num = 0;
if (num < knangbcnmaf.Length)
{
PooledParticle pooledParticle = knangbcnmaf[num];
int num2 = 0;
if (pooledParticle != num2)
{
this.KNANGBCNMAF[num].Stop();
this.KNANGBCNMAF[0] = num;
}
PooledParticle[] knangbcnmaf2 = this.KNANGBCNMAF;
num++;
}
}
}
// Token: 0x0600048B RID: 1163 RVA: 0x000182EC File Offset: 0x000164EC
[Token(Token = "0x600048B")]
[Address(RVA = "0x917B80", Offset = "0x916980", VA = "0x180917B80")]
private void OnDrawGizmos()
{
Transform[] array = this.targetPath;
if (array != 0 && array.Length != 0)
{
int num = 0;
if (num < array.Length)
{
Color white = Color.white;
Transform transform = base.transform;
Vector3 vector;
float z = vector.z;
Transform transform2 = this.targetPath[num];
Vector3 vector2;
float z2 = vector2.z;
Color green = Color.green;
Transform transform3 = this.targetPath[num];
Vector3 vector3;
float z3 = vector3.z;
Transform[] array2 = this.targetPath;
int num2 = array2.Length - 1;
if (num < num2)
{
Transform transform4 = array2[num];
Vector3 vector4;
float z4 = vector4.z;
Transform[] array3 = this.targetPath;
Vector3 vector5;
float z5 = vector5.z;
}
num++;
}
}
}
// Token: 0x0600048C RID: 1164 RVA: 0x000183B4 File Offset: 0x000165B4
[Token(Token = "0x600048C")]
[Address(RVA = "0x9185D0", Offset = "0x9173D0", VA = "0x1809185D0")]
public LaserTrap()
{
Quaternion identity = Quaternion.identity;
LMGJGGMGNCG lmgjggmgncg = new LMGJGGMGNCG();
this.FHMMMGLHBFN = lmgjggmgncg;
base..ctor();
}
// Token: 0x0600048D RID: 1165 RVA: 0x000183FC File Offset: 0x000165FC
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600048D")]
[Address(RVA = "0x918510", Offset = "0x917310", VA = "0x180918510")]
static LaserTrap()
{
float z = Vector3.one.z;
Vector3 vector;
float z2 = vector.z;
}
// Token: 0x040003C5 RID: 965
[FieldOffset(Offset = "0xA8")]
[Token(Token = "0x40003C5")]
[SerializeField]
[Header("Laser")]
private Transform[] lasers;
// Token: 0x040003C6 RID: 966
[FieldOffset(Offset = "0xB0")]
[Token(Token = "0x40003C6")]
[SerializeField]
private float maxLaserLength = 10f;
// Token: 0x040003C7 RID: 967
[FieldOffset(Offset = "0xB4")]
[Token(Token = "0x40003C7")]
[SerializeField]
private float rotationSpeed = 30f;
// Token: 0x040003C8 RID: 968
[FieldOffset(Offset = "0xB8")]
[Token(Token = "0x40003C8")]
[SerializeField]
private float slowdownAngle = 5f;
// Token: 0x040003C9 RID: 969
[FieldOffset(Offset = "0xC0")]
[Token(Token = "0x40003C9")]
[SerializeField]
[Header("Path")]
private Transform[] targetPath;
// Token: 0x040003CA RID: 970
[FieldOffset(Offset = "0xC8")]
[Token(Token = "0x40003CA")]
[SerializeField]
private int initialNodeIndex;
// Token: 0x040003CB RID: 971
[FieldOffset(Offset = "0xCC")]
[Token(Token = "0x40003CB")]
[SerializeField]
private LaserTrap.IODDFAHCJFH pathingMode;
// Token: 0x040003CC RID: 972
[FieldOffset(Offset = "0xD0")]
[Token(Token = "0x40003CC")]
[SerializeField]
private LaserTrap.DKGLJNEEABE laserRotationMode;
// Token: 0x040003CD RID: 973
[FieldOffset(Offset = "0xD8")]
[Token(Token = "0x40003CD")]
[SerializeField]
[Header("Feedback")]
private PooledParticle impactParticlePrefab;
// Token: 0x040003CE RID: 974
[Token(Token = "0x40003CE")]
private static readonly RaycastHit[] OLMBGBHCKGG = new RaycastHit[8];
// Token: 0x040003CF RID: 975
[FieldOffset(Offset = "0xE0")]
[Token(Token = "0x40003CF")]
private NMIGJEKFNME<int, int> JLIENGKKKMM;
// Token: 0x040003D0 RID: 976
[FieldOffset(Offset = "0xE8")]
[Token(Token = "0x40003D0")]
private Steering EJPHOFNOGLO;
// Token: 0x040003D1 RID: 977
[FieldOffset(Offset = "0xF0")]
[Token(Token = "0x40003D1")]
private Quaternion DNDPEABLHKG;
// Token: 0x040003D2 RID: 978
[FieldOffset(Offset = "0x100")]
[Token(Token = "0x40003D2")]
private LMGJGGMGNCG FHMMMGLHBFN;
// Token: 0x040003D3 RID: 979
[FieldOffset(Offset = "0x108")]
[Token(Token = "0x40003D3")]
private PooledParticle[] KNANGBCNMAF;
// Token: 0x040003D4 RID: 980
[Token(Token = "0x40003D4")]
private static Vector3 NDNGAFCPDCG;
// Token: 0x020000AC RID: 172
[Token(Token = "0x20000AC")]
private enum IODDFAHCJFH
{
// Token: 0x040003D6 RID: 982
[Token(Token = "0x40003D6")]
PING_PONG,
// Token: 0x040003D7 RID: 983
[Token(Token = "0x40003D7")]
PING_PONG_STOP_AT_EACH_NODE,
// Token: 0x040003D8 RID: 984
[Token(Token = "0x40003D8")]
LOOP,
// Token: 0x040003D9 RID: 985
[Token(Token = "0x40003D9")]
LOOP_STOP_AT_EACH_NODE
}
// Token: 0x020000AD RID: 173
[Token(Token = "0x20000AD")]
private enum DKGLJNEEABE
{
// Token: 0x040003DB RID: 987
[Token(Token = "0x40003DB")]
PARALLEL,
// Token: 0x040003DC RID: 988
[Token(Token = "0x40003DC")]
PERPENDICULAR
}
}