/// <summary> /// Adds a pool object to the list. /// </summary> /// <param name="poolObject"></param> public void Add(IPoolObjectRoot poolObject) { if (!PoolObjects.Contains(poolObject)) { PoolObjects.Add(poolObject); PoolObjectCount++; } }
/// <summary> /// Returns the given object to the pool. /// </summary> /// <param name="_object"></param> public void ReturnObjectToPool(IPoolObjectRoot _object) { T convertedObject = (T)_object; if (convertedObject != null) { ReturnObjectToPool(convertedObject); } }
/// <summary> /// Gets the last pool object from the list. /// </summary> /// <returns></returns> public IPoolObjectRoot PopLast() { if (PoolObjectCount > 0) { IPoolObjectRoot poolObject = PoolObjects[PoolObjectCount - 1]; PoolObjectCount--; PoolObjects.RemoveAt(PoolObjectCount); return(poolObject); } return(null); }