//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); }