// 执行普通受伤 public void execHurt(ImmeComHurtItem item) { Ctx.m_instance.m_logSys.fightLog("[Fight] 执行普通受伤 execHurt"); LinkEffect effect = null; if (item.bDamage) // 如果受伤 { if (item.hurtEffectId > 0) // 如果有特效需要播放,并且被击结束以特效为标准 { Ctx.m_instance.m_logSys.fightLog("[Fight] 执行普通播放受伤特效"); effect = m_being.effectControl.addLinkEffect(item.hurtEffectId); // 被击特效 m_being.effectControl.addLinkEffect(ImmeHurtItemBase.DAMAGE_EFFECTID); // 掉血特效必然播放 effect.addEffectPlayEndHandle(item.onHurtExecEnd); } // 播放伤害数字 m_being.playFlyNum(-item.damage); } else if (item.bAddHp) // 回血 { // 仅仅改变属性 //if (!item.bStateChange()) // 如果没有状态变化,直接结束,如果有,会释放特效结束 //{ m_being.playFlyNum(item.addHp); item.onHurtExecEnd(null); //} } else // 不伤血也不加血,直接结束 { item.onHurtExecEnd(null); } }
public ImmeHurtItemBase createItem(EImmeHurtType type) { ImmeHurtItemBase ret = null; if (EImmeHurtType.eCommon == type) { ret = new ImmeComHurtItem(type); ret.delayTime = ImmeAttackItemBase.ComAttMoveTime; } else if (EImmeHurtType.eSkill == type) { ret = new ImmeSkillHurtItem(type); ret.delayTime = 1; // 技能攻击延迟时间有技能攻击飞行特效的时间决定,这里赋值一个默认的值 } else if (EImmeHurtType.eDie == type) { ret = new ImmeDieItem(type); } m_hurtList.Add(ret); ret.hurtExecEndDisp.addEventHandle(onOneHurtExecEnd); return(ret); }
public ImmeHurtItemBase createItem(EImmeHurtType type) { ImmeHurtItemBase ret = null; if (EImmeHurtType.eCommon == type) { ret = new ImmeComHurtItem(type); ret.delayTime = ImmeAttackItemBase.ComAttMoveTime; } else if (EImmeHurtType.eSkill == type) { ret = new ImmeSkillHurtItem(type); ret.delayTime = 1; // 技能攻击延迟时间有技能攻击飞行特效的时间决定,这里赋值一个默认的值 } else if (EImmeHurtType.eDie == type) { ret = new ImmeDieItem(type); } m_hurtList.Add(ret); ret.hurtExecEndDisp.addEventHandle(onOneHurtExecEnd); return ret; }