public static void Despawn(MonoPoolable instance) { if (instance.IsDesignTimeObject) { instance.gameObject.SetActive(false); return; } var pool = GetPool(instance.Prefab); pool.Despawn(instance); SetParent(instance.transform, root); }
private static MonoPool <MonoPoolable> GetPool(MonoPoolable prefab) { if (pools.ContainsKey(prefab)) { return(pools[prefab]); } else { MonoPool <MonoPoolable> newPool = new MonoPool <MonoPoolable>(prefab); pools.Add(prefab, newPool); return(newPool); } }
public void Despawn(MonoPoolable instance) { MonoPool <MonoPoolable> pool = GetPool(instance.Prefab); pool.Despawn(instance); }