Example #1
0
        public void Despawn(Transform instance)
        {
            bool flag = false;

            for (int i = 0; i < this._prefabPools.Count; i++)
            {
                PrefabPool prefabPool = this._prefabPools[i];
                if (prefabPool._spawned.Contains(instance))
                {
                    flag = prefabPool.DespawnInstance(instance);
                    break;
                }
                if (prefabPool._despawned.FirstOrDefault((PrefabPool.DespawnedItem x) => instance == x.transform) != null)
                {
                    UnityEngine.Debug.Log(string.Format("SpawnPool {0}: {1} has already been despawned. You cannot despawn something more than once!", this.poolName, instance.name));
                    return;
                }
            }
            if (!flag)
            {
                return;
            }
            this._spawned.Remove(instance);
        }