Exemplo n.º 1
0
    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++;
    }
Exemplo n.º 2
0
    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.");
        }
    }