From 188ff4726569dd1926889f36d1a5bee39b5d9e97 Mon Sep 17 00:00:00 2001 From: xiekaidong Date: Mon, 24 Apr 2023 17:38:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=BB=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/app/module/battle/battle_const.lua | 1 + lua/app/ui/battle/battle_ui.lua | 44 ++++++++++++++++++++++++++ lua/app/ui/main_city/main_city_ui.lua | 15 +++++---- 3 files changed, 53 insertions(+), 7 deletions(-) diff --git a/lua/app/module/battle/battle_const.lua b/lua/app/module/battle/battle_const.lua index 9c784842..804615cb 100644 --- a/lua/app/module/battle/battle_const.lua +++ b/lua/app/module/battle/battle_const.lua @@ -624,5 +624,6 @@ BattleConst.GRID_TYPE_BREAK_SFX = { [BattleConst.GRID_TYPE.VINES] = "assets/prefabs/effects/battle/sfx_piece_za_b03.prefab", [BattleConst.GRID_TYPE.ICE] = "assets/prefabs/effects/battle/sfx_piece_za_b02.prefab", } +BattleConst.LINK_SMOKE = "assets/prefabs/effects/battle/sfx_piece_smoke_b01.prefab" return BattleConst \ No newline at end of file diff --git a/lua/app/ui/battle/battle_ui.lua b/lua/app/ui/battle/battle_ui.lua index a7eb8c4e..980048dc 100644 --- a/lua/app/ui/battle/battle_ui.lua +++ b/lua/app/ui/battle/battle_ui.lua @@ -727,6 +727,9 @@ function BattleUI:eliminationAni(sequence, callback) for index, info in ipairs(sequence) do if not self.posIdMap[info.posId] then + self:getSfxSmoke(index, function(obj) + obj:play() + end) self.posIdMap[info.posId] = true local entity = DataManager.BattleData:getGridEntity(info.posId) @@ -1223,6 +1226,47 @@ function BattleUI:hideAllSfxGridBreak() end end +function BattleUI:getSfxSmoke(index, func) + self.hidingAllSfxSmoke = false + + if not self.root.smokeSfxObjs then + self.root.smokeSfxObjs = {} + end + if self.root.smokeSfxObjs[index] then + if self.root.smokeSfxObjs[index].obj and func then + local obj = self.root.smokeSfxObjs[index].obj + obj:setActive(true) + func(obj) + end + else + self.root.smokeSfxObjs[index] = { + isLoaded = true + } + EffectManager:loadUIEffectAsync(GConst.BattleConst.LINK_SMOKE, self, self.gridNode, 11, function(obj) + self.root.smokeSfxObjs[index].obj = obj + if self.hidingAllSfxLine then + obj:setActive(false) + else + if func then + func(obj) + end + end + end) + end +end + +function BattleUI:hideAllSfxSmoke() + self.hidingAllSfxSmoke = true + if not self.root.smokeSfxObjs then + return + end + for inde, info in pairs(self.root.smokeSfxObjs) do + if info.obj then + info.obj:setActive(false) + end + end +end + function BattleUI:initTutorialNode() local uiMap = self.root:genAllChildren() self.tutorialNode = uiMap["battle_ui.tutorial_node"] diff --git a/lua/app/ui/main_city/main_city_ui.lua b/lua/app/ui/main_city/main_city_ui.lua index c25cb5f4..026fc0a3 100644 --- a/lua/app/ui/main_city/main_city_ui.lua +++ b/lua/app/ui/main_city/main_city_ui.lua @@ -171,9 +171,13 @@ function MainCityUI:initBottomUI() end if self.selectedIndex == 2 then - uiMap["main_ui.bottom_node.icons.ui_spine_obj_l"]:playAnim("born", false, false) + uiMap["main_ui.bottom_node.icons.ui_spine_obj_l"]:playAnimComplete("born", false, false, function() + uiMap["main_ui.bottom_node.icons.ui_spine_obj_l"]:playAnim("idle", false, false) + end) else - uiMap["main_ui.bottom_node.icons.ui_spine_obj_r"]:playAnim("born", false, false) + uiMap["main_ui.bottom_node.icons.ui_spine_obj_r"]:playAnimComplete("born", false, false, function() + uiMap["main_ui.bottom_node.icons.ui_spine_obj_r"]:playAnim("idle", false, false) + end) end self:refreshBottom(i, true) end) @@ -185,11 +189,8 @@ function MainCityUI:initBottomUI() end end - -- uiMap["main_ui.bottom_node.icons.ui_spine_obj_l"]:playAnim("born", false, false) - uiMap["main_ui.bottom_node.icons.ui_spine_obj_l"]:setTimeScale(0.3) - - -- uiMap["main_ui.bottom_node.icons.ui_spine_obj_r"]:playAnim("born", false, false) - uiMap["main_ui.bottom_node.icons.ui_spine_obj_r"]:setTimeScale(0.3) + uiMap["main_ui.bottom_node.icons.ui_spine_obj_l"]:playAnim("idle", false, false) + uiMap["main_ui.bottom_node.icons.ui_spine_obj_r"]:playAnim("idle", false, false) end function MainCityUI:initComp()