public void Clear() { while (PoolObjs.Count > 0) { GameObject.Destroy(PoolObjs.Pop()); } }
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); }