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

155 lines
4.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using UnityEngine;
// Token: 0x0200027E RID: 638
[Token(Token = "0x200027E")]
[StructLayout(3)]
public class OccupiableSpawnPointPool : MonoBehaviour
{
// Token: 0x060012E7 RID: 4839 RVA: 0x0005034C File Offset: 0x0004E54C
[Token(Token = "0x60012E7")]
[Address(RVA = "0x17DE7E0", Offset = "0x17DD1E0", VA = "0x1817DE7E0")]
private void Awake()
{
int num;
Action<OccupiableSpawnPoint> nebbgjnolph;
Delegate @delegate;
do
{
OccupiableSpawnPoint[] array = this.pool;
num = 0;
int length = array.Length;
if (num >= length)
{
goto IL_51;
}
OccupiableSpawnPoint occupiableSpawnPoint = array[num];
Action<OccupiableSpawnPoint> action = new Action(this.Release);
nebbgjnolph = occupiableSpawnPoint.NEBBGJNOLPH;
@delegate = Delegate.Combine(nebbgjnolph, action);
}
while (@delegate != 0 && @delegate == 0);
while (@delegate != nebbgjnolph)
{
}
num++;
IL_51:
this.PMNGIHGNFJC.Clear();
OccupiableSpawnPoint[] array2 = this.pool;
int length2 = array2.Length;
if (num < length2)
{
List<OccupiableSpawnPoint> pmngihgnfjc = this.PMNGIHGNFJC;
OccupiableSpawnPoint occupiableSpawnPoint2 = array2[num];
pmngihgnfjc.Add(occupiableSpawnPoint2);
if (occupiableSpawnPoint2.<NJCMHLEEHGN>k__BackingField)
{
occupiableSpawnPoint2.<NJCMHLEEHGN>k__BackingField = false;
}
num++;
}
}
// Token: 0x170002BF RID: 703
// (get) Token: 0x060012E8 RID: 4840 RVA: 0x000503FC File Offset: 0x0004E5FC
[Token(Token = "0x170002BF")]
public int MJNPHCAPCNM
{
[Token(Token = "0x60012E8")]
[Address(RVA = "0x17DEC20", Offset = "0x17DD620", VA = "0x1817DEC20")]
get
{
return this.PMNGIHGNFJC._size;
}
}
// Token: 0x060012E9 RID: 4841 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60012E9")]
[Address(RVA = "0x17DE690", Offset = "0x17DD090", VA = "0x1817DE690")]
public OccupiableSpawnPoint AcquireNext()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060012EA RID: 4842 RVA: 0x0005041C File Offset: 0x0004E61C
[Token(Token = "0x60012EA")]
[Address(RVA = "0x17DE760", Offset = "0x17DD160", VA = "0x1817DE760")]
public OccupiableSpawnPoint AcquireRandom()
{
int num = this.PMNGIHGNFJC._size;
if (num > 0)
{
num = global::UnityEngine.Random.Range(0, num);
return this.GNHOKKNMMGG(num);
}
throw new NullReferenceException();
}
// Token: 0x060012EB RID: 4843 RVA: 0x00050450 File Offset: 0x0004E650
[Token(Token = "0x60012EB")]
[Address(RVA = "0x17DEA80", Offset = "0x17DD480", VA = "0x1817DEA80")]
public void Release(OccupiableSpawnPoint BIFIOEBPLFN)
{
bool flag = this.PMNGIHGNFJC.Contains(BIFIOEBPLFN);
if (!flag)
{
BIFIOEBPLFN.<NJCMHLEEHGN>k__BackingField = flag;
this.PMNGIHGNFJC.Add(BIFIOEBPLFN);
}
}
// Token: 0x060012EC RID: 4844 RVA: 0x00050488 File Offset: 0x0004E688
[Token(Token = "0x60012EC")]
[Address(RVA = "0x17DEB00", Offset = "0x17DD500", VA = "0x1817DEB00")]
public void Reset()
{
this.PMNGIHGNFJC.Clear();
OccupiableSpawnPoint[] array = this.pool;
int num = 0;
int length = array.Length;
if (num < length)
{
List<OccupiableSpawnPoint> pmngihgnfjc = this.PMNGIHGNFJC;
OccupiableSpawnPoint occupiableSpawnPoint = array[num];
pmngihgnfjc.Add(occupiableSpawnPoint);
if (occupiableSpawnPoint.<NJCMHLEEHGN>k__BackingField)
{
occupiableSpawnPoint.<NJCMHLEEHGN>k__BackingField = false;
}
num++;
}
}
// Token: 0x060012ED RID: 4845 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60012ED")]
[Address(RVA = "0x17DE9D0", Offset = "0x17DD3D0", VA = "0x1817DE9D0")]
private OccupiableSpawnPoint GNHOKKNMMGG(int EFBDCIJMFGD)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060012EE RID: 4846 RVA: 0x000504E8 File Offset: 0x0004E6E8
[Token(Token = "0x60012EE")]
[Address(RVA = "0x17DEBC0", Offset = "0x17DD5C0", VA = "0x1817DEBC0")]
public OccupiableSpawnPointPool()
{
List<OccupiableSpawnPoint> list = new List();
this.PMNGIHGNFJC = list;
base..ctor();
}
// Token: 0x04000EAC RID: 3756
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4000EAC")]
[SerializeField]
private OccupiableSpawnPoint[] pool;
// Token: 0x04000EAD RID: 3757
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x4000EAD")]
private List<OccupiableSpawnPoint> PMNGIHGNFJC;
}