public void AddDestroyInfo(SimplePool.DestroyInfo info) { if (SplitWorkload) { destroyQueue.Enqueue(info); } else { DoDestroy(info); } }
private void DestroyerWork() { for (int i = 0; i < destroyQueue.Count; i++) { if (HasMoreTime == false) { return; } if (destroyQueue.Count > 0) { SimplePool.DestroyInfo info = destroyQueue.Dequeue(); DoDestroy(info); } } }
private void DoDestroy(SimplePool.DestroyInfo info) { info.pool.DestroyOneObject(); }