From 3824222f1c21a22a0ece836cbf870b1e8d9addfd Mon Sep 17 00:00:00 2001 From: puxuan <413323644@qq.com> Date: Wed, 20 Aug 2025 17:44:03 +0800 Subject: [PATCH] fix bug --- .../localization_global_const.lua | 2 + lua/app/config/strings/cn/global.lua | 2 + lua/app/config/strings/cn/skill.lua | 12 ++--- lua/app/global/global_const.lua | 5 +- lua/app/module/summon/summon_manager.lua | 2 +- lua/app/ui/main_city/component/main_comp.lua | 4 +- lua/app/ui/summon/cell/summon_hero_cell.lua | 8 +-- lua/app/ui/summon/summon_main_ui.lua | 6 +-- lua/app/ui/summon/summon_odds_ui.lua | 16 +++--- lua/app/ui/summon/summon_reward_ui.lua | 49 +++++++++++++------ lua/app/userdata/summon/summon_data.lua | 25 +++++++--- 11 files changed, 83 insertions(+), 48 deletions(-) diff --git a/lua/app/config/localization/localization_global_const.lua b/lua/app/config/localization/localization_global_const.lua index 47000cc1..350612f8 100644 --- a/lua/app/config/localization/localization_global_const.lua +++ b/lua/app/config/localization/localization_global_const.lua @@ -671,6 +671,8 @@ local LocalizationGlobalConst = HERO_DESC_18 = "HERO_DESC_18", HERO_DESC_19 = "HERO_DESC_19", HERO_DESC_20 = "HERO_DESC_20", + SUMMON_DESC_3 = "SUMMON_DESC_3", + SUMMON_DESC_4 = "SUMMON_DESC_4", } 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 a48385cc..723b4e2e 100644 --- a/lua/app/config/strings/cn/global.lua +++ b/lua/app/config/strings/cn/global.lua @@ -671,6 +671,8 @@ local localization_global = ["HERO_DESC_18"] = "去升级", ["HERO_DESC_19"] = "星级达到{0}", ["HERO_DESC_20"] = "可继续升级", + ["SUMMON_DESC_3"] = "在[高级招聘]中,如果连续49次没有获得传说快递员,则第50次必 当获得传说快递员;且在[高级招聘]中获得任意传说快递员时,该", + ["SUMMON_DESC_4"] = "概率预览", } return localization_global \ No newline at end of file diff --git a/lua/app/config/strings/cn/skill.lua b/lua/app/config/strings/cn/skill.lua index 2a64d882..725facb2 100644 --- a/lua/app/config/strings/cn/skill.lua +++ b/lua/app/config/strings/cn/skill.lua @@ -36,10 +36,10 @@ local skill = { ["desc"]="光合特工:为团队回复一次生命。" }, [3500120]={ - ["desc"]="快递仙人:额外造成4次大量技能伤害。" + ["desc"]="树懒镖师:额外造成4次技能伤害。" }, [3500220]={ - ["desc"]="树懒镖师:额外造成4次技能伤害。" + ["desc"]="快递仙人:额外造成4次大量技能伤害。" }, [4300120]={ ["desc"]="气泡柴犬:额外造成一次技能伤害。" @@ -48,10 +48,10 @@ local skill = { ["desc"]="海的女儿:额外造成一次技能伤害。" }, [4500120]={ - ["desc"]="冰鲜队长:额外造成一次技能伤害,附加腐败1回合。" + ["desc"]="外卖天使:额外造成4次技能伤害,附加冰霜1回合。" }, [4500220]={ - ["desc"]="外卖天使:额外造成4次技能伤害,附加冰霜1回合。" + ["desc"]="冰鲜队长:额外造成一次技能伤害,附加腐败1回合。" }, [5300120]={ ["desc"]="圣盾卫士:为团队附加一个护盾1回合。" @@ -60,10 +60,10 @@ local skill = { ["desc"]="混沌巫师:额外造成一次技能伤害。" }, [5500120]={ - ["desc"]="血族快递伯爵:额外造成4次大量技能伤害。" + ["desc"]="死灵法师:额外造成4次大量技能伤害。" }, [5500220]={ - ["desc"]="死灵法师:额外造成4次大量技能伤害。" + ["desc"]="血族快递伯爵:额外造成4次大量技能伤害。" }, [10015]={ ["desc"]="每2回合恢复生命" diff --git a/lua/app/global/global_const.lua b/lua/app/global/global_const.lua index 85c851ef..e617cd71 100644 --- a/lua/app/global/global_const.lua +++ b/lua/app/global/global_const.lua @@ -333,9 +333,8 @@ GConst.QUALITY_TYPE = [2] = "#A3FF94", [3] = "#4DFFF5", [4] = "#FA79FF", - [5] = "#FFEE79", - [6] = "#FFAC40", - [7] = "#FF5050", + [5] = "#F3A345", + [6] = "#F34545", } GConst.QUALITY_COLOR = { diff --git a/lua/app/module/summon/summon_manager.lua b/lua/app/module/summon/summon_manager.lua index fd200a8c..8218629b 100644 --- a/lua/app/module/summon/summon_manager.lua +++ b/lua/app/module/summon/summon_manager.lua @@ -54,7 +54,7 @@ function SummonManager:onForceSummonRsp(result) -- DataManager.ForceData:setForceIsNew(reward.item.id, false) -- end if guarantee1 then - if DataManager.HeroData:getHeroQlt(reward.item.id) == 4 then + if DataManager.HeroData:getHeroQlt(reward.item.id) == 5 then DataManager.SummonData:setSummonTrigger(result.reqData.id, true) else DataManager.SummonData:setSummonTrigger(result.reqData.id, false) diff --git a/lua/app/ui/main_city/component/main_comp.lua b/lua/app/ui/main_city/component/main_comp.lua index 3c71d946..c605d361 100644 --- a/lua/app/ui/main_city/component/main_comp.lua +++ b/lua/app/ui/main_city/component/main_comp.lua @@ -186,8 +186,8 @@ function MainComp:refreshChapter(force) -- self:doMonsterAction() self:refreshChapterBtn() - self.leftBtn:setActive(ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.IDLE_DROP, false)) - self.rightBtn:setActive(ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.SUMMON_OPEN, false)) + self.leftBtn:setActive(ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.IDLE_DROP, true)) + self.rightBtn:setActive(ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.SUMMON_OPEN, true)) end function MainComp:refreshChapterBg() diff --git a/lua/app/ui/summon/cell/summon_hero_cell.lua b/lua/app/ui/summon/cell/summon_hero_cell.lua index 08f6151e..46b89049 100755 --- a/lua/app/ui/summon/cell/summon_hero_cell.lua +++ b/lua/app/ui/summon/cell/summon_hero_cell.lua @@ -34,8 +34,8 @@ function SummonBallCell:refresh(wishHeroId, heroId, callback, select) -- self.icon:setSprite(GConst.ATLAS_PATH.ICON_HERO, cfg.icon) -- self.heroBg:setSprite(GConst.ATLAS_PATH.HERO, GConst.FRAME_QLT[cfg.qlt]) - self.heroBg:setSprite(GConst.ATLAS_PATH.UI_SUMMON, "summon_card_" .. (cfg.qlt - 2)) - self.heroDec:setSprite(GConst.ATLAS_PATH.HERO, GConst.HERO_DEC_QLT[cfg.qlt]) + self.heroBg:setSprite(GConst.ATLAS_PATH.UI_SUMMON, "summon_card_" .. cfg.qlt) + self.heroDec:setSprite(GConst.ATLAS_PATH.ICON_HERO, GConst.HERO_DEC_QLT[cfg.qlt]) self.matchImg:setSprite(GConst.ATLAS_PATH.ICON_HERO, GConst.HeroConst.MATCH_ICON_NAME[cfg.position]) self.nameTx:setText(ModuleManager.HeroManager:getHeroName(heroId)) @@ -71,8 +71,8 @@ function SummonBallCell:refreshInfo(heroId) self.heroId = heroId local cfg = DataManager.HeroData:getHeroConfig(heroId) -- self.icon:setSprite(GConst.ATLAS_PATH.ICON_HERO, cfg.icon) - self.heroBg:setSprite(GConst.ATLAS_PATH.UI_SUMMON, "summon_card_" .. (cfg.qlt - 2)) - self.heroDec:setSprite(GConst.ATLAS_PATH.HERO, GConst.HERO_DEC_QLT[cfg.qlt]) + self.heroBg:setSprite(GConst.ATLAS_PATH.UI_SUMMON, "summon_card_" .. cfg.qlt) + self.heroDec:setSprite(GConst.ATLAS_PATH.ICON_HERO, GConst.HERO_DEC_QLT[cfg.qlt]) self.matchImg:setSprite(GConst.ATLAS_PATH.ICON_HERO, GConst.HeroConst.MATCH_ICON_NAME[cfg.position]) self.nameTx:setText(ModuleManager.HeroManager:getHeroName(heroId)) diff --git a/lua/app/ui/summon/summon_main_ui.lua b/lua/app/ui/summon/summon_main_ui.lua index c399fa9f..dd43e150 100755 --- a/lua/app/ui/summon/summon_main_ui.lua +++ b/lua/app/ui/summon/summon_main_ui.lua @@ -189,7 +189,7 @@ function SummonMainUI:onLoadRootComplete() end end) self:bind(DataManager.SummonData, "isDirty", function() - self:refreshWishBtn() + self:onRefresh() end) -- self:bind(DataManager.ActTimeData, "isDirty", function() -- self:onRefresh() @@ -405,8 +405,8 @@ function SummonMainUI:onSummonRsp(result, newForce) if self.isJumpTween or self.selectSpineId ~= 1 then ModuleManager.SummonManager:showSummonRewardUI({ rewards = self.summonResult.rewards, - callback = function(count) - self:onSummon(count) + callback = function(count, isAd) + self:onSummon(count, isAd) end, newForce = newForce, page = self.page diff --git a/lua/app/ui/summon/summon_odds_ui.lua b/lua/app/ui/summon/summon_odds_ui.lua index 5a125b61..cf6e21a5 100755 --- a/lua/app/ui/summon/summon_odds_ui.lua +++ b/lua/app/ui/summon/summon_odds_ui.lua @@ -17,8 +17,8 @@ end function SummonOddsUI:onLoadRootComplete() local uiMap = self.root:genAllChildren() - uiMap["summon_odds_ui.bg.tx_title"]:setText(I18N:getGlobalText(I18N.GlobalConst.SUMMON_FORCE_3)) - uiMap["summon_odds_ui.bg.desc_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.SUMMON_FORCE_3)) + uiMap["summon_odds_ui.bg.tx_title"]:setText(I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESC_4)) + uiMap["summon_odds_ui.bg.desc_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESC_3)) self.content = uiMap["summon_odds_ui.bg.target_node.bg.scrollrect.viewport.content"] self.layout_content = self.content:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_HORIZONTAL_OR_VERTICAL_LAYOUT) @@ -45,7 +45,8 @@ function SummonOddsUI:onRefresh() local shows = DataManager.SummonData:getSummonShow(self.page) self.shadowObjs = {} self.layoutObjs = {} - for i, data in pairs(shows) do + for i = #shows, 1, -1 do + local data = shows[i] local shadowObj = CS.UnityEngine.Object.Instantiate(self.title:getGameObject()) local title_item = UIPrefabObject:create() title_item:initWithPrefab(GConst.EMPTY_STRING, shadowObj) @@ -60,13 +61,16 @@ function SummonOddsUI:onRefresh() -- local bg = uiMap["title.bg"] -- local txName = uiMap["title.bg.tx_name"] -- bg:setSprite(GConst.ATLAS_PATH.UI_SUMMON, "summon_bg_" .. data[1]) + local str if i == 1 then - descTx:setText(I18N:getGlobalText(I18N.GlobalConst.HERO_CARD_DESC_QLT_3) .. data[2] / 100 .. "%") + str = I18N:getGlobalText(I18N.GlobalConst.HERO_CARD_DESC_QLT_3) .. data[2] / 100 .. "%" elseif i == 2 then - descTx:setText(I18N:getGlobalText(I18N.GlobalConst.HERO_CARD_DESC_QLT_4) .. data[2] / 100 .. "%") + str = I18N:getGlobalText(I18N.GlobalConst.HERO_CARD_DESC_QLT_4) .. data[2] / 100 .. "%" else - descTx:setText(I18N:getGlobalText(I18N.GlobalConst.HERO_CARD_DESC_QLT_5) .. data[2] / 100 .. "%") + str = I18N:getGlobalText(I18N.GlobalConst.HERO_CARD_DESC_QLT_5) .. data[2] / 100 .. "%" end + local str = string.format("%s", GConst.QUALITY_TYPE[i + 2], str) + descTx:setText(str) -- descTx:setText(I18N:getGlobalText(I18N.GlobalConst.BATTLE_GET_DESC_3, data[2] / 100)) local layoutObj = CS.UnityEngine.Object.Instantiate(self.layout:getGameObject()) local layout_item = UIPrefabObject:create() diff --git a/lua/app/ui/summon/summon_reward_ui.lua b/lua/app/ui/summon/summon_reward_ui.lua index b955f92f..3f02828a 100755 --- a/lua/app/ui/summon/summon_reward_ui.lua +++ b/lua/app/ui/summon/summon_reward_ui.lua @@ -60,9 +60,15 @@ function SummonRewardUI:onLoadRootComplete() self.txOne = uiMap["summon_reward_ui.btn_summon_one.text"] self.txNumOne = uiMap["summon_reward_ui.btn_summon_one.cost.tx_num_one"] self.imgSummonOneIcon = uiMap["summon_reward_ui.btn_summon_one.cost.img_icon_1"] + self.btnSummonFree = uiMap["summon_reward_ui.bg.btn_summon_free"] + self.btnSummonFreeTx = uiMap["summon_reward_ui.bg.btn_summon_free.text_free"] + self.btnSummonAd = uiMap["summon_reward_ui.bg.btn_summon_ad"] + self.btnSummonAdTx = uiMap["summon_reward_ui.bg.btn_summon_ad.desc_tx"] self.txTen:setText(I18N:getGlobalText(I18N.GlobalConst.SUMMON_TEN)) self.txOne:setText(I18N:getGlobalText(I18N.GlobalConst.SUMMON_ONE)) + self.btnSummonFreeTx:setText(I18N:getGlobalText(I18N.GlobalConst.FREE_DESC_1)) + self.btnSummonAdTx:setText(I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESC_1)) self.btnSummonTen:addClickListener(function() self:closeUI() @@ -72,6 +78,12 @@ function SummonRewardUI:onLoadRootComplete() self:closeUI() self.callback(1) end) + self.btnSummonAd:addClickListener(function() + self:closeUI() + SDKManager:showFullScreenAds(BIReport.ADS_CLICK_TYPE.SUMMON_AD, function() + self.callback(1, true) + end) + end) end function SummonRewardUI:setCellEffectOrder(cell) local effects = cell:getEffectQlts() @@ -87,31 +99,37 @@ function SummonRewardUI:onClose() end function SummonRewardUI:refreshSummonBtn() + local freeCount = DataManager.SummonData:getSummonFreeCount(self.page) + local adCount = DataManager.SummonData:getSummonAdCount(self.page) local itemCost = DataManager.SummonData:getSummonItemCost(self.page) local costId = GFunc.getRewardId(itemCost) local costNum = GFunc.getRewardNum(itemCost) local count = DataManager.BagData.ItemData:getItemNumById(costId) local obj = DataManager.BagData.ItemData:getItemById(costId) local cost = DataManager.SummonData:getSummonGemCost(self.page) - if count >= 1 then - self.txNumOne:setText(1) - self.btnSummonOne:addRedPoint(100, 30, 0.6) - else - self.btnSummonOne:removeRedPoint() - if cost then - local costGemNum = GFunc.getRewardNum(cost) - if count == 0 and GFunc.checkCost(GConst.ItemConst.ITEM_ID_GEM, costGemNum, false) then - self.txNumOne:setText(costGemNum) - obj = DataManager.BagData.ItemData:getItemById(GConst.ItemConst.ITEM_ID_GEM) + self.btnSummonAd:setActive(adCount > 0) + self.btnSummonFree:setActive(freeCount > 0) + self.btnSummonOne:setActive(freeCount <= 0) + if freeCount <= 0 then + if count >= 1 then + self.txNumOne:setText(1) + self.btnSummonOne:addRedPoint(100, 30, 0.6) + else + self.btnSummonOne:removeRedPoint() + if cost then + local costGemNum = GFunc.getRewardNum(cost) + if count == 0 and GFunc.checkCost(GConst.ItemConst.ITEM_ID_GEM, costGemNum, false) then + self.txNumOne:setText(costGemNum) + obj = DataManager.BagData.ItemData:getItemById(GConst.ItemConst.ITEM_ID_GEM) + else + self.txNumOne:setText("1") + end else self.txNumOne:setText("1") - end - else - self.txNumOne:setText("1") + end end - + self.imgSummonOneIcon:setSprite(obj:getIconRes()) end - self.imgSummonOneIcon:setSprite(obj:getIconRes()) obj = DataManager.BagData.ItemData:getItemById(costId) if count >= 10 then @@ -200,6 +218,7 @@ function SummonRewardUI:onRefresh() end self:refreshSummonBtn() end + function SummonRewardUI:doUITweenShake(delayTime) if self.shakeSeq then self.shakeSeq:Kill() diff --git a/lua/app/userdata/summon/summon_data.lua b/lua/app/userdata/summon/summon_data.lua index 43409805..13b95e75 100644 --- a/lua/app/userdata/summon/summon_data.lua +++ b/lua/app/userdata/summon/summon_data.lua @@ -36,14 +36,23 @@ end function SummonData:initData(data) self.summonDataMap = {} - for k,v in pairs(data) do - self.summonDataMap[k] = {} - self.summonDataMap[k].freeCount = v.free_count - self.summonDataMap[k].adCount = v.ad_count - self.summonDataMap[k].statCount = v.stat_count - self.summonDataMap[k].triggerCount = v.trigger_count - self.summonDataMap[k].wishId = v.wish_id - self.summonDataMap[k].wishCount = v.wish_count + for i = 1, 2 do + self.summonDataMap[i] = {} + if data[i] then + self.summonDataMap[i].freeCount = data[i].free_count + self.summonDataMap[i].adCount = data[i].ad_count + self.summonDataMap[i].statCount = data[i].stat_count + self.summonDataMap[i].triggerCount = data[i].trigger_count + self.summonDataMap[i].wishId = data[i].wish_id + self.summonDataMap[i].wishCount = data[i].wish_count + else + self.summonDataMap[i].freeCount = 0 + self.summonDataMap[i].adCount = 0 + self.summonDataMap[i].statCount = 0 + self.summonDataMap[i].triggerCount = 0 + self.summonDataMap[i].wishId = 0 + self.summonDataMap[i].wishCount = 0 + end end -- int64 free_count = 1; // 今日免费次数 -- int64 ad_count = 2; // 今日广告免费次数