Exemple #1
0
    /// <summary>
    /// 将特效对象归还到对象池 by吴江
    /// </summary>
    /// <param name="_indicator"></param>
    public bool DespawnEffecter(PoolEffecter _Effecter)
    {
        if (_Effecter == null)
        {
            Debug.LogError("_Effecter为空!无法归还!");
            return(false);
        }
        _Effecter.OnDespawned();
        exComponentPool <PoolEffecter> pool = null;

        if (defEffectPoolDictionary.TryGetValue(_Effecter.name, out pool))
        {
            if (pool != null)
            {
                try
                {
                    pool.Return(_Effecter);
                    return(true);
                }
                catch
                {
                    GameObject.DestroyImmediate(_Effecter);
                }
            }
            else
            {
                GameObject.DestroyImmediate(_Effecter);
            }
        }
        else
        {
            GameObject.DestroyImmediate(_Effecter);
        }
        return(false);
    }