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