Ejemplo n.º 1
0
    public GameObject GetPooledObject(GameObject prefabToUse, PoolObjectSettings settings)
    {
        if (prefabToUse != null)
        {
            if (this.poolPrefabManagerDictionary.ContainsKey(prefabToUse))
            {
                return(this.poolPrefabManagerDictionary[prefabToUse].GetObjectFromPool(settings));
            }
            else
            {
                TypePoolManager typePoolManager = new TypePoolManager();
                typePoolManager.poolPrefabToUse = new PoolPrefab()
                {
                    prefab = prefabToUse
                };
                this.activePoolManagers.Add(typePoolManager);
                this.poolPrefabManagerDictionary.Add(prefabToUse, typePoolManager);
                return(typePoolManager.GetObjectFromPool(settings));
            }
        }
        else
        {
            Debug.Log("Call to PoolManager with null prefab!");
        }

        return(null);
    }