protected void Delete(int count) { for (int i = 0; i < count; i++) { if (this.list.Count <= 0) { return; } int index = this.list.Count - 1; GameObject go = this.list[index]; this.list.RemoveAt(index); //this.pool.Free(go); //or IPooledObject freeable = go.GetComponent <IPooledObject>(); freeable.Free(); } }