Beispiel #1
0
 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;
            }
Beispiel #3
0
 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;
 }