public ObjectPool(int capacity, UnityFunc <T> actionNew, UnityAction <T> actionOnGet, UnityAction <T> actionOnRelease) { stack = new Stack <T>(capacity); onNew = actionNew; onGet = actionOnGet; onRelease = actionOnRelease; }
public ObjectPool(UnityFunc <T> actionNew, UnityAction <T> actionOnGet, UnityAction <T> actionOnRelease, UnityAction <T> actionOnReuse) { _poolStack = new Stack <T>(); _onNew = actionNew; _onGet = actionOnGet; _onRemove = actionOnRelease; _onReuse = actionOnReuse; }
public ObjectPool(int capacity, UnityFunc <T> actionNew, UnityAction <T> actionOnGet = null, UnityAction <T> actionOnRelease = null, string name = null) { if (actionNew == null) { throw new ArgumentException("New action can't be null!"); } stack = new Stack <T>(capacity); onNew = actionNew; onGet = actionOnGet; onRelease = actionOnRelease; Name = name; }