Exemple #1
0
    public EffectObject PlayChainEff(Character c1, Character c2, string eff, string boneName1, string boneName2)
    {
        ChainEffectObject ribbon = null;
        if (!string.IsNullOrEmpty(eff) && eff != "null")
        {
            try
            {
                GameObject obj = EffectMgr.Load(eff);
                ribbon = new ChainEffectObject(obj);
                effects.Add(ribbon);

                GameObject begin = Helper.FindObject(ribbon.obj, "Begin_01");
                GameObject end = Helper.FindObject(ribbon.obj, "End_01");
                GameObject bone1 = c1.FindBone(boneName1);//Helper.FindObject(c1.gameObject, boneName1, false);
                GameObject bone2 = c2.FindBone(boneName2);//Helper.FindObject(c2.gameObject, boneName2, false);
                begin.transform.position = bone1.transform.position;
                begin.transform.parent = bone1.transform;
                end.transform.position = bone2.transform.position;
                end.transform.parent = bone2.transform;
                ribbon.begin = begin;
                ribbon.end = end;

                Effect e = DataMgr.GetEffect(eff);
                if (e != null)
                {
                    if (e.time > 0f)
                        DestroyEff(ribbon, e.time);
                }
            }
            catch (UnityException e)
            {
                Debug.LogException(e);
            }
        }

        return ribbon;
    }
Exemple #2
0
    public EffectObject PlayChainEff(string eff, float destroyTime)
    {
        EffectObject effObj = null;
        if (!string.IsNullOrEmpty(eff) && eff != "null")
        {
            try
            {
                GameObject obj = EffectMgr.Load(eff);
                effObj = new ChainEffectObject(obj);
                effects.Add(effObj);

                Effect e = DataMgr.GetEffect(eff);
                if (e != null)
                {
                    if (e.time > 0f)
                        DestroyEff(effObj, e.time);
                }
                else
                {
                    if (destroyTime > 0)
                        DestroyEff(effObj, 3f);
                    else
                        DestroyEff(effObj, 5f);
                }
            }
            catch (UnityException e)
            {
                Debug.LogException(e);
            }
        }
        return effObj;
    }