Exemplo n.º 1
0
    public PoolObject GetItem()
    {
        PoolObject item = null;

        if (inactive.Count == 0)
        {
            GameObject poolObject = (GameObject)Object.Instantiate(prefab, Vector3.zero, Quaternion.identity);
            item = poolObject.GetComponent <PoolObject>();
            if (item == null)
            {
                Debug.LogError(poolObject.name + " : Not a poolable object!");
            }
            item.Begin(this);
        }
        else
        {
            item = (PoolObject)inactive.Dequeue();
        }
        active.Add(item);
        return(item);
    }