public static GameObjectPool CreatePool(GameObject[] objectsToPool, int poolSize, string poolTag) { GameObjectPool pool; if (_poolCache.TryGetValue (poolTag, out pool)) { return pool; } else { pool = new GameObjectPool (objectsToPool, poolSize); pool.Fill(); _poolCache.Add(poolTag, pool); return pool; } }