Files
niko c12fbe3fc6 m
2026-04-12 16:51:38 +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: 0x00017B84 File Offset: 0x00015D84
[Token(Token = "0x170000AC")]
private int CGLNIBDDDOL
{
[Token(Token = "0x6000478")]
[Address(RVA = "0x1406370", Offset = "0x1405370", VA = "0x181406370")]
get
{
return this.JLIENGKKKMM.KLIAOAJIPKM();
}
}
// Token: 0x170000AD RID: 173
// (get) Token: 0x06000479 RID: 1145 RVA: 0x00017BA4 File Offset: 0x00015DA4
[Token(Token = "0x170000AD")]
private int AEJNEFKOJJC
{
[Token(Token = "0x6000479")]
[Address(RVA = "0x1406B50", Offset = "0x1405B50", VA = "0x181406B50")]
get
{
return this.JLIENGKKKMM.HHKKJDOCBNH();
}
}
// Token: 0x170000AE RID: 174
// (get) Token: 0x0600047A RID: 1146 RVA: 0x00017BC4 File Offset: 0x00015DC4
[Token(Token = "0x170000AE")]
private int CAJGLFMJBIC
{
[Token(Token = "0x600047A")]
[Address(RVA = "0x1407040", Offset = "0x1406040", VA = "0x181407040")]
get
{
int num = this.initialNodeIndex;
Transform[] array = this.targetPath;
if (num < array.Length)
{
return num;
}
return 0;
}
}
// Token: 0x0600047B RID: 1147 RVA: 0x00017BF4 File Offset: 0x00015DF4
[Token(Token = "0x600047B")]
[Address(RVA = "0x1405E30", Offset = "0x1404E30", VA = "0x181405E30", 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: 0x00017C4C File Offset: 0x00015E4C
[Token(Token = "0x600047C")]
[Address(RVA = "0x1407B90", Offset = "0x1406B90", VA = "0x181407B90", Slot = "15")]
protected override void Start()
{
base.Start();
this.JHBLEPIBGBJ();
if (base.OGIBLNIIHDK)
{
this.AHNPPGHNCFA();
return;
}
}
// Token: 0x0600047D RID: 1149 RVA: 0x00017C78 File Offset: 0x00015E78
[Token(Token = "0x600047D")]
[Address(RVA = "0x14072A0", Offset = "0x14062A0", VA = "0x1814072A0", Slot = "14")]
protected override void OnDestroy()
{
base.OnDestroy();
this.ENFOBANIEAA();
this.KNANGBCNMAF = (ulong)0L;
}
// Token: 0x0600047E RID: 1150 RVA: 0x00017C9C File Offset: 0x00015E9C
[Token(Token = "0x600047E")]
[Address(RVA = "0x1407BD0", Offset = "0x1406BD0", VA = "0x181407BD0")]
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: 0x00017CF4 File Offset: 0x00015EF4
[Token(Token = "0x600047F")]
[Address(RVA = "0x1406F40", Offset = "0x1405F40", VA = "0x181406F40", 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, true);
Transform transform = base.transform;
Quaternion dndpeablhkg = this.DNDPEABLHKG;
transform.rotation = dndpeablhkg;
}
this.DJFFFANBFBG();
}
// Token: 0x06000480 RID: 1152 RVA: 0x00017D7C File Offset: 0x00015F7C
[Token(Token = "0x6000480")]
[Address(RVA = "0x14075F0", Offset = "0x14065F0", VA = "0x1814075F0")]
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: 0x00017E48 File Offset: 0x00016048
[Token(Token = "0x6000481")]
[Address(RVA = "0x14063C0", Offset = "0x14053C0", VA = "0x1814063C0")]
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: 0x00017EC0 File Offset: 0x000160C0
[Token(Token = "0x6000482")]
[Address(RVA = "0x1406690", Offset = "0x1405690", VA = "0x181406690")]
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: 0x00017FA0 File Offset: 0x000161A0
[Token(Token = "0x6000483")]
[Address(RVA = "0x1406CC0", Offset = "0x1405CC0", VA = "0x181406CC0")]
private Vector3 LECMFJKMBMF(int HKJKICFLEAE)
{
Vector3 vector;
float z = vector.z;
throw new NullReferenceException();
}
// Token: 0x06000484 RID: 1156 RVA: 0x00017FC0 File Offset: 0x000161C0
[Token(Token = "0x6000484")]
[Address(RVA = "0x1405D30", Offset = "0x1404D30", VA = "0x181405D30")]
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: 0x00018034 File Offset: 0x00016234
[Token(Token = "0x6000485")]
[Address(RVA = "0x1407080", Offset = "0x1406080", VA = "0x181407080")]
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: 0x000180BC File Offset: 0x000162BC
[Token(Token = "0x6000486")]
[Address(RVA = "0x1406BA0", Offset = "0x1405BA0", VA = "0x181406BA0")]
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: 0x00018110 File Offset: 0x00016310
[Token(Token = "0x6000487")]
[Address(RVA = "0x1406660", Offset = "0x1405660", VA = "0x181406660")]
private int IFNBKBIFDJG(int CKDLPAGEAJH)
{
Transform[] array = this.targetPath;
int num = CKDLPAGEAJH + 1;
return CKDLPAGEAJH;
}
// Token: 0x06000488 RID: 1160 RVA: 0x00018134 File Offset: 0x00016334
[Token(Token = "0x6000488")]
[Address(RVA = "0x1405F40", Offset = "0x1404F40", VA = "0x181405F40")]
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: 0x00018164 File Offset: 0x00016364
[Token(Token = "0x6000489")]
[Address(RVA = "0x1406030", Offset = "0x1405030", VA = "0x181406030")]
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: 0x00018218 File Offset: 0x00016418
[Token(Token = "0x600048A")]
[Address(RVA = "0x1406220", Offset = "0x1405220", VA = "0x181406220")]
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: 0x00018280 File Offset: 0x00016480
[Token(Token = "0x600048B")]
[Address(RVA = "0x14072D0", Offset = "0x14062D0", VA = "0x1814072D0")]
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: 0x00018348 File Offset: 0x00016548
[Token(Token = "0x600048C")]
[Address(RVA = "0x1407D20", Offset = "0x1406D20", VA = "0x181407D20")]
public LaserTrap()
{
Quaternion identity = Quaternion.identity;
LMGJGGMGNCG lmgjggmgncg = new LMGJGGMGNCG();
this.FHMMMGLHBFN = lmgjggmgncg;
base..ctor();
}
// Token: 0x0600048D RID: 1165 RVA: 0x00018390 File Offset: 0x00016590
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600048D")]
[Address(RVA = "0x1407C60", Offset = "0x1406C60", VA = "0x181407C60")]
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
}
}