/// <summary> /// 显示未命中时候的效果 /// </summary> public static void ShowDamageEffect(Damage dmg, uint effectType, int value = 0) { var damageEffects = DBDamageEffect.GetInstance().DamagetEffects; using (var enumer = damageEffects.GetEnumerator()) { while (enumer.MoveNext()) { var info = enumer.Current.Value; // 从DBDamageEffect配表中获取匹配的特殊伤害类型 if ((effectType & info.ID) != 0) { FightEffectHelp.FightEffectType type = FightEffectHelp.GetFightEffectTypeByDamageEffect((Damage.EDamageEffect)info.ID); if (info.Target == DBDamageEffect.EffectTarget.ET_DEST) { var targer_actor = dmg.target; if (targer_actor != null) { targer_actor.ShowDamageEffect(type, dmg.SrcID, value); } } else if (info.Target == DBDamageEffect.EffectTarget.ET_SRC) { var src_actor = dmg.src; if (src_actor != null) { if (type == FightEffectHelp.FightEffectType.OneHitKill) { continue; } src_actor.ShowDamageEffect(type, dmg.SrcID, value); } } } } } }
public DBDamageEffect(string strName, string strPath) : base(strName, strPath) { mInstance = this; }