private void PoolObject() { GameObject g = MonoBehaviour.Instantiate(prefab, owningPool.transform.position, owningPool.transform.rotation, owningPool.transform); OriginPoolTracker o = g.AddComponent <OriginPoolTracker>(); o.originPool = this; g.SetActive(false); g.transform.name = g.transform.name.Replace("(Clone)", "").Trim(); objectCache.AddLast(g); currentLoaded++; }
public static void ReturnObject(GameObject obj) { OriginPoolTracker tracker = obj.GetComponent <OriginPoolTracker>(); if (tracker != null) { tracker.originPool.Despawn(obj); } else { Debug.LogWarning("The object \"" + obj.name + "\" did not have a pool tracker, but was instructed to be returned to a pool."); } }