public bool Fire(string effectName, Color color)
    {
        if (EffectContainer.GetEffectCount() > 5)
        {
            Debuger.LogWarning("system busy");
            return(false);
        }

        m_strEffectName = effectName;

        GameObject effect = EffectContainer.EffectFactory(m_strEffectName);

        if (effect == null)
        {
            Debuger.LogWarning("can't load target effect " + m_strEffectName);
            return(false);
        }
        effect.transform.position = m_EffectPos;
        m_EffectObj = effect;

        SetEffectColor(m_EffectObj, color);
        m_Window.Reset();
        return(true);
    }