Esempio n. 1
0
 private void _registerType(Type type)
 {
     if (!Spawned.ContainsKey(type))
     {
         Spawned.Add(type, new List <IPoolable>());
     }
     if (!Despawned.ContainsKey(type))
     {
         Despawned.Add(type, new List <IPoolable>());
     }
 }
Esempio n. 2
0
        public void Despawn(IPoolable poolable)
        {
            if (poolable == null)
            {
                return;
            }
            var poolableType = poolable.GetType();

            poolable.Despawn();
            if (Spawned.ContainsKey(poolableType) && Spawned[poolableType].Contains(poolable))
            {
                Spawned[poolableType].Remove(poolable);
                Despawned[poolableType].Add(poolable);
            }
            poolable.OnDespawn();
        }