void Update() { float now = Time.time; if (pool.Count > 0) { if (nextGCStart > 0 && now >= nextGCStart) { nextGCStart = -1; nextObjectRemove = now + garbageCollectionInterval; } if (nextObjectRemove > 0 && now >= nextObjectRemove) { nextObjectRemove = now + garbageCollectionInterval; PoolObject poolObj = pool.Dequeue(); Destroy(poolObj.gameObject); } } }
public void DestroyShape(PoolObject shape) { shape.PutIntoPool(); }
public void PutIntoPool(PoolObject bullet) { pool.PutIntoPool(bullet); }