// 执行技能攻击 public void execAttack(ImmeSkillAttackItem item) { Ctx.m_instance.m_logSys.fightLog("[Fight] 开始执行技能攻击 execAttack"); if (item.skillTableItem.m_bNeedMove > 0) // 如果是有攻击目标的技能攻击 { if (item.skillTableItem != null) { if (item.skillTableItem.m_skillAttackEffect != 0) { foreach (var thisId in item.hurtIdList.list) { if (thisId == m_being.qwThisID) // 如果攻击者还是被击者,就不播放攻击特效了 { Ctx.m_instance.m_logSys.fightLog("[Fight] 攻击者 thisId 和被记者 thisId 相同,不播放攻击特效"); } else { Ctx.m_instance.m_logSys.fightLog("[Fight] 技能攻击播放攻击特效"); Player _player = Ctx.m_instance.m_playerMgr.getPlayerByThisId(thisId); m_being.effectControl.addMoveEffect((int)item.skillTableItem.m_skillAttackEffect, m_being.transform().localPosition, _player.transform().localPosition, item.skillTableItem.m_effectMoveTime); // 攻击特效 } } } } } else // 没有攻击目标的技能攻击 { if (item.skillTableItem != null) { if (item.skillTableItem.m_skillAttackEffect != 0) { Ctx.m_instance.m_logSys.fightLog("[Fight] 技能攻击播放场景特效"); Ctx.m_instance.m_sceneEffectMgr.addSceneEffect((int)item.skillTableItem.m_skillAttackEffect, Ctx.m_instance.m_scenePlaceHolder.m_sceneRoot); // 添加一个场景特效 } } } }