From b9f3f557ab02da1c15de3fab92c5ae41843d1163 Mon Sep 17 00:00:00 2001 From: puxuan <413323644@qq.com> Date: Wed, 22 Oct 2025 18:32:24 +0800 Subject: [PATCH] fix bug --- lua/app/common/local_data.lua | 11 +++++ .../localization_global_const.lua | 1 + lua/app/config/strings/cn/global.lua | 1 + lua/app/ui/hero/hero_attr_all_ui.lua | 2 +- lua/app/ui/summon/summon_main_ui.lua | 42 +++++++++++++++++-- lua/app/userdata/hero/hero_data.lua | 11 +++++ lua/app/userdata/hero/hero_entity.lua | 8 +++- lua/app/userdata/summon/summon_data.lua | 21 ++++++++++ 8 files changed, 91 insertions(+), 6 deletions(-) diff --git a/lua/app/common/local_data.lua b/lua/app/common/local_data.lua index 2dc09861..f64e7f54 100644 --- a/lua/app/common/local_data.lua +++ b/lua/app/common/local_data.lua @@ -48,6 +48,7 @@ local LOCAL_DATA_KEY = { ACT_PVP_SHOW_HELP = "ACT_PVP_SHOW_HELP", FUNC_OPEN = "FUNC_OPEN", FUNC_OPEN_POP = "FUNC_OPEN_POP", + SUMMON_SKIP = "SUMMON_SKIP", } LocalData.KEYS = LOCAL_DATA_KEY @@ -541,4 +542,14 @@ function LocalData:setFuncOpenShowList(list) self:setString(self:getRoleKey(LOCAL_DATA_KEY.FUNC_OPEN), jsonStr) end +function LocalData:getSummonSkipFlag() + local jsonStr = self:getInt(self:getRoleKey(LOCAL_DATA_KEY.SUMMON_SKIP), 0) + return json.decode(jsonStr) +end + +function LocalData:setSummonSkipFlag(flag) + self:setInt(self:getRoleKey(LOCAL_DATA_KEY.SUMMON_SKIP), flag) +end + + return LocalData \ No newline at end of file diff --git a/lua/app/config/localization/localization_global_const.lua b/lua/app/config/localization/localization_global_const.lua index 6c4a8698..bd7ca331 100644 --- a/lua/app/config/localization/localization_global_const.lua +++ b/lua/app/config/localization/localization_global_const.lua @@ -935,6 +935,7 @@ local LocalizationGlobalConst = FUNC_OPEN_STAGE_SEVER = "FUNC_OPEN_STAGE_SEVER", FUNC_OPEN_LEVEL_SEVER = "FUNC_OPEN_LEVEL_SEVER", FUNC_OPEN_STAGE_OR_SEVER = "FUNC_OPEN_STAGE_OR_SEVER", + ACT_TURNTABLE_DESC_5 = "ACT_TURNTABLE_DESC_5", } return LocalizationGlobalConst \ No newline at end of file diff --git a/lua/app/config/strings/cn/global.lua b/lua/app/config/strings/cn/global.lua index 13438584..59c3f956 100644 --- a/lua/app/config/strings/cn/global.lua +++ b/lua/app/config/strings/cn/global.lua @@ -935,6 +935,7 @@ local localization_global = ["FUNC_OPEN_STAGE_SEVER"] = "通关章节{0}且{1}/{2}天后解锁", ["FUNC_OPEN_LEVEL_SEVER"] = "等级达到{0}且{1}/{2}天后解锁", ["FUNC_OPEN_STAGE_OR_SEVER"] = "通关章节{0}或{1}/{2}天后解锁", + ["ACT_TURNTABLE_DESC_5"] = "跳过动画", } return localization_global \ No newline at end of file diff --git a/lua/app/ui/hero/hero_attr_all_ui.lua b/lua/app/ui/hero/hero_attr_all_ui.lua index f78a3268..c4ed551c 100644 --- a/lua/app/ui/hero/hero_attr_all_ui.lua +++ b/lua/app/ui/hero/hero_attr_all_ui.lua @@ -37,7 +37,7 @@ function HeroAttrUI:onLoadRootComplete() end function HeroAttrUI:onRefresh() - local attr = self.heroEntity:getStarAttr() + local attr = DataManager.HeroData:getAllStarAttr() self.hpAttrTx:setText(GFunc.getFinalAttrValue(GConst.ALL_ATTR.ATTR_HPP_ALL, attr.attr_hpp_all or 0, 2)) self.atkAttrTx:setText(GFunc.getFinalAttrValue(GConst.ALL_ATTR.ATTR_ATKP_ALL, attr.attr_atkp_all or 0, 2)) end diff --git a/lua/app/ui/summon/summon_main_ui.lua b/lua/app/ui/summon/summon_main_ui.lua index 9c796cee..942968aa 100755 --- a/lua/app/ui/summon/summon_main_ui.lua +++ b/lua/app/ui/summon/summon_main_ui.lua @@ -122,13 +122,26 @@ function SummonMainUI:onLoadRootComplete() uiMap["summon_main_ui.node.btn_summon_free.text_free"]:setText(I18N:getGlobalText(I18N.GlobalConst.FREE_DESC_1)) uiMap["summon_main_ui.node.btn_summon_ad.desc_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESC_1)) uiMap["summon_main_ui.node.btn_info.desc_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.SUMMON_FORCE_3)) + uiMap["summon_main_ui.node.skip_node.text"]:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_TURNTABLE_DESC_5)) self.descBg = uiMap["summon_main_ui.node.desc_bg"] self.descTx = uiMap["summon_main_ui.node.desc_bg.desc_tx"] self.descBg:setActive(false) - self.btnTxs = { - I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESC_6), - I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESC_7), - } + self.skipNode = uiMap["summon_main_ui.node.skip_node"] + self.skipNodeCheck = uiMap["summon_main_ui.node.skip_node.check"] + self.skipNodeSelect = uiMap["summon_main_ui.node.skip_node.check.select"] + self.skipNodeTx = uiMap["summon_main_ui.node.skip_node.text"] + self.skipNode:addClickListener(function() + local isQuick = DataManager.SummonData:getSkipAniFlag() + DataManager.SummonData:setSkipAniFlag(not isQuick) + self.skipNodeSelect:setActive(not isQuick) + end) + local isQuick = DataManager.SummonData:getSkipAniFlag() + self.skipNodeSelect:setActive(isQuick) + GFunc.centerImgAndTx(self.skipNodeCheck, self.skipNodeTx, 5) + -- self.btnTxs = { + -- I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESC_6), + -- I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESC_7), + -- } -- self.pageBtns = {} -- self.pageBtnTxs = {} -- for i = 1, 2 do @@ -410,6 +423,27 @@ function SummonMainUI:onSummonRsp(result, newHero) self.uiNode:setActive(true) return end + if DataManager.SummonData:getSkipAniFlag() then + self:enableTouch() + self.uiNode:setActive(true) + for i = 1, 4 do + self.vfxs[i]:setActive(false) + self.vfx01s[i]:setActive(false) + self.vfx02s[i]:setActive(false) + end + ModuleManager.SummonManager:showSummonRewardUI({ + rewards = result.rewards, + callback = function(count, isAd) + self:onSummon(count, isAd) + end, + closeCallBack =function () + self:fly() + end, + newHero = newHero, + page = self.page + }) + return + end local rewards = {} local qlt = 3 for _, v in ipairs(result.rewards) do diff --git a/lua/app/userdata/hero/hero_data.lua b/lua/app/userdata/hero/hero_data.lua index ef658925..bb3eda56 100644 --- a/lua/app/userdata/hero/hero_data.lua +++ b/lua/app/userdata/hero/hero_data.lua @@ -359,6 +359,17 @@ function HeroData:calcAttr() end end end + +function HeroData:getAllStarAttr() + local allAttr = {} + for k,v in pairs(self.heroes) do + local attr = v:getStarAttr() + for k2,v2 in pairs(attr) do + allAttr[k2] = (allAttr[k2] or 0) + v2 + end + end + return allAttr +end -- endregion --@region 战斗力 diff --git a/lua/app/userdata/hero/hero_entity.lua b/lua/app/userdata/hero/hero_entity.lua index 11e5cb1c..859fbe50 100644 --- a/lua/app/userdata/hero/hero_entity.lua +++ b/lua/app/userdata/hero/hero_entity.lua @@ -194,6 +194,7 @@ function HeroEntity:_updateStarAttr() end function HeroEntity:getStarAttr() + self:getAllAttr() return self.starAttr end @@ -491,7 +492,12 @@ function HeroEntity:getHurtNum() end function HeroEntity:getLvUpCostId() - return self.config.level_id[1] + local list = self:getLvAttrPointList() + if table.containValue(list, self.data.lv + 1) then + return self.config.level_id[2] + else + return self.config.level_id[1] + end end function HeroEntity:getLvUpMaterialNum() diff --git a/lua/app/userdata/summon/summon_data.lua b/lua/app/userdata/summon/summon_data.lua index 91673174..5ab4f5fe 100644 --- a/lua/app/userdata/summon/summon_data.lua +++ b/lua/app/userdata/summon/summon_data.lua @@ -404,4 +404,25 @@ end --@endregion --endregion +--@region 跳过动画 +function SummonData:getSkipAniFlag() + if self.skipAniFlag == nil then + self.skipAniFlag = LocalData:getSummonSkipFlag() == 1 + end + return self.skipAniFlag +end + +function SummonData:setSkipAniFlag(value) + if self.skipAniFlag == value then + return + end + + self.skipAniFlag = value + local flag = 0 + if self.skipAniFlag then + flag = 1 + end + LocalData:setSummonSkipFlag(flag) +end +--@endregion return SummonData \ No newline at end of file