Exemple #1
0
    //manually emit effect node by expected position.
    public EffectNode EmitNode(string eftName, Vector3 pos)
    {
        List <XffectComponent> cache = EffectDic[eftName];

        if (cache == null)
        {
            Debug.LogError(name + ": cache doesnt exist!");
            return(null);
        }
        if (cache.Count > 1)
        {
            Debug.LogWarning("EmitNode() only support only-one xffect cache!");
        }
        XffectComponent xft = (XffectComponent)cache[0];

        if (!XffectComponent.IsActive(xft.gameObject))
        {
            xft.Active();
        }

        EffectNode ret = xft.EmitByPos(pos);

        if (ret == null)
        {
            Debug.LogError("emit node error! may be node max count is not enough:" + eftName);
        }

        return(ret);
    }
    //manually emit effect node by expected position.
    public EffectNode EmitNode(string eftName, Vector3 pos)
    {
        ArrayList cache = EffectDic[eftName];

        if (cache == null)
        {
            Debug.LogError(name + ": cache doesnt exist!");
            return(null);
        }
        if (cache.Count > 1)
        {
            Debug.LogWarning("EmitNode() only support only-one xffect cache!");
        }
        XffectComponent xft = (XffectComponent)cache[0];

        if (xft.gameObject.active == false)
        {
            xft.Active();
        }
        return(xft.EmitByPos(pos));
    }