316 lines
9.1 KiB
C#
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;
|
|
}
|
|
}
|