Files
taptap2024_GJ_chidouren/Assets/Scripts/Game/Component/PropEffect_PoolObject.cs
2024-10-27 21:13:14 +08:00

39 lines
1.0 KiB
C#

using System;
using Framework.Audio;
using Framework.GamePool;
using Framework.Timer;
using Sirenix.Utilities;
namespace Game.Component
{
public class PropEffect_PoolObject : NonePoolObject
{
[Serializable]
public class AudioSetting
{
public string audioPath;
public float volume = 1;
}
public AudioSetting audioSetting;
public float duration;
private TimeHandler _timeHandler;
public override void Pool_Enable ()
{
this._timeHandler?.Kill ();
if (!this.audioSetting.audioPath.IsNullOrWhitespace ())
{
AudioManager.Instance.PlaySound (this.audioSetting.audioPath , this.audioSetting.volume);
}
this._timeHandler = GameUpdateMgr.Instance.CreateTimer (this.duration , this.DestroyPoolObject);
base.Pool_Enable ();
}
public void Pool_OnDisable ()
{
this._timeHandler?.Kill ();
}
}
}