305 lines
9.8 KiB
C#
305 lines
9.8 KiB
C#
using System;
|
|
using Cpp2IlInjected;
|
|
using MarsSDK;
|
|
using UnityEngine;
|
|
|
|
// Token: 0x020000F6 RID: 246
|
|
[Token(Token = "0x20000F6")]
|
|
public class EffectPool : IDisposable
|
|
{
|
|
// Token: 0x06000DE7 RID: 3559 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6000DE7")]
|
|
[Address(RVA = "0xA8FE70", Offset = "0xA8E670", VA = "0x180A8FE70")]
|
|
public void Init(string assetPath, Transform root, int limitation, float aliveTime = 1f, float recycleTime = 3f)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06000DE8 RID: 3560 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6000DE8")]
|
|
[Address(RVA = "0xA8FB10", Offset = "0xA8E310", VA = "0x180A8FB10")]
|
|
public void Init(GameObject prefab, Transform root, int limitation, float aliveTime = 1f, float recycleTime = 3f)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06000DE9 RID: 3561 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6000DE9")]
|
|
[Address(RVA = "0xA8FB80", Offset = "0xA8E380", VA = "0x180A8FB80")]
|
|
private void Init(int limitation, float aliveTime, float recycleTime)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06000DEA RID: 3562 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6000DEA")]
|
|
[Address(RVA = "0xA90320", Offset = "0xA8EB20", VA = "0x180A90320")]
|
|
private void RegisterEffectUpdaterProcessor()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06000DEB RID: 3563 RVA: 0x00021A00 File Offset: 0x0001FC00
|
|
[Token(Token = "0x6000DEB")]
|
|
[Address(RVA = "0xA900B0", Offset = "0xA8E8B0", VA = "0x180A900B0")]
|
|
private bool IsReady()
|
|
{
|
|
GameObject gameObject = this.prefab;
|
|
int num = 0;
|
|
return gameObject != num;
|
|
}
|
|
|
|
// Token: 0x06000DEC RID: 3564 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6000DEC")]
|
|
[Address(RVA = "0xA90110", Offset = "0xA8E910", VA = "0x180A90110")]
|
|
public GameObject NewUse(Vector3 position, Quaternion rotation, bool withSound = true)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06000DED RID: 3565 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6000DED")]
|
|
[Address(RVA = "0xA90260", Offset = "0xA8EA60", VA = "0x180A90260")]
|
|
public GameObject NewUse(bool withSound = true)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06000DEE RID: 3566 RVA: 0x00021A20 File Offset: 0x0001FC20
|
|
[Token(Token = "0x6000DEE")]
|
|
[Address(RVA = "0xA90540", Offset = "0xA8ED40", VA = "0x180A90540")]
|
|
public void SetTimeScale(float timeScale)
|
|
{
|
|
ObjectPoolLimited<EffectUpdater> objectPoolLimited = this.updaterPool;
|
|
this.timeScale = timeScale;
|
|
if (objectPoolLimited != 0)
|
|
{
|
|
Action<EffectUpdater> action = this.effectUpdaterTimeScaleProcessor;
|
|
objectPoolLimited.ProcessActivePool(action);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000DEF RID: 3567 RVA: 0x00021A50 File Offset: 0x0001FC50
|
|
[Token(Token = "0x6000DEF")]
|
|
[Address(RVA = "0xA90660", Offset = "0xA8EE60", VA = "0x180A90660")]
|
|
public void Stop(float recycleTime)
|
|
{
|
|
if (!this.hasDisposed)
|
|
{
|
|
GameObject gameObject = this.prefab;
|
|
int num = 0;
|
|
if (gameObject != num)
|
|
{
|
|
EffectUpdater effectUpdater = this.lastActiveUpdater;
|
|
if (effectUpdater != 0)
|
|
{
|
|
effectUpdater.StopEffect(recycleTime);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000DF0 RID: 3568 RVA: 0x00021A8C File Offset: 0x0001FC8C
|
|
[Token(Token = "0x6000DF0")]
|
|
[Address(RVA = "0xA905A0", Offset = "0xA8EDA0", VA = "0x180A905A0")]
|
|
public void StopAll(float recycleTime)
|
|
{
|
|
if (!this.hasDisposed)
|
|
{
|
|
GameObject gameObject = this.prefab;
|
|
int num = 0;
|
|
if (gameObject != num)
|
|
{
|
|
ObjectPoolLimited<EffectUpdater> objectPoolLimited = this.updaterPool;
|
|
this.recycleTime = recycleTime;
|
|
Action<EffectUpdater> action = this.effectUpdaterStopProcessor;
|
|
objectPoolLimited.ProcessActivePool(action);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000DF1 RID: 3569 RVA: 0x00021AD8 File Offset: 0x0001FCD8
|
|
[Token(Token = "0x6000DF1")]
|
|
[Address(RVA = "0xA8F5E0", Offset = "0xA8DDE0", VA = "0x180A8F5E0")]
|
|
public void CloseAll()
|
|
{
|
|
if (!this.hasDisposed)
|
|
{
|
|
GameObject gameObject = this.prefab;
|
|
int num = 0;
|
|
if (gameObject != num)
|
|
{
|
|
ObjectPoolLimited<EffectUpdater> objectPoolLimited = this.updaterPool;
|
|
Action<EffectUpdater> action = this.effectUpdaterDisposeProcessor;
|
|
objectPoolLimited.ProcessActivePool(action);
|
|
this.updaterPool.ReturnAll();
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000DF2 RID: 3570 RVA: 0x00021B28 File Offset: 0x0001FD28
|
|
[Token(Token = "0x6000DF2")]
|
|
[Address(RVA = "0xA8EC40", Offset = "0xA8D440", VA = "0x180A8EC40")]
|
|
public Transform GetSource()
|
|
{
|
|
return this.prefab.transform;
|
|
}
|
|
|
|
// Token: 0x06000DF3 RID: 3571 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6000DF3")]
|
|
[Address(RVA = "0xA8F9A0", Offset = "0xA8E1A0", VA = "0x180A8F9A0")]
|
|
public GameObject GetGameObject()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06000DF4 RID: 3572 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6000DF4")]
|
|
[Address(RVA = "0xA8F830", Offset = "0xA8E030", VA = "0x180A8F830")]
|
|
public GameObject[] GetAllGameObjects()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06000DF5 RID: 3573 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6000DF5")]
|
|
[Address(RVA = "0xA8F9B0", Offset = "0xA8E1B0", VA = "0x180A8F9B0")]
|
|
public ParticleSystem GetParticle()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06000DF6 RID: 3574 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6000DF6")]
|
|
[Address(RVA = "0xA8F9F0", Offset = "0xA8E1F0", VA = "0x180A8F9F0")]
|
|
public SoundEffect GetSoundEffect()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06000DF7 RID: 3575 RVA: 0x00021B48 File Offset: 0x0001FD48
|
|
[Token(Token = "0x6000DF7")]
|
|
[Address(RVA = "0xA8E9D0", Offset = "0xA8D1D0", VA = "0x180A8E9D0")]
|
|
public float GetAliveTime()
|
|
{
|
|
return this.data.aliveTime;
|
|
}
|
|
|
|
// Token: 0x06000DF8 RID: 3576 RVA: 0x00021B68 File Offset: 0x0001FD68
|
|
[Token(Token = "0x6000DF8")]
|
|
[Address(RVA = "0xA8F6D0", Offset = "0xA8DED0", VA = "0x180A8F6D0", Slot = "4")]
|
|
public void Dispose()
|
|
{
|
|
this.hasDisposed = true;
|
|
ObjectPoolLimited<EffectUpdater> objectPoolLimited = this.updaterPool;
|
|
Action<EffectUpdater> action = this.effectUpdaterDisposeProcessor;
|
|
objectPoolLimited.ProcessActivePool(action);
|
|
this.updaterPool.Dispose();
|
|
}
|
|
|
|
// Token: 0x06000DF9 RID: 3577 RVA: 0x00021BA4 File Offset: 0x0001FDA4
|
|
[Token(Token = "0x6000DF9")]
|
|
[Address(RVA = "0xA8F780", Offset = "0xA8DF80", VA = "0x180A8F780")]
|
|
private EffectUpdater GenerateUpdater()
|
|
{
|
|
GameObject gameObject = this.prefab;
|
|
Transform transform = this.root;
|
|
return new EffectUpdater(UnityEngine.Object.Instantiate<GameObject>(gameObject, transform));
|
|
}
|
|
|
|
// Token: 0x06000DFA RID: 3578 RVA: 0x00021BCC File Offset: 0x0001FDCC
|
|
[Token(Token = "0x6000DFA")]
|
|
[Address(RVA = "0xA8FA00", Offset = "0xA8E200", VA = "0x180A8FA00")]
|
|
private EffectUpdater GetUpdater()
|
|
{
|
|
EffectUpdater effectUpdater = this.updaterPool.Get();
|
|
EffectControlData effectControlData = this.data;
|
|
float num = effectControlData.recycleTime;
|
|
float aliveTime = effectControlData.aliveTime;
|
|
effectUpdater.recycleTime = num;
|
|
effectUpdater.aliveTime = aliveTime;
|
|
Action<EffectUpdater> action = new Action(this.ReturnUpdater);
|
|
effectUpdater.recycleHandler = action;
|
|
float num2 = this.timeScale;
|
|
effectUpdater.timeScale = num2;
|
|
effectUpdater.UpdateTimeScale();
|
|
this.lastActiveUpdater = effectUpdater;
|
|
return this.lastActiveUpdater;
|
|
}
|
|
|
|
// Token: 0x06000DFB RID: 3579 RVA: 0x00021C48 File Offset: 0x0001FE48
|
|
[Token(Token = "0x6000DFB")]
|
|
[Address(RVA = "0xA904C0", Offset = "0xA8ECC0", VA = "0x180A904C0")]
|
|
private void ReturnUpdater(EffectUpdater updater)
|
|
{
|
|
updater.Dispose();
|
|
this.updaterPool.Return(updater);
|
|
if (updater == this.lastActiveUpdater)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000DFC RID: 3580 RVA: 0x00021C78 File Offset: 0x0001FE78
|
|
[Token(Token = "0x6000DFC")]
|
|
[Address(RVA = "0xA90750", Offset = "0xA8EF50", VA = "0x180A90750")]
|
|
public EffectPool()
|
|
{
|
|
}
|
|
|
|
// Token: 0x040018B6 RID: 6326
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x40018B6")]
|
|
private GameObject prefab;
|
|
|
|
// Token: 0x040018B7 RID: 6327
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x40018B7")]
|
|
private Transform root;
|
|
|
|
// Token: 0x040018B8 RID: 6328
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x40018B8")]
|
|
private EffectControlData data;
|
|
|
|
// Token: 0x040018B9 RID: 6329
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x40018B9")]
|
|
private float timeScale = 1f;
|
|
|
|
// Token: 0x040018BA RID: 6330
|
|
[FieldOffset(Offset = "0x2C")]
|
|
[Token(Token = "0x40018BA")]
|
|
private float recycleTime;
|
|
|
|
// Token: 0x040018BB RID: 6331
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x40018BB")]
|
|
private ObjectPoolLimited<EffectUpdater> updaterPool;
|
|
|
|
// Token: 0x040018BC RID: 6332
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x40018BC")]
|
|
private EffectUpdater lastActiveUpdater;
|
|
|
|
// Token: 0x040018BD RID: 6333
|
|
[FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x40018BD")]
|
|
private Action<EffectUpdater> effectUpdaterTimeScaleProcessor;
|
|
|
|
// Token: 0x040018BE RID: 6334
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x40018BE")]
|
|
private Action<EffectUpdater> effectUpdaterStopProcessor;
|
|
|
|
// Token: 0x040018BF RID: 6335
|
|
[FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x40018BF")]
|
|
private Action<EffectUpdater> effectUpdaterDisposeProcessor;
|
|
|
|
// Token: 0x040018C0 RID: 6336
|
|
[FieldOffset(Offset = "0x58")]
|
|
[Token(Token = "0x40018C0")]
|
|
private bool hasDisposed;
|
|
}
|