315 lines
11 KiB
C#
315 lines
11 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Runtime.InteropServices;
|
|
using Cpp2IlInjected;
|
|
using Photon.Pun;
|
|
using RecRoom.Core.AI;
|
|
using UnityEngine;
|
|
|
|
namespace RecRoom.Core.Encounters
|
|
{
|
|
// Token: 0x02002AD0 RID: 10960
|
|
[Token(Token = "0x2002AD0")]
|
|
[StructLayout(3)]
|
|
public abstract class BaseSpawnEnemyEncounterStep : GameEncounterStep
|
|
{
|
|
// Token: 0x060132DE RID: 78558 RVA: 0x0049B2B4 File Offset: 0x004994B4
|
|
[Token(Token = "0x60132DE")]
|
|
[Address(RVA = "0x10AAC50", Offset = "0x10A9650", VA = "0x1810AAC50", Slot = "5")]
|
|
public override void OnAwake(GameEncounter ADDBMBCNBKJ, int PNNLJIGIFDL, MACMLJJGBIM GPPMEPEBADM, MACMLJJGBIM POLMFGOLNLC)
|
|
{
|
|
this.POLMFGOLNLC = 0;
|
|
this.ADDBMBCNBKJ = ADDBMBCNBKJ;
|
|
this.PNNLJIGIFDL = PNNLJIGIFDL;
|
|
this.GPPMEPEBADM = GPPMEPEBADM;
|
|
ActionEvent<Enemy> enemyInstantiatedEvent = Enemy.EnemyInstantiatedEvent;
|
|
Action<Enemy> action = new Action(this.NDPNGCIFFOJ);
|
|
Enemy.EnemyInstantiatedEvent = enemyInstantiatedEvent + action;
|
|
ActionEvent<Enemy, ENDNBHFKNFL> enemyDeathEvent = Enemy.EnemyDeathEvent;
|
|
Action<Enemy, ENDNBHFKNFL> action2 = new Action(this.LCFGLKPPOFI);
|
|
ActionEvent<Enemy> actionEvent;
|
|
Enemy.EnemyDeathEvent = actionEvent;
|
|
Dictionary<string, object> fmppfapaeoe = this.FMPPFAPAEOE;
|
|
string encounter_ID_KEY = BaseSpawnEnemyEncounterStep.ENCOUNTER_ID_KEY;
|
|
int num = 0;
|
|
if (ADDBMBCNBKJ != num)
|
|
{
|
|
PhotonView photonView = ADDBMBCNBKJ.photonView;
|
|
}
|
|
int num2;
|
|
fmppfapaeoe.Add(encounter_ID_KEY, num2);
|
|
Dictionary<string, object> fmppfapaeoe2 = this.FMPPFAPAEOE;
|
|
Dictionary<string, object> fmppfapaeoe3 = this.FMPPFAPAEOE;
|
|
bool flag = this.suppressRewards;
|
|
string encounter_SUPPRESS_REWARDS_KEY = BaseSpawnEnemyEncounterStep.ENCOUNTER_SUPPRESS_REWARDS_KEY;
|
|
fmppfapaeoe3.Add(encounter_SUPPRESS_REWARDS_KEY, flag);
|
|
}
|
|
|
|
// Token: 0x060132DF RID: 78559 RVA: 0x0049B378 File Offset: 0x00499578
|
|
[Token(Token = "0x60132DF")]
|
|
[Address(RVA = "0x10AAF10", Offset = "0x10A9910", VA = "0x1810AAF10", Slot = "6")]
|
|
public override void OnCleanup()
|
|
{
|
|
ActionEvent<Enemy> enemyInstantiatedEvent = Enemy.EnemyInstantiatedEvent;
|
|
Action<Enemy> action = new Action(this.NDPNGCIFFOJ);
|
|
Enemy.EnemyInstantiatedEvent = enemyInstantiatedEvent - action;
|
|
ActionEvent<Enemy, ENDNBHFKNFL> enemyDeathEvent = Enemy.EnemyDeathEvent;
|
|
Action<Enemy, ENDNBHFKNFL> action2 = new Action(this.LCFGLKPPOFI);
|
|
ActionEvent<Enemy> actionEvent;
|
|
Enemy.EnemyDeathEvent = actionEvent;
|
|
}
|
|
|
|
// Token: 0x060132E0 RID: 78560 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x60132E0")]
|
|
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "9")]
|
|
public override void OnEncounterStart()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060132E1 RID: 78561 RVA: 0x0049B3C0 File Offset: 0x004995C0
|
|
[Token(Token = "0x60132E1")]
|
|
[Address(RVA = "0x10AB030", Offset = "0x10A9A30", VA = "0x1810AB030", Slot = "10")]
|
|
public override void OnEncounterStop()
|
|
{
|
|
this.MasterKillAllLivingEnemies();
|
|
}
|
|
|
|
// Token: 0x060132E2 RID: 78562 RVA: 0x0049B3D4 File Offset: 0x004995D4
|
|
[Token(Token = "0x60132E2")]
|
|
[Address(RVA = "0x10AA050", Offset = "0x10A8A50", VA = "0x1810AA050", Slot = "17")]
|
|
protected virtual Enemy IECCPICKICL(EncounterEnemyDescriptor PDDLCLCJLDK, bool CABEJDLDICN, out bool MKNPGPFEMFM)
|
|
{
|
|
int num = 0;
|
|
MKNPGPFEMFM.m_value = num != 0;
|
|
if (PhotonNetwork.IsMasterClient && PDDLCLCJLDK.EnemyType != JIEHOGDIGPG.INVALID)
|
|
{
|
|
Enemy enemy = this.IECCPICKICL(PDDLCLCJLDK, num != 0, out MKNPGPFEMFM);
|
|
bool flag = enemy == 0;
|
|
MKNPGPFEMFM.m_value = flag;
|
|
if (enemy != 0)
|
|
{
|
|
EnemyPatrol <CNNIBLAALOF>k__BackingField = this.ADDBMBCNBKJ.<CNNIBLAALOF>k__BackingField;
|
|
int num2 = 0;
|
|
if (!(<CNNIBLAALOF>k__BackingField != num2))
|
|
{
|
|
}
|
|
EnemyPatrol <CNNIBLAALOF>k__BackingField2 = this.ADDBMBCNBKJ.<CNNIBLAALOF>k__BackingField;
|
|
GameEncounter addbmbcnbkj = this.ADDBMBCNBKJ;
|
|
JIEHOGDIGPG enemyType = PDDLCLCJLDK.EnemyType;
|
|
CGLKOJIMDIH <GFJMMJBJGMO>k__BackingField = addbmbcnbkj.<GFJMMJBJGMO>k__BackingField;
|
|
PhotonView photonView = addbmbcnbkj.photonView;
|
|
Dictionary<string, object> fmppfapaeoe = this.FMPPFAPAEOE;
|
|
int viewIdField = photonView.viewIdField;
|
|
int num3 = 0;
|
|
Enemy enemy2;
|
|
if (enemy2 == num3)
|
|
{
|
|
JIEHOGDIGPG jiehogdigpg;
|
|
string text = "Enemy of type " + jiehogdigpg + " failed to instantiate.";
|
|
}
|
|
}
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x060132E3 RID: 78563 RVA: 0x0049B4AC File Offset: 0x004996AC
|
|
[Token(Token = "0x60132E3")]
|
|
[Address(RVA = "0x10AA3E0", Offset = "0x10A8DE0", VA = "0x1810AA3E0", Slot = "18")]
|
|
protected virtual bool KHODDIADAEL(EncounterEnemyDescriptor PDDLCLCJLDK, out Vector3 JJGDNPNBINJ, out Quaternion MEJCMIKAJCD)
|
|
{
|
|
float z = Vector3.zero.z;
|
|
JJGDNPNBINJ.z = z;
|
|
Quaternion identity = Quaternion.identity;
|
|
Transform explicitSpawnPoint = PDDLCLCJLDK.ExplicitSpawnPoint;
|
|
int num = 0;
|
|
if (!(explicitSpawnPoint != num))
|
|
{
|
|
EnemySpawnNavMeshRegion[] array = this.spawnRegions;
|
|
int length = array.Length;
|
|
if (length != 0)
|
|
{
|
|
EnemySpawnNavMeshRegion enemySpawnNavMeshRegion = array[length];
|
|
int num2 = 0;
|
|
if (!(enemySpawnNavMeshRegion == num2) && enemySpawnNavMeshRegion.TryGetSpawnPositionAndRotation(out JJGDNPNBINJ, out MEJCMIKAJCD))
|
|
{
|
|
int enemyType = (int)PDDLCLCJLDK.EnemyType;
|
|
EOBBJADIFAI eobbjadifai;
|
|
if (eobbjadifai != EOBBJADIFAI.FLYING)
|
|
{
|
|
goto IL_F4;
|
|
}
|
|
int num3 = 0;
|
|
Vector3 up = Vector3.up;
|
|
int num4 = 0;
|
|
float num5 = PFEIDJDACLO.CGIJGEMAGNC();
|
|
Vector3 vector = num4 * (float)num3;
|
|
float z2 = (num4 + num3).z;
|
|
JJGDNPNBINJ.z = z2;
|
|
}
|
|
}
|
|
}
|
|
Transform explicitSpawnPoint2 = PDDLCLCJLDK.ExplicitSpawnPoint;
|
|
float z3 = explicitSpawnPoint.position.z;
|
|
JJGDNPNBINJ.z = z3;
|
|
Transform explicitSpawnPoint3 = PDDLCLCJLDK.ExplicitSpawnPoint;
|
|
Vector3 up2 = Vector3.up;
|
|
Vector3 vector2;
|
|
float z4 = vector2.z;
|
|
Vector3 up3 = Vector3.up;
|
|
IL_F4:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x060132E4 RID: 78564 RVA: 0x0049B5B4 File Offset: 0x004997B4
|
|
[Token(Token = "0x60132E4")]
|
|
[Address(RVA = "0x10AA380", Offset = "0x10A8D80", VA = "0x1810AA380", Slot = "19")]
|
|
protected virtual void JLEFLDGGDMC(Vector3 JJGDNPNBINJ, Quaternion MEJCMIKAJCD, out Vector3 PIJJKOAJIEE, out Quaternion IIBIPBOPBBB)
|
|
{
|
|
EnemySpawnerConfiguration enemySpawnerConfiguration = this.spawnerConfiguration;
|
|
float z = JJGDNPNBINJ.z;
|
|
}
|
|
|
|
// Token: 0x060132E5 RID: 78565 RVA: 0x0049B5D8 File Offset: 0x004997D8
|
|
[Token(Token = "0x60132E5")]
|
|
[Address(RVA = "0x10AAA90", Offset = "0x10A9490", VA = "0x1810AAA90")]
|
|
private void NDPNGCIFFOJ(Enemy BPJNEFJBBML)
|
|
{
|
|
if (this.OCIKMLKODCP(BPJNEFJBBML))
|
|
{
|
|
this.EILIFMJGCBB.Add(BPJNEFJBBML);
|
|
}
|
|
}
|
|
|
|
// Token: 0x060132E6 RID: 78566 RVA: 0x0049B604 File Offset: 0x00499804
|
|
[Token(Token = "0x60132E6")]
|
|
[Address(RVA = "0x10AA7D0", Offset = "0x10A91D0", VA = "0x1810AA7D0")]
|
|
private void LCFGLKPPOFI(Enemy BPJNEFJBBML, ENDNBHFKNFL LJGOHLFADDN)
|
|
{
|
|
if (this.OCIKMLKODCP(BPJNEFJBBML))
|
|
{
|
|
bool flag = this.EILIFMJGCBB.Remove(BPJNEFJBBML);
|
|
}
|
|
}
|
|
|
|
// Token: 0x060132E7 RID: 78567 RVA: 0x0049B630 File Offset: 0x00499830
|
|
[Token(Token = "0x60132E7")]
|
|
[Address(RVA = "0x10AAB00", Offset = "0x10A9500", VA = "0x1810AAB00")]
|
|
private bool OCIKMLKODCP(Enemy BPJNEFJBBML)
|
|
{
|
|
GameEncounter addbmbcnbkj = this.ADDBMBCNBKJ;
|
|
int <HIKGLIJCOHC>k__BackingField = BPJNEFJBBML.<HIKGLIJCOHC>k__BackingField;
|
|
PhotonView photonView = addbmbcnbkj.photonView;
|
|
bool flag;
|
|
if (<HIKGLIJCOHC>k__BackingField == photonView.viewIdField && BPJNEFJBBML.<HONMKCBCBIM>k__BackingField != 0 && flag)
|
|
{
|
|
int pnnljigifdl = this.PNNLJIGIFDL;
|
|
return true;
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x060132E8 RID: 78568 RVA: 0x0049B67C File Offset: 0x0049987C
|
|
[Token(Token = "0x60132E8")]
|
|
[Address(RVA = "0x10AA840", Offset = "0x10A9240", VA = "0x1810AA840")]
|
|
public void MasterKillAllLivingEnemies()
|
|
{
|
|
if (PhotonNetwork.IsMasterClient)
|
|
{
|
|
BaseSpawnEnemyEncounterStep.GHBEPPFECBA.Clear();
|
|
List<Enemy> ghbeppfecba = BaseSpawnEnemyEncounterStep.GHBEPPFECBA;
|
|
List<Enemy> eilifmjgcbb = this.EILIFMJGCBB;
|
|
ghbeppfecba.AddRange(eilifmjgcbb);
|
|
this.EILIFMJGCBB.Clear();
|
|
int num = 0;
|
|
List<Enemy> ghbeppfecba2 = BaseSpawnEnemyEncounterStep.GHBEPPFECBA;
|
|
if (!this.ADDBMBCNBKJ.<LOKHDINNFCN>k__BackingField)
|
|
{
|
|
List<Enemy> ghbeppfecba3 = BaseSpawnEnemyEncounterStep.GHBEPPFECBA;
|
|
num++;
|
|
}
|
|
List<Enemy> ghbeppfecba4 = BaseSpawnEnemyEncounterStep.GHBEPPFECBA;
|
|
num++;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060132E9 RID: 78569 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x60132E9")]
|
|
[Address(RVA = "0x10A9F90", Offset = "0x10A8990", VA = "0x1810A9F90")]
|
|
protected int BOIKGOELJPC()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x060132EA RID: 78570 RVA: 0x0049B6F0 File Offset: 0x004998F0
|
|
[Token(Token = "0x60132EA")]
|
|
[Address(RVA = "0x10AB0F0", Offset = "0x10A9AF0", VA = "0x1810AB0F0")]
|
|
protected BaseSpawnEnemyEncounterStep()
|
|
{
|
|
EnemySpawnNavMeshRegion[] array = new EnemySpawnNavMeshRegion[1];
|
|
this.spawnRegions = array;
|
|
List<Enemy> list = new List();
|
|
this.EILIFMJGCBB = list;
|
|
Dictionary<string, object> dictionary = new Dictionary();
|
|
this.FMPPFAPAEOE = dictionary;
|
|
this.stepName = "New Step";
|
|
this.PNNLJIGIFDL = (int)((ulong)4294967295L);
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x0400D053 RID: 53331
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x400D053")]
|
|
[SerializeField]
|
|
[Header("Spawn Configuration")]
|
|
public EnemySpawnerConfiguration spawnerConfiguration;
|
|
|
|
// Token: 0x0400D054 RID: 53332
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x400D054")]
|
|
[SerializeField]
|
|
[Header("Patrol")]
|
|
public bool spawnOnPatrol = true;
|
|
|
|
// Token: 0x0400D055 RID: 53333
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
|
|
[Token(Token = "0x400D055")]
|
|
[SerializeField]
|
|
[Header("Spawn Regions")]
|
|
public EnemySpawnNavMeshRegion[] spawnRegions;
|
|
|
|
// Token: 0x0400D056 RID: 53334
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x400D056")]
|
|
[SerializeField]
|
|
[Header("Rewards")]
|
|
public bool suppressRewards;
|
|
|
|
// Token: 0x0400D057 RID: 53335
|
|
[Token(Token = "0x400D057")]
|
|
public static readonly string ENCOUNTER_ID_KEY = "ENC_ID";
|
|
|
|
// Token: 0x0400D058 RID: 53336
|
|
[Token(Token = "0x400D058")]
|
|
public static readonly string ENCOUNTER_STEP_ID_KEY = "ENC_STEP_ID";
|
|
|
|
// Token: 0x0400D059 RID: 53337
|
|
[Token(Token = "0x400D059")]
|
|
public static readonly string ENCOUNTER_SUPPRESS_REWARDS_KEY = "ENC_SR";
|
|
|
|
// Token: 0x0400D05A RID: 53338
|
|
[Token(Token = "0x400D05A")]
|
|
private static List<Enemy> GHBEPPFECBA = new List();
|
|
|
|
// Token: 0x0400D05B RID: 53339
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
|
|
[Token(Token = "0x400D05B")]
|
|
protected List<Enemy> EILIFMJGCBB;
|
|
|
|
// Token: 0x0400D05C RID: 53340
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x70")]
|
|
[Token(Token = "0x400D05C")]
|
|
private Dictionary<string, object> FMPPFAPAEOE;
|
|
}
|
|
}
|