From 694ef22777e8f4bdaac5d66b3a06b9ba598ccd67 Mon Sep 17 00:00:00 2001 From: xiekaidong Date: Wed, 31 May 2023 20:11:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=BC=E5=AD=90=E6=94=AF=E6=8C=81=E4=B8=80?= =?UTF-8?q?=E4=B8=8Bspine?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/app/ui/battle/cell/grid_cell.lua | 23 +++++++++++++++++-- .../userdata/battle/battle_grid_entity.lua | 12 ++++++++++ 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/lua/app/ui/battle/cell/grid_cell.lua b/lua/app/ui/battle/cell/grid_cell.lua index d0f88f5f..b1f7b52a 100644 --- a/lua/app/ui/battle/cell/grid_cell.lua +++ b/lua/app/ui/battle/cell/grid_cell.lua @@ -29,8 +29,27 @@ function GridCell:refresh(gridEntity, curElement, skillPosId) if self.lastGridType ~= gridEntity:getGridType() then self.lastGridType = gridEntity:getGridType() - local atlas, icon = gridEntity:getIcon() - uiMap["grid_cell.touch_node.ani_node.up_bg"]:setSprite(atlas, icon) + local spineObj = uiMap["grid_cell.touch_node.ani_node.up_bg.ui_spine_obj"] + local upBg = uiMap["grid_cell.touch_node.ani_node.up_bg"] + if gridEntity:getSpineAsset() then + spineObj:setActive(true) + Logger.logHighlight(gridEntity:getSpineIdleName()) + spineObj:loadAssetAsync(gridEntity:getSpineAsset(), function() + if gridEntity:getSpineChangeName() then + spineObj:playAnimComplete(gridEntity:getSpineChangeName(), false, true, function() + spineObj:playAnim(gridEntity:getSpineIdleName(), true, false, true) + end, true) + else + Logger.logHighlight("----") + spineObj:playAnim(gridEntity:getSpineIdleName(), true, false, true) + end + end) + upBg:setSprite(GConst.ATLAS_PATH.COMMON, "common_alpha") + else + spineObj:setActive(false) + local atlas, icon = gridEntity:getIcon() + upBg:setSprite(atlas, icon) + end end local skillIcon = uiMap["grid_cell.touch_node.ani_node.skill_icon"] diff --git a/lua/app/userdata/battle/battle_grid_entity.lua b/lua/app/userdata/battle/battle_grid_entity.lua index a83f3d79..9984e0e7 100644 --- a/lua/app/userdata/battle/battle_grid_entity.lua +++ b/lua/app/userdata/battle/battle_grid_entity.lua @@ -394,4 +394,16 @@ function BattleGridEntity:getBreakFlyToCharacterIcon() return self:getGridTypeConfig().bftc_icon end +function BattleGridEntity:getSpineAsset() + return self:getGridTypeConfig().spine_name +end + +function BattleGridEntity:getSpineIdleName() + return self:getGridTypeConfig().spine_idle +end + +function BattleGridEntity:getSpineChangeName() + return self:getGridTypeConfig().spine_change +end + return BattleGridEntity \ No newline at end of file