public void Create(out T obj) { ObjectsPool <T> .Create(out obj); if (obj != null) { objects.Add(obj); } }
public void Update(int dt) { foreach (T obj in objects) { obj.Update(dt); if (obj.Dead()) { deadObjects.Add(obj); } } if (deadObjects.Count > 0) { foreach (T obj in deadObjects) { objects.Remove(obj); } ObjectsPool <T> .Flush(deadObjects); } }