Example #1
0
 /// <summary>
 /// Per ogni struttura crea i prefab degli oggetti e se li salva in una lista
 /// </summary>
 void PopulatePool()
 {
     for (int i = 0; i < pooledData.Quantity; i++)
     {
         IPoollable p = InstantiateCollectables();
         avaiableObjects.Add(p);
         p.ToggleObject(false);
     }
 }
Example #2
0
    /// <summary>
    /// Controlla se è presente un collectable disponibile, lo sposta dalla lista dei disponibili a quella dei non disponibili,
    /// e lo restituisce. (Se la lista è a zero, crea un nuovo collectable)
    /// </summary>
    /// <returns></returns>
    public T GetFirstCollectable()
    {
        IPoollable obj = null;

        if (avaiableObjects.Count > 0)
        {
            obj = avaiableObjects[0];
            unavaiableObjects.Add(obj);
            avaiableObjects.Remove(obj);
        }
        else
        {
            obj = InstantiateCollectables();
        }

        obj.ToggleObject(true);
        return((T)obj);
    }