技能增加能量特效

This commit is contained in:
puxuan 2025-10-30 21:07:41 +08:00
parent 6246d7ba33
commit f5f092c1e8
6 changed files with 33 additions and 6 deletions

View File

@ -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*************

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"]

View File

@ -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)