39 lines
877 B
C#
39 lines
877 B
C#
using UnityEngine;
|
|
using UnityEngine.Events;
|
|
|
|
namespace HQFPSWeapons
|
|
{
|
|
public class PoolableObject : MonoBehaviour
|
|
{
|
|
public string PoolId { get => m_PoolId; }
|
|
|
|
public UnityEvent OnReleasedEvent = new UnityEvent();
|
|
public UnityEvent OnUseEvent = new UnityEvent();
|
|
|
|
private bool m_Initialized;
|
|
private string m_PoolId;
|
|
|
|
|
|
public void Init(string poolId)
|
|
{
|
|
if(m_Initialized)
|
|
{
|
|
Debug.LogError("You are attempting to initialize a poolable object, but it's already initialized!!");
|
|
return;
|
|
}
|
|
|
|
m_PoolId = poolId;
|
|
m_Initialized = true;
|
|
}
|
|
|
|
public void OnUse()
|
|
{
|
|
OnUseEvent.Invoke();
|
|
}
|
|
|
|
public void OnReleased()
|
|
{
|
|
OnReleasedEvent.Invoke();
|
|
}
|
|
}
|
|
} |