Exemple #1
0
        // 执行技能攻击
        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);      // 添加一个场景特效
                    }
                }
            }
        }
        // 执行技能攻击
        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);      // 添加一个场景特效
                    }
                }
            }
        }