Exemple #1
0
    /// <summary>Destroy an object and return it to the pool scene
    /// </summary>
    public static void Destroy(GameObject gameObject)
    {
        PoolChecker poolChecker = gameObject.GetComponent <PoolChecker>();

        if (poolChecker == null)
        {
            Debug.LogWarning("GameObject: " + gameObject + " isn't from a pool", gameObject);
            return;
        }

        gameObject.transform.SetParent(null);
        SceneManager.MoveGameObjectToScene(gameObject, poolScene);

        if (poolDictionary.ContainsKey(poolChecker.poolTag))
        {
            Pool.PoolPrefab pool = poolDictionary[poolChecker.poolTag];
            if (pool.undetermined)
            {
                gameObject.SetActive(false);
                pool.undeterminedPool.Remove(gameObject);
            }
            else
            {
                gameObject.SetActive(false);
            }
        }
    }
Exemple #2
0
 protected override void OnStart(string[] args)
 {
     poolChecker = new PoolChecker();
 }