scripts
This commit is contained in:
@@ -0,0 +1,182 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using RecRoom.Core.AI;
|
||||
using UnityEngine;
|
||||
|
||||
namespace RecRoom.Core.Encounters
|
||||
{
|
||||
// Token: 0x020009B7 RID: 2487
|
||||
public abstract class BaseSpawnEnemyEncounterStep : GameEncounterStep
|
||||
{
|
||||
// Token: 0x06012B03 RID: 76547 RVA: 0x00556D68 File Offset: 0x00554F68
|
||||
public override void OnAwake(GameEncounter EBMDDFDIPEP, int BFDOPNMDIGP, KPFHBPCEMMD MONDEOHAMIO, KPFHBPCEMMD FKAEEDGBEJB)
|
||||
{
|
||||
base.OnAwake(EBMDDFDIPEP, BFDOPNMDIGP, MONDEOHAMIO, FKAEEDGBEJB);
|
||||
Enemy.NNENOABJJPA += this.MIGKILMJBAK;
|
||||
Enemy.DPDDEBIHPII += this.LHNHAOAKKHN;
|
||||
this.MCJIOHIJFHB.Add(BaseSpawnEnemyEncounterStep.NKBIPPBLBEC, BFDOPNMDIGP);
|
||||
}
|
||||
|
||||
// Token: 0x06012B04 RID: 76548 RVA: 0x00556DB8 File Offset: 0x00554FB8
|
||||
public override void OnCleanup()
|
||||
{
|
||||
base.OnCleanup();
|
||||
Enemy.NNENOABJJPA -= this.MIGKILMJBAK;
|
||||
Enemy.DPDDEBIHPII -= this.LHNHAOAKKHN;
|
||||
}
|
||||
|
||||
// Token: 0x06012B05 RID: 76549 RVA: 0x00556DE4 File Offset: 0x00554FE4
|
||||
public override void OnEncounterStart()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06012B06 RID: 76550 RVA: 0x00556DE8 File Offset: 0x00554FE8
|
||||
public override void OnEncounterStop()
|
||||
{
|
||||
this.MasterKillAllLivingEnemies();
|
||||
}
|
||||
|
||||
// Token: 0x06012B07 RID: 76551 RVA: 0x00556DF0 File Offset: 0x00554FF0
|
||||
protected Enemy DLLNDEJBMNF(EncounterEnemyDescriptor DPAMLOGEFBO, bool FBNHPKHEGBK, out bool OKJKCKHKHFD)
|
||||
{
|
||||
OKJKCKHKHFD = false;
|
||||
if (!IHFKMIAHBFP.HCHIDMOLLAD || DPAMLOGEFBO.EnemyType == DJGJNJMJDHF.INVALID)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
Vector3 vector;
|
||||
Quaternion quaternion;
|
||||
if (DPAMLOGEFBO.ExplicitSpawnPoint != null)
|
||||
{
|
||||
vector = DPAMLOGEFBO.ExplicitSpawnPoint.position;
|
||||
Vector3 normalized = Vector3.ProjectOnPlane(DPAMLOGEFBO.ExplicitSpawnPoint.forward, Vector3.up).normalized;
|
||||
quaternion = Quaternion.LookRotation(normalized, Vector3.up);
|
||||
}
|
||||
else
|
||||
{
|
||||
EnemySpawnNavMeshRegion enemySpawnNavMeshRegion;
|
||||
if (this.spawnRegions.Length == 0 || (enemySpawnNavMeshRegion = this.spawnRegions[global::UnityEngine.Random.Range(0, this.spawnRegions.Length)]) == null)
|
||||
{
|
||||
base.NLLNCFIMHGF("Missing or null spawn regions.");
|
||||
return null;
|
||||
}
|
||||
if (!enemySpawnNavMeshRegion.TryGetSpawnPositionAndRotation(out vector, out quaternion))
|
||||
{
|
||||
OKJKCKHKHFD = true;
|
||||
return null;
|
||||
}
|
||||
if (NDOFAEEKBGO.FPGEJOONGNH(DPAMLOGEFBO.EnemyType) == NFHAHJBGBIM.FLYING)
|
||||
{
|
||||
vector += Vector3.up * NDOFAEEKBGO.HCEBMDLMDGA();
|
||||
}
|
||||
}
|
||||
EnemyPatrol enemyPatrol;
|
||||
if (this.EBMDDFDIPEP.IHDGILNHAPC != null)
|
||||
{
|
||||
enemyPatrol = this.EBMDDFDIPEP.IHDGILNHAPC;
|
||||
}
|
||||
else
|
||||
{
|
||||
enemyPatrol = DPAMLOGEFBO.Patrol;
|
||||
}
|
||||
Vector3 vector2;
|
||||
Quaternion quaternion2;
|
||||
this.spawnerConfiguration.HPAKLLBCAPO(vector, quaternion, out vector2, out quaternion2);
|
||||
Enemy enemy = Enemy.MasterSpawn(DPAMLOGEFBO.EnemyType, vector2, quaternion2, vector, this.spawnOnPatrol, enemyPatrol, this.EBMDDFDIPEP.HAPPDKOIBKA, FBNHPKHEGBK, this.EBMDDFDIPEP.OMNGGJICBBI.ADMBCINHJOG, this.MCJIOHIJFHB);
|
||||
if (enemy == null)
|
||||
{
|
||||
base.NLLNCFIMHGF("Enemy of type " + DPAMLOGEFBO.EnemyType + " failed to instantiate.");
|
||||
}
|
||||
return enemy;
|
||||
}
|
||||
|
||||
// Token: 0x06012B08 RID: 76552 RVA: 0x00556F90 File Offset: 0x00555190
|
||||
private void MIGKILMJBAK(Enemy OELGAHAMCLH)
|
||||
{
|
||||
if (this.IAIMMBDDHDM(OELGAHAMCLH))
|
||||
{
|
||||
this.DPCAHEMGIML.Add(OELGAHAMCLH);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06012B09 RID: 76553 RVA: 0x00556FAC File Offset: 0x005551AC
|
||||
private void LHNHAOAKKHN(Enemy OELGAHAMCLH)
|
||||
{
|
||||
if (this.IAIMMBDDHDM(OELGAHAMCLH))
|
||||
{
|
||||
this.DPCAHEMGIML.Remove(OELGAHAMCLH);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06012B0A RID: 76554 RVA: 0x00556FC8 File Offset: 0x005551C8
|
||||
private bool IAIMMBDDHDM(Enemy OELGAHAMCLH)
|
||||
{
|
||||
if (OELGAHAMCLH.GGFGGLCBCON == this.EBMDDFDIPEP.OMNGGJICBBI.ADMBCINHJOG)
|
||||
{
|
||||
object obj = -1;
|
||||
Dictionary<string, object> instantiationParameters = OELGAHAMCLH.OAEPDOMEFGP;
|
||||
if (instantiationParameters != null && instantiationParameters.TryGetValue(BaseSpawnEnemyEncounterStep.NKBIPPBLBEC, out obj) && (int)obj == this.BFDOPNMDIGP)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// Token: 0x06012B0B RID: 76555 RVA: 0x0055702C File Offset: 0x0055522C
|
||||
public void MasterKillAllLivingEnemies()
|
||||
{
|
||||
if (IHFKMIAHBFP.HCHIDMOLLAD)
|
||||
{
|
||||
BaseSpawnEnemyEncounterStep.FLNIJLLDDFD.Clear();
|
||||
BaseSpawnEnemyEncounterStep.FLNIJLLDDFD.AddRange(this.DPCAHEMGIML);
|
||||
this.DPCAHEMGIML.Clear();
|
||||
for (int i = 0; i < BaseSpawnEnemyEncounterStep.FLNIJLLDDFD.Count; i++)
|
||||
{
|
||||
Enemy.MasterKill(BaseSpawnEnemyEncounterStep.FLNIJLLDDFD[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06012B0C RID: 76556 RVA: 0x00557094 File Offset: 0x00555294
|
||||
protected int JFALHNMALMK()
|
||||
{
|
||||
int num = 0;
|
||||
for (int i = 0; i < this.DPCAHEMGIML.Count; i++)
|
||||
{
|
||||
if (this.DPCAHEMGIML[i].AALIKEFHNIG)
|
||||
{
|
||||
num++;
|
||||
}
|
||||
}
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x0400340C RID: 13324
|
||||
[SerializeField]
|
||||
[Header("Spawn Configuration")]
|
||||
public EnemySpawnerConfiguration spawnerConfiguration;
|
||||
|
||||
// Token: 0x0400340D RID: 13325
|
||||
[Header("Patrol")]
|
||||
[SerializeField]
|
||||
public bool spawnOnPatrol = true;
|
||||
|
||||
// Token: 0x0400340E RID: 13326
|
||||
[Header("Spawn Regions")]
|
||||
[SerializeField]
|
||||
public EnemySpawnNavMeshRegion[] spawnRegions = new EnemySpawnNavMeshRegion[1];
|
||||
|
||||
// Token: 0x0400340F RID: 13327
|
||||
private static readonly string NKBIPPBLBEC = "ENC_STEP_ID";
|
||||
|
||||
// Token: 0x04003410 RID: 13328
|
||||
private static List<Enemy> FLNIJLLDDFD = new List<Enemy>();
|
||||
|
||||
// Token: 0x04003411 RID: 13329
|
||||
protected List<Enemy> DPCAHEMGIML = new List<Enemy>();
|
||||
|
||||
// Token: 0x04003412 RID: 13330
|
||||
private Dictionary<string, object> MCJIOHIJFHB = new Dictionary<string, object>();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user