Beispiel #1
0
 public void Clear()
 {
     while (PoolObjs.Count > 0)
     {
         GameObject.Destroy(PoolObjs.Pop());
     }
 }
Beispiel #2
0
        public GameObject Spawn()
        {
            GameObject requiredObj;
            IPoolable  poolScript;

            if (PoolObjs.Count == 0)
            {
                requiredObj = GameObject.Instantiate(Prefab);
                poolScript  = requiredObj.GetComponent <IPoolable>();
                if (poolScript == null)
                {
                    poolScript = requiredObj.AddComponent <BasePoolObj>();
                    poolScript.RecycleToPool += Recycle;
                }
            }
            else
            {
                requiredObj = PoolObjs.Pop();
                poolScript  = requiredObj.GetComponent <IPoolable>();
            }
            poolScript.OnSpawn();
            return(requiredObj);
        }