Example #1
0
 public PoolItem GetItem()
 {
     if (item_pools.Count < 1)
     {
         PoolItem item = Instantiate(item_prefab, transform);
         item.Show();
         return(item);
     }
     else
     {
         PoolItem item = item_pools.Pop();
         item.ResetItem();
         item.Show();
         return(item);
     }
 }
Example #2
0
    /// <summary>
    /// 取出一个物体
    /// </summary>
    public GameObject New()
    {
        PoolItem item = null;

        if (objQueue.Count > 0)
        {
            item = objQueue.Dequeue();
        }
        else
        {
            Count++;
            item          = Tools.CreateGameObjectByObj(goObj, parent).GetComponent <PoolItem>();
            item.callback = Recycle;
            item.Init();
        }
        item.ResetItem();
        return(item.gameObject);
    }