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

612 lines
16 KiB
C#

using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using Photon.Pun;
using RecRoom.Core.AI;
using RecRoom.Core.Pools;
using RecRoom.Networking.SynchronizedFields;
using UnityEngine;
// Token: 0x020000CD RID: 205
[Token(Token = "0x20000CD")]
[RequireComponent(typeof(Steering))]
[RequireComponent(typeof(PhotonView))]
[StructLayout(3)]
public class LaserTrap : Trap
{
// Token: 0x170000C8 RID: 200
// (get) Token: 0x06000566 RID: 1382 RVA: 0x0001B688 File Offset: 0x00019888
[Token(Token = "0x170000C8")]
private int CGLNIBDDDOL
{
[Token(Token = "0x6000566")]
[Address(RVA = "0x1256730", Offset = "0x1255130", VA = "0x181256730")]
get
{
return this.JLIENGKKKMM.Get1();
}
}
// Token: 0x170000C9 RID: 201
// (get) Token: 0x06000567 RID: 1383 RVA: 0x0001B6A8 File Offset: 0x000198A8
[Token(Token = "0x170000C9")]
private int AEJNEFKOJJC
{
[Token(Token = "0x6000567")]
[Address(RVA = "0x1256F10", Offset = "0x1255910", VA = "0x181256F10")]
get
{
return this.JLIENGKKKMM.Get2();
}
}
// Token: 0x170000CA RID: 202
// (get) Token: 0x06000568 RID: 1384 RVA: 0x0001B6C8 File Offset: 0x000198C8
[Token(Token = "0x170000CA")]
private int CAJGLFMJBIC
{
[Token(Token = "0x6000568")]
[Address(RVA = "0x12573F0", Offset = "0x1255DF0", VA = "0x1812573F0")]
get
{
int num = this.initialNodeIndex;
Transform[] array = this.targetPath;
if (num < array.Length)
{
return num;
}
return 0;
}
}
// Token: 0x06000569 RID: 1385 RVA: 0x0001B6F8 File Offset: 0x000198F8
[Token(Token = "0x6000569")]
[Address(RVA = "0x12561F0", Offset = "0x1254BF0", VA = "0x1812561F0", 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);
SynchronizedField<int, int> synchronizedField;
this.JLIENGKKKMM = synchronizedField;
}
// Token: 0x0600056A RID: 1386 RVA: 0x0001B750 File Offset: 0x00019950
[Token(Token = "0x600056A")]
[Address(RVA = "0x1257F40", Offset = "0x1256940", VA = "0x181257F40", Slot = "15")]
protected override void Start()
{
base.Start();
this.JHBLEPIBGBJ();
if (base.hasAuthority)
{
this.AHNPPGHNCFA();
return;
}
}
// Token: 0x0600056B RID: 1387 RVA: 0x0001B77C File Offset: 0x0001997C
[Token(Token = "0x600056B")]
[Address(RVA = "0x1257650", Offset = "0x1256050", VA = "0x181257650", Slot = "14")]
protected override void OnDestroy()
{
base.OnDestroy();
this.ENFOBANIEAA();
this.KNANGBCNMAF = (ulong)0L;
}
// Token: 0x0600056C RID: 1388 RVA: 0x0001B7A0 File Offset: 0x000199A0
[Token(Token = "0x600056C")]
[Address(RVA = "0x1257F80", Offset = "0x1256980", VA = "0x181257F80")]
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: 0x0600056D RID: 1389 RVA: 0x0001B7F8 File Offset: 0x000199F8
[Token(Token = "0x600056D")]
[Address(RVA = "0x1257300", Offset = "0x1255D00", VA = "0x181257300", Slot = "17")]
protected override void MKBHMJKBMIB()
{
base.MKBHMJKBMIB();
if (!base.PAJGCGDFHKK)
{
this.ENFOBANIEAA();
return;
}
if (base.hasAuthority)
{
int num = this.initialNodeIndex;
SynchronizedField<int, int> jliengkkkmm = this.JLIENGKKKMM;
Transform[] array = this.targetPath;
if (num < array.Length)
{
}
int num2 = 0;
Transform[] array2 = this.targetPath;
int num3 = 0;
jliengkkkmm.Set(num2, num3);
Transform transform = base.transform;
Quaternion dndpeablhkg = this.DNDPEABLHKG;
transform.rotation = dndpeablhkg;
}
this.DJFFFANBFBG();
}
// Token: 0x0600056E RID: 1390 RVA: 0x0001B880 File Offset: 0x00019A80
[Token(Token = "0x600056E")]
[Address(RVA = "0x12579A0", Offset = "0x12563A0", VA = "0x1812579A0")]
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);
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: 0x0600056F RID: 1391 RVA: 0x0001B940 File Offset: 0x00019B40
[Token(Token = "0x600056F")]
[Address(RVA = "0x1256780", Offset = "0x1255180", VA = "0x181256780")]
private bool HKCLHNENCOJ(RaycastHit PAOKLBNMNFL)
{
int num = 0;
Player player;
if (player != num)
{
Vector3 zero = Vector3.zero;
float z = Vector3.zero.z;
bool flag;
if (flag)
{
}
}
return true;
}
// Token: 0x06000570 RID: 1392 RVA: 0x0001B97C File Offset: 0x00019B7C
[Token(Token = "0x6000570")]
[Address(RVA = "0x1256A50", Offset = "0x1255450", VA = "0x181256A50")]
private void JHBLEPIBGBJ()
{
Steering ejphofnoglo = this.EJPHOFNOGLO;
float num = this.rotationSpeed;
ejphofnoglo.<OOLHFDEHLCG>k__BackingField = num;
Transform[] array = this.targetPath;
int num2 = this.JLIENGKKKMM.Get1();
int num3 = this.JLIENGKKKMM.Get1();
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.Get1();
Transform transform = array3[num7];
Transform transform2 = base.transform;
Vector3 vector;
float z = vector.z;
if (this.laserRotationMode == LaserTrap.DKGLJNEEABE.PARALLEL)
{
}
}
}
// Token: 0x06000571 RID: 1393 RVA: 0x0001BA64 File Offset: 0x00019C64
[Token(Token = "0x6000571")]
[Address(RVA = "0x1257080", Offset = "0x1255A80", VA = "0x181257080")]
private Vector3 LECMFJKMBMF(int HKJKICFLEAE)
{
Vector3 vector;
float z = vector.z;
Vector3 vector2;
float z2 = vector2.z;
Vector3 vector3;
float z3 = vector3.z;
throw new NullReferenceException();
}
// Token: 0x06000572 RID: 1394 RVA: 0x0001BA94 File Offset: 0x00019C94
[Token(Token = "0x6000572")]
[Address(RVA = "0x12560F0", Offset = "0x1254AF0", VA = "0x1812560F0")]
private void AHNPPGHNCFA()
{
LaserTrap.IODDFAHCJFH ioddfahcjfh = this.pathingMode;
float num = this.slowdownAngle;
if (ioddfahcjfh != LaserTrap.IODDFAHCJFH.LOOP && ioddfahcjfh == LaserTrap.IODDFAHCJFH.PING_PONG && this.JLIENGKKKMM.Get1() > 0)
{
int num2 = this.JLIENGKKKMM.Get1();
int length = this.targetPath.Length;
if (num2 < length)
{
}
}
Steering ejphofnoglo = this.EJPHOFNOGLO;
Quaternion dndpeablhkg = this.DNDPEABLHKG;
ejphofnoglo.Look(dndpeablhkg, num, 0.1f);
}
// Token: 0x06000573 RID: 1395 RVA: 0x0001BB08 File Offset: 0x00019D08
[Token(Token = "0x6000573")]
[Address(RVA = "0x1257430", Offset = "0x1255E30", VA = "0x181257430")]
private void NDNJFMDJOOL()
{
int num = this.JLIENGKKKMM.Get1();
int num2 = this.JLIENGKKKMM.Get2();
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.Get1();
SynchronizedField<int, int> jliengkkkmm = this.JLIENGKKKMM;
int num6 = this.JLIENGKKKMM.Get1();
}
// Token: 0x06000574 RID: 1396 RVA: 0x0001BB90 File Offset: 0x00019D90
[Token(Token = "0x6000574")]
[Address(RVA = "0x1256F60", Offset = "0x1255960", VA = "0x181256F60")]
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: 0x06000575 RID: 1397 RVA: 0x0001BBE4 File Offset: 0x00019DE4
[Token(Token = "0x6000575")]
[Address(RVA = "0x1256A20", Offset = "0x1255420", VA = "0x181256A20")]
private int IFNBKBIFDJG(int CKDLPAGEAJH)
{
Transform[] array = this.targetPath;
int num = CKDLPAGEAJH + 1;
return CKDLPAGEAJH;
}
// Token: 0x06000576 RID: 1398 RVA: 0x0001BC08 File Offset: 0x00019E08
[Token(Token = "0x6000576")]
[Address(RVA = "0x1256300", Offset = "0x1254D00", VA = "0x181256300")]
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: 0x06000577 RID: 1399 RVA: 0x0001BC38 File Offset: 0x00019E38
[Token(Token = "0x6000577")]
[Address(RVA = "0x12563F0", Offset = "0x1254DF0", VA = "0x1812563F0")]
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: 0x06000578 RID: 1400 RVA: 0x0001BCEC File Offset: 0x00019EEC
[Token(Token = "0x6000578")]
[Address(RVA = "0x12565E0", Offset = "0x1254FE0", VA = "0x1812565E0")]
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: 0x06000579 RID: 1401 RVA: 0x0001BD54 File Offset: 0x00019F54
[Token(Token = "0x6000579")]
[Address(RVA = "0x1257680", Offset = "0x1256080", VA = "0x181257680")]
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: 0x0600057A RID: 1402 RVA: 0x0001BE1C File Offset: 0x0001A01C
[Token(Token = "0x600057A")]
[Address(RVA = "0x12580D0", Offset = "0x1256AD0", VA = "0x1812580D0")]
public LaserTrap()
{
Quaternion identity = Quaternion.identity;
LMGJGGMGNCG lmgjggmgncg = new LMGJGGMGNCG();
this.FHMMMGLHBFN = lmgjggmgncg;
base..ctor();
}
// Token: 0x0600057B RID: 1403 RVA: 0x0001BE64 File Offset: 0x0001A064
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600057B")]
[Address(RVA = "0x1258010", Offset = "0x1256A10", VA = "0x181258010")]
static LaserTrap()
{
float z = Vector3.one.z;
Vector3 vector;
float z2 = vector.z;
}
// Token: 0x040004AB RID: 1195
[global::Cpp2IlInjected.FieldOffset(Offset = "0xA8")]
[Token(Token = "0x40004AB")]
[SerializeField]
[Header("Laser")]
private Transform[] lasers;
// Token: 0x040004AC RID: 1196
[global::Cpp2IlInjected.FieldOffset(Offset = "0xB0")]
[Token(Token = "0x40004AC")]
[SerializeField]
private float maxLaserLength = 10f;
// Token: 0x040004AD RID: 1197
[global::Cpp2IlInjected.FieldOffset(Offset = "0xB4")]
[Token(Token = "0x40004AD")]
[SerializeField]
private float rotationSpeed = 30f;
// Token: 0x040004AE RID: 1198
[global::Cpp2IlInjected.FieldOffset(Offset = "0xB8")]
[Token(Token = "0x40004AE")]
[SerializeField]
private float slowdownAngle = 5f;
// Token: 0x040004AF RID: 1199
[global::Cpp2IlInjected.FieldOffset(Offset = "0xC0")]
[Token(Token = "0x40004AF")]
[SerializeField]
[Header("Path")]
private Transform[] targetPath;
// Token: 0x040004B0 RID: 1200
[global::Cpp2IlInjected.FieldOffset(Offset = "0xC8")]
[Token(Token = "0x40004B0")]
[SerializeField]
private int initialNodeIndex;
// Token: 0x040004B1 RID: 1201
[global::Cpp2IlInjected.FieldOffset(Offset = "0xCC")]
[Token(Token = "0x40004B1")]
[SerializeField]
private LaserTrap.IODDFAHCJFH pathingMode;
// Token: 0x040004B2 RID: 1202
[global::Cpp2IlInjected.FieldOffset(Offset = "0xD0")]
[Token(Token = "0x40004B2")]
[SerializeField]
private LaserTrap.DKGLJNEEABE laserRotationMode;
// Token: 0x040004B3 RID: 1203
[global::Cpp2IlInjected.FieldOffset(Offset = "0xD8")]
[Token(Token = "0x40004B3")]
[SerializeField]
[Header("Feedback")]
private PooledParticle impactParticlePrefab;
// Token: 0x040004B4 RID: 1204
[Token(Token = "0x40004B4")]
private static readonly RaycastHit[] OLMBGBHCKGG = new RaycastHit[8];
// Token: 0x040004B5 RID: 1205
[global::Cpp2IlInjected.FieldOffset(Offset = "0xE0")]
[Token(Token = "0x40004B5")]
private SynchronizedField<int, int> JLIENGKKKMM;
// Token: 0x040004B6 RID: 1206
[global::Cpp2IlInjected.FieldOffset(Offset = "0xE8")]
[Token(Token = "0x40004B6")]
private Steering EJPHOFNOGLO;
// Token: 0x040004B7 RID: 1207
[global::Cpp2IlInjected.FieldOffset(Offset = "0xF0")]
[Token(Token = "0x40004B7")]
private Quaternion DNDPEABLHKG;
// Token: 0x040004B8 RID: 1208
[global::Cpp2IlInjected.FieldOffset(Offset = "0x100")]
[Token(Token = "0x40004B8")]
private LMGJGGMGNCG FHMMMGLHBFN;
// Token: 0x040004B9 RID: 1209
[global::Cpp2IlInjected.FieldOffset(Offset = "0x108")]
[Token(Token = "0x40004B9")]
private PooledParticle[] KNANGBCNMAF;
// Token: 0x040004BA RID: 1210
[Token(Token = "0x40004BA")]
private static Vector3 NDNGAFCPDCG;
// Token: 0x020000CE RID: 206
[Token(Token = "0x20000CE")]
private enum IODDFAHCJFH
{
// Token: 0x040004BC RID: 1212
[Token(Token = "0x40004BC")]
PING_PONG,
// Token: 0x040004BD RID: 1213
[Token(Token = "0x40004BD")]
PING_PONG_STOP_AT_EACH_NODE,
// Token: 0x040004BE RID: 1214
[Token(Token = "0x40004BE")]
LOOP,
// Token: 0x040004BF RID: 1215
[Token(Token = "0x40004BF")]
LOOP_STOP_AT_EACH_NODE
}
// Token: 0x020000CF RID: 207
[Token(Token = "0x20000CF")]
private enum DKGLJNEEABE
{
// Token: 0x040004C1 RID: 1217
[Token(Token = "0x40004C1")]
PARALLEL,
// Token: 0x040004C2 RID: 1218
[Token(Token = "0x40004C2")]
PERPENDICULAR
}
}