Example #1
0
    private void RecycleGameObject(GameObject pooledGameObject, bool setIsInit)
    {
        if (pooledGameObject == null)
        {
            return;
        }
        PooledGameObjectScript component = pooledGameObject.GetComponent <PooledGameObjectScript>();

        if (component != null)
        {
            Queue <PooledGameObjectScript> queue = null;
            if (this.m_pooledGameObjectMap.TryGetValue(component.prefabKey.JavaHashCodeIgnoreCase(), out queue))
            {
                queue.Enqueue(component);
                component.OnRecycle();
                component.transform.SetParent(this.m_poolRoot.transform, true);
                component.isInit = setIsInit;
                return;
            }
        }
        UnityEngine.Object.Destroy(pooledGameObject);
    }