zombie_mp/Assets/HQ FPS Weapons/Scripts/Object Pooling/PoolableObject.cs
Sewmina Dilshan 68183e5317 initial
2021-08-23 13:28:33 +05:30

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();
}
}
}