Files
Dec2017-Script-Dump/Assembly-CSharp/ObjectPool.cs
T
2026-06-04 11:42:34 +02:00

316 lines
9.1 KiB
C#

using System;
using System.Collections.Generic;
using UnityEngine;
// Token: 0x02001143 RID: 4419
public class ObjectPool : MonoBehaviour
{
// Token: 0x06025C84 RID: 154756 RVA: 0x00A7B998 File Offset: 0x00A79B98
public static ObjectPool NFHMLKPHCFF()
{
if (ObjectPool.AKDEHGPHBKI == null)
{
ObjectPool.JHFBIJNJIEH = new GameObject();
ObjectPool.AKDEHGPHBKI = ObjectPool.JHFBIJNJIEH.AddComponent<ObjectPool>();
ObjectPool.JHFBIJNJIEH.name = "audiosource";
}
return ObjectPool.AKDEHGPHBKI;
}
// Token: 0x06025C86 RID: 154758 RVA: 0x00A7B9E0 File Offset: 0x00A79BE0
private void KAIFCIJBFKJ(GameObject INNGECIOBOO, bool CAAAFEKOAAF, bool HPAKELODAOJ = false)
{
SFXAudioSource component = INNGECIOBOO.GetComponent<SFXAudioSource>();
if (component != null)
{
component.enabled = CAAAFEKOAAF;
return;
}
Animation componentInChildren = INNGECIOBOO.gameObject.GetComponentInChildren<Animation>();
if (componentInChildren == null)
{
INNGECIOBOO.gameObject.SetActive(CAAAFEKOAAF);
}
else
{
if (HPAKELODAOJ)
{
componentInChildren.Sample();
}
this.OCGKKKMCPHN(INNGECIOBOO.transform, CAAAFEKOAAF);
}
}
// Token: 0x06025C87 RID: 154759 RVA: 0x00A7BA4C File Offset: 0x00A79C4C
private ObjectPool.IMDJENCEHKI IONHBDAKMEC(string EKKMPHMGCLB)
{
ObjectPool.IMDJENCEHKI imdjencehki;
this.PGJCBCBHKAG.TryGetValue(EKKMPHMGCLB, out imdjencehki);
return imdjencehki;
}
// Token: 0x06025C88 RID: 154760 RVA: 0x00A7BA6C File Offset: 0x00A79C6C
private ObjectPool.IMDJENCEHKI IDIEIBIPBCN<T>(T OHOBPLABOIG)
{
MonoBehaviour monoBehaviour = OHOBPLABOIG as MonoBehaviour;
GameObject gameObject = ((!(monoBehaviour != null)) ? (OHOBPLABOIG as GameObject) : monoBehaviour.gameObject);
if (gameObject != null)
{
ObjectPool.IMDJENCEHKI imdjencehki = this.JKMOPPDBPPG(gameObject.name);
if (imdjencehki == null)
{
imdjencehki = new ObjectPool.IMDJENCEHKI(gameObject);
this.PGJCBCBHKAG.Add(gameObject.name, imdjencehki);
}
return imdjencehki;
}
return null;
}
// Token: 0x06025C89 RID: 154761 RVA: 0x00A7BAE4 File Offset: 0x00A79CE4
private void LGCEFAFKMMN(string DPLIDOKFMBD)
{
}
// Token: 0x06025C8A RID: 154762 RVA: 0x00A7BAE8 File Offset: 0x00A79CE8
public void PABFHDDIBGJ(bool DGADOCPHKFL)
{
}
// Token: 0x06025C8C RID: 154764 RVA: 0x00A7BAF0 File Offset: 0x00A79CF0
private ObjectPool.IMDJENCEHKI KBCNNCJPECH(string EKKMPHMGCLB)
{
ObjectPool.IMDJENCEHKI imdjencehki;
this.PGJCBCBHKAG.TryGetValue(EKKMPHMGCLB, out imdjencehki);
return imdjencehki;
}
// Token: 0x06025C8D RID: 154765 RVA: 0x00A7BB10 File Offset: 0x00A79D10
private ObjectPool.IMDJENCEHKI JKMOPPDBPPG(string EKKMPHMGCLB)
{
ObjectPool.IMDJENCEHKI imdjencehki;
this.PGJCBCBHKAG.TryGetValue(EKKMPHMGCLB, out imdjencehki);
return imdjencehki;
}
// Token: 0x06025C8E RID: 154766 RVA: 0x00A7BB30 File Offset: 0x00A79D30
public void ResetStats()
{
}
// Token: 0x06025C8F RID: 154767 RVA: 0x00A7BB34 File Offset: 0x00A79D34
public T Acquire<T>(T CABHFOCOOCJ) where T : Behaviour
{
ObjectPool.IMDJENCEHKI imdjencehki = this.IDIEIBIPBCN<T>(CABHFOCOOCJ);
if (imdjencehki != null)
{
while (imdjencehki.MHLFEJHOJLH.Count > 0)
{
int num = imdjencehki.MHLFEJHOJLH.Count - 1;
GameObject gameObject = imdjencehki.MHLFEJHOJLH[num];
imdjencehki.MHLFEJHOJLH.RemoveAt(num);
if (gameObject != null)
{
this.KAIFCIJBFKJ(gameObject, true, false);
return gameObject.GetComponent<T>();
}
Debug.LogError("ObjectPool '" + imdjencehki.BMHMKNHMOBB.name + "' contains a null entry!");
}
if (imdjencehki.BMHMKNHMOBB != null)
{
return this.MBEGEOOOPGA(imdjencehki.BMHMKNHMOBB).GetComponent<T>();
}
Debug.LogError("ObjectPool '" + imdjencehki.BMHMKNHMOBB.name + "' contains a null Prefab reference!");
}
return (T)((object)null);
}
// Token: 0x06025C90 RID: 154768 RVA: 0x00A7BC14 File Offset: 0x00A79E14
private void OCGKKKMCPHN(Transform GFCJDHIGEMG, bool CAAAFEKOAAF)
{
foreach (Component component in GFCJDHIGEMG.GetComponents<Component>())
{
if (component is Animation)
{
if (CAAAFEKOAAF)
{
(component as Animation).Sample();
}
else
{
(component as Animation).Stop();
}
}
else if (component is MonoBehaviour)
{
(component as MonoBehaviour).enabled = CAAAFEKOAAF;
}
else if (component is Renderer)
{
(component as Renderer).enabled = CAAAFEKOAAF;
}
}
int childCount = GFCJDHIGEMG.childCount;
for (int j = 0; j < childCount; j++)
{
this.OCGKKKMCPHN(GFCJDHIGEMG.GetChild(j), CAAAFEKOAAF);
}
}
// Token: 0x06025C91 RID: 154769 RVA: 0x00A7BCD0 File Offset: 0x00A79ED0
private GameObject MBEGEOOOPGA(GameObject CABHFOCOOCJ)
{
this.LGCEFAFKMMN(CABHFOCOOCJ.name);
GameObject gameObject = global::UnityEngine.Object.Instantiate<GameObject>(CABHFOCOOCJ);
gameObject.name = CABHFOCOOCJ.name;
gameObject.transform.SetParent(base.transform, false);
return gameObject;
}
// Token: 0x06025C92 RID: 154770 RVA: 0x00A7BD10 File Offset: 0x00A79F10
private void GKDGIPGONHC(string DPLIDOKFMBD)
{
}
// Token: 0x06025C93 RID: 154771 RVA: 0x00A7BD14 File Offset: 0x00A79F14
public void EnableStats(bool DGADOCPHKFL)
{
}
// Token: 0x06025C94 RID: 154772 RVA: 0x00A7BD18 File Offset: 0x00A79F18
public void Prefill(GameObject CABHFOCOOCJ, int NCJKMFPCBGM)
{
ObjectPool.IMDJENCEHKI imdjencehki = this.IDIEIBIPBCN<GameObject>(CABHFOCOOCJ);
if (imdjencehki != null)
{
int count = imdjencehki.MHLFEJHOJLH.Count;
for (int i = count; i < NCJKMFPCBGM; i++)
{
GameObject gameObject = this.MBEGEOOOPGA(imdjencehki.BMHMKNHMOBB);
this.KAIFCIJBFKJ(gameObject, false, true);
imdjencehki.MHLFEJHOJLH.Add(gameObject);
}
}
}
// Token: 0x06025C95 RID: 154773 RVA: 0x00A7BD74 File Offset: 0x00A79F74
private GameObject HKBGAFLAFGA(GameObject CABHFOCOOCJ)
{
this.LGCEFAFKMMN(CABHFOCOOCJ.name);
GameObject gameObject = global::UnityEngine.Object.Instantiate<GameObject>(CABHFOCOOCJ);
gameObject.name = CABHFOCOOCJ.name;
gameObject.transform.SetParent(base.transform, false);
return gameObject;
}
// Token: 0x06025C96 RID: 154774 RVA: 0x00A7BDB4 File Offset: 0x00A79FB4
public void OMJLBFBHDKE(GameObject CABHFOCOOCJ, int NCJKMFPCBGM)
{
ObjectPool.IMDJENCEHKI imdjencehki = this.IDIEIBIPBCN<GameObject>(CABHFOCOOCJ);
if (imdjencehki != null)
{
int count = imdjencehki.MHLFEJHOJLH.Count;
for (int i = count; i < NCJKMFPCBGM; i += 0)
{
GameObject gameObject = this.MBEGEOOOPGA(imdjencehki.BMHMKNHMOBB);
this.KAIFCIJBFKJ(gameObject, true, true);
imdjencehki.MHLFEJHOJLH.Add(gameObject);
}
}
}
// Token: 0x06025C97 RID: 154775 RVA: 0x00A7BE10 File Offset: 0x00A7A010
public void GKNIAMFILJE(GameObject CABHFOCOOCJ, int NCJKMFPCBGM)
{
ObjectPool.IMDJENCEHKI imdjencehki = this.IDIEIBIPBCN<GameObject>(CABHFOCOOCJ);
if (imdjencehki != null)
{
int count = imdjencehki.MHLFEJHOJLH.Count;
for (int i = count; i < NCJKMFPCBGM; i += 0)
{
GameObject gameObject = this.MBEGEOOOPGA(imdjencehki.BMHMKNHMOBB);
this.KAIFCIJBFKJ(gameObject, true, false);
imdjencehki.MHLFEJHOJLH.Add(gameObject);
}
}
}
// Token: 0x06025C98 RID: 154776 RVA: 0x00A7BE6C File Offset: 0x00A7A06C
private void Awake()
{
if (base.gameObject != ObjectPool.JHFBIJNJIEH)
{
global::UnityEngine.Object.DestroyImmediate(base.gameObject);
return;
}
this.PGJCBCBHKAG = new Dictionary<string, ObjectPool.IMDJENCEHKI>();
}
// Token: 0x1700113B RID: 4411
// (get) Token: 0x06025C99 RID: 154777 RVA: 0x00A7BE9C File Offset: 0x00A7A09C
public static ObjectPool NCKMBFBMBFM
{
get
{
if (ObjectPool.AKDEHGPHBKI == null)
{
ObjectPool.JHFBIJNJIEH = new GameObject();
ObjectPool.AKDEHGPHBKI = ObjectPool.JHFBIJNJIEH.AddComponent<ObjectPool>();
ObjectPool.JHFBIJNJIEH.name = "[ObjectPool]";
}
return ObjectPool.AKDEHGPHBKI;
}
}
// Token: 0x06025C9A RID: 154778 RVA: 0x00A7BEDC File Offset: 0x00A7A0DC
public bool Release(MonoBehaviour INNGECIOBOO)
{
ObjectPool.IMDJENCEHKI imdjencehki = this.JKMOPPDBPPG(INNGECIOBOO.gameObject.name);
if (imdjencehki == null)
{
global::UnityEngine.Object.Destroy(INNGECIOBOO.gameObject);
return false;
}
if (imdjencehki.MHLFEJHOJLH.Contains(INNGECIOBOO.gameObject))
{
return false;
}
this.KAIFCIJBFKJ(INNGECIOBOO.gameObject, false, false);
imdjencehki.MHLFEJHOJLH.Add(INNGECIOBOO.gameObject);
INNGECIOBOO.transform.SetParent(base.transform, false);
return true;
}
// Token: 0x06025C9B RID: 154779 RVA: 0x00A7BF58 File Offset: 0x00A7A158
public void NDJOKCFHAFK()
{
}
// Token: 0x04005F77 RID: 24439
private Dictionary<string, ObjectPool.IMDJENCEHKI> PGJCBCBHKAG;
// Token: 0x04005F78 RID: 24440
private static ObjectPool AKDEHGPHBKI;
// Token: 0x04005F79 RID: 24441
private static GameObject JHFBIJNJIEH;
// Token: 0x02001144 RID: 4420
public class IMDJENCEHKI
{
// Token: 0x06025C9C RID: 154780 RVA: 0x00A7BF5C File Offset: 0x00A7A15C
public IMDJENCEHKI(GameObject CABHFOCOOCJ)
{
this.BMHMKNHMOBB = CABHFOCOOCJ;
this.MHLFEJHOJLH = new List<GameObject>();
}
// Token: 0x04005F7A RID: 24442
public GameObject BMHMKNHMOBB;
// Token: 0x04005F7B RID: 24443
[NonSerialized]
public List<GameObject> MHLFEJHOJLH;
}
}