VladimirPirozhenko c7a0ad0f90 Added obstacles, started working on chunk generator
Added obstacles, updated pools, added extention for list, updated LaneSystem
2022-08-09 04:43:03 +03:00

43 lines
961 B
C#

using UnityEngine;
public class BasePool<T> : MonoBehaviour where T : MonoBehaviour
{
[field: SerializeField] public int Capacity { get; private set; }
[SerializeField] private T prefab;
private ObjectPool<T> pool;
private void Awake()
{
pool = new ObjectPool<T>(CreateAction, GetAction, ReturnAction, Capacity);
}
protected virtual T CreateAction()
{
T instance = Instantiate(prefab);
instance.gameObject.SetActive(false);
instance.transform.SetParent(gameObject.transform, false);
return instance;
}
protected virtual void GetAction(T instance)
{
instance.gameObject.SetActive(true);
}
protected virtual void ReturnAction(T instance)
{
instance.gameObject.SetActive(false);
}
public T GetFromPool()
{
return pool.Get();
}
public void ReturnToPool(T instance)
{
pool.ReturnToPool(instance);
}
}