diff --git a/lua/app/module/battle/controller/battle_base_controller.lua b/lua/app/module/battle/controller/battle_base_controller.lua index 156e9c93..4303f98d 100644 --- a/lua/app/module/battle/controller/battle_base_controller.lua +++ b/lua/app/module/battle/controller/battle_base_controller.lua @@ -57,9 +57,9 @@ function BattleBaseController:getSkillEntities(side) return self.battleData:getSkillEntities(side) end -function BattleBaseController:addSkillEnergy(elementMap, side) +function BattleBaseController:addSkillEnergy(elementMap, side, markEffect) side = side or self.curActionSide - self.battleData:addSkillEnergy(elementMap, side) + self.battleData:addSkillEnergy(elementMap, side, markEffect) end -- *************各个子模块的战斗需要重写的方法 START************* diff --git a/lua/app/module/battle/skill/battle_board_skill_handle.lua b/lua/app/module/battle/skill/battle_board_skill_handle.lua index c8f53fd1..de5d9c1e 100644 --- a/lua/app/module/battle/skill/battle_board_skill_handle.lua +++ b/lua/app/module/battle/skill/battle_board_skill_handle.lua @@ -440,7 +440,7 @@ local function _takeAddSkillEnergy(atkUnitComp, skillEntity, battleController) side = atkUnitComp:getSide() end elementTypeMap = {[elementType] = addEnergy} - battleController:addSkillEnergy(elementTypeMap, side) + battleController:addSkillEnergy(elementTypeMap, side, true) battleController.battleUI:refreshSkill(nil, nil, side) end diff --git a/lua/app/module/battle/skill/battle_rogue_skill_handle.lua b/lua/app/module/battle/skill/battle_rogue_skill_handle.lua index ebefc057..3802cc0b 100644 --- a/lua/app/module/battle/skill/battle_rogue_skill_handle.lua +++ b/lua/app/module/battle/skill/battle_rogue_skill_handle.lua @@ -516,7 +516,7 @@ local _addEnergyRandomOne = function(skillId, skillInfo, battleBaseData, battleC local map = { [elementType] = num } - battleController:addSkillEnergy(map) + battleController:addSkillEnergy(map, nil, true) battleController.battleUI:refreshSkill(nil, nil, battleController:getCurActionSide()) battleController:onFillBoardOver() end @@ -535,7 +535,7 @@ local _addEnergyAll = function(skillId, skillInfo, battleBaseData, battleControl for i = 1, BattleConst.ELEMENT_TYPE.PURPLE do map[i] = num end - battleController:addSkillEnergy(map) + battleController:addSkillEnergy(map, nil, true) battleController.battleUI:refreshSkill(nil, nil, battleController:getCurActionSide()) battleController:onFillBoardOver() end diff --git a/lua/app/ui/battle/battle_base_ui.lua b/lua/app/ui/battle/battle_base_ui.lua index a3453a7a..8c9f4ec2 100644 --- a/lua/app/ui/battle/battle_base_ui.lua +++ b/lua/app/ui/battle/battle_base_ui.lua @@ -1237,11 +1237,13 @@ function BattleBaseUI:refreshSkill(elementMap, showSfx, side) return end + local showEnergySkillEffect = self.battleData:getShowSkillEffect() local skillCellMap = self.skillNodeCells[side] for elementType, skillEntity in pairs(self.battleData:getSkillEntities(side)) do local skillCell = skillCellMap[elementType] if skillCell then skillCell:refresh(skillEntity, elementMap, showSfx) + skillCell:aaa(showEnergySkillEffect and showEnergySkillEffect[elementType]) end end end diff --git a/lua/app/ui/battle/cell/skill_node_cell.lua b/lua/app/ui/battle/cell/skill_node_cell.lua index 0a6c75eb..dd68814a 100644 --- a/lua/app/ui/battle/cell/skill_node_cell.lua +++ b/lua/app/ui/battle/cell/skill_node_cell.lua @@ -57,6 +57,18 @@ function SkillNodeCell:refresh(skillEntity, elementMap, showSfx) self.lastValue = value end +function SkillNodeCell:aaa(showEnergySkillEffect) + if not showEnergySkillEffect then + return + end + local uiMap = self:getUIMap() + local effect01 = uiMap["skill_node_cell.icon_node.vfx_ui_battle_skill_b01"] + effect01:setActive(false) + if showEnergySkillEffect then + effect01:setActive(true) + end +end + function SkillNodeCell:addClickListener(func) local uiMap = self:getUIMap() local iconNode = uiMap["skill_node_cell.icon_node"] diff --git a/lua/app/userdata/battle/battle_base_data.lua b/lua/app/userdata/battle/battle_base_data.lua index 7dd6f163..368e6f85 100644 --- a/lua/app/userdata/battle/battle_base_data.lua +++ b/lua/app/userdata/battle/battle_base_data.lua @@ -580,7 +580,13 @@ function BattleBaseData:isUnlockedSkillElementType(elementType, side) return skillMap[elementType]:getUnlocked() end -function BattleBaseData:addSkillEnergy(elementMap, side) +function BattleBaseData:getShowSkillEffect() + local tmp = self.showSkillEffect + self.showSkillEffect = nil + return tmp +end + +function BattleBaseData:addSkillEnergy(elementMap, side, markEffect) local skillMap = self:getSkillEntities(side) if not skillMap then return @@ -591,6 +597,13 @@ function BattleBaseData:addSkillEnergy(elementMap, side) entity:addEnergy(elementMap[elementType] or 0) end end + + if markEffect then + self.showSkillEffect = {} + for k,v in pairs(elementMap) do + self.showSkillEffect[k] = true + end + end end function BattleBaseData:addSkillCount(skillId, value, side)