From 4c27243520b87e3e3bb9b90f7fd02a74b289bb57 Mon Sep 17 00:00:00 2001 From: Fang Date: Fri, 15 Sep 2023 20:11:50 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=B7=E6=B1=82=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/activity/full_moon/full_moon_manager.lua | 11 ++++++++++- .../controller/battle_controller_full_moon_skin.lua | 6 +----- lua/app/module/task/task_manager.lua | 5 +++++ lua/app/ui/activity/full_moon/full_moon_ui.lua | 5 +++++ .../userdata/activity/full_moon/full_moon_data.lua | 10 +++++++++- 5 files changed, 30 insertions(+), 7 deletions(-) diff --git a/lua/app/module/activity/full_moon/full_moon_manager.lua b/lua/app/module/activity/full_moon/full_moon_manager.lua index 9c298343..ce42bcb1 100644 --- a/lua/app/module/activity/full_moon/full_moon_manager.lua +++ b/lua/app/module/activity/full_moon/full_moon_manager.lua @@ -28,10 +28,19 @@ function FullMoonManager:reqActData() if not DataManager.FullMoonData:isOpen() then return end + if not DataManager.FullMoonData:isOpenTime() then + return + end + if self.isReqActData then + return + end + + self.isReqActData = true self:sendMessage(ProtoMsgType.FromMsgEnum.FullMoonInfoReq, {}, {}, self.rspActData, nil) end function FullMoonManager:rspActData(result) + self.isReqActData = false if result.err_code == GConst.ERROR_STR.SUCCESS then DataManager.FullMoonData:onGetActData(result.full_moon) end @@ -84,7 +93,7 @@ end -- 请求皮肤关卡挑战奖励 function FullMoonManager:reqChapterSkinClaim(id, combatReport) - if DataManager.FullMoonData:isReceivedSkinFirstChallengeReward(id) then + if not combatReport.victory or DataManager.FullMoonData:isReceivedSkinFirstChallengeReward(id) then ModuleManager.BattleManager:showBattleResultUI(GConst.BattleConst.BATTLE_TYPE.FULL_MOON_SKIN, {}, combatReport or {}, nil, nil, true) return end diff --git a/lua/app/module/battle/controller/battle_controller_full_moon_skin.lua b/lua/app/module/battle/controller/battle_controller_full_moon_skin.lua index 946e67a3..ba960300 100644 --- a/lua/app/module/battle/controller/battle_controller_full_moon_skin.lua +++ b/lua/app/module/battle/controller/battle_controller_full_moon_skin.lua @@ -22,19 +22,15 @@ function BattleControllerFullMoonSkin:controllBattleEnd() local atkReport = {} local teamEntity = self.battleData:getAtkTeam() local members = teamEntity:getAllMembers() - local totalDamage = 0 for k, v in pairs(members) do local report = { heroId = v:getId(), dmg = v:getDamageCount(), } - totalDamage = totalDamage + v:getDamageCount() table.insert(atkReport, report) end self.combatReport.atkReport = atkReport - if self.victory then - ModuleManager.FullMoonManager:reqChapterSkinClaim(self.chapterId, self.combatReport, totalDamage) - end + ModuleManager.FullMoonManager:reqChapterSkinClaim(self.chapterId, self.combatReport) end function BattleControllerFullMoonSkin:postWaveOver(atkDead, isQuit) diff --git a/lua/app/module/task/task_manager.lua b/lua/app/module/task/task_manager.lua index 662e5666..e04a106a 100644 --- a/lua/app/module/task/task_manager.lua +++ b/lua/app/module/task/task_manager.lua @@ -63,6 +63,11 @@ function TaskManager:onResetDailyTask(result) DataManager.DailyTaskData:setInReset(false) if result.err_code == GConst.ERROR_STR.SUCCESS then DataManager.DailyTaskData:init(result.info) + + -- 检查圆月活动任务更新 + if self:getIsInReset() then + ModuleManager.FullMoonManager:reqActData() + end end end diff --git a/lua/app/ui/activity/full_moon/full_moon_ui.lua b/lua/app/ui/activity/full_moon/full_moon_ui.lua index 8e4cdbf0..fc8144f1 100644 --- a/lua/app/ui/activity/full_moon/full_moon_ui.lua +++ b/lua/app/ui/activity/full_moon/full_moon_ui.lua @@ -107,6 +107,11 @@ function FullMoonUI:onRefresh() self.txCountdown:setText(GFunc.getTimeStrWithHMS2(DataManager.FullMoonData:getEndRemainTime())) self.actCountdownSid = self.txCountdown:scheduleGlobal(function() self.txCountdown:setText(GFunc.getTimeStrWithHMS2(DataManager.FullMoonData:getEndRemainTime())) + + -- 检查更新数据 + if self:getIsInReset() and self.panelType == GConst.FullMoonConst.PANEL_TYPE.TASK then + ModuleManager.FullMoonManager:reqActData() + end end, 1) if self.panelType == GConst.FullMoonConst.PANEL_TYPE.TASK then diff --git a/lua/app/userdata/activity/full_moon/full_moon_data.lua b/lua/app/userdata/activity/full_moon/full_moon_data.lua index c0184067..dc636ed2 100644 --- a/lua/app/userdata/activity/full_moon/full_moon_data.lua +++ b/lua/app/userdata/activity/full_moon/full_moon_data.lua @@ -55,7 +55,7 @@ function FullMoonData:onGetActData(data) return end - ModuleManager.FullMoonManager:reqActData() + self:setInReset(true) end) self.isInitedData = true @@ -142,6 +142,14 @@ function FullMoonData:showActPanel() self.isWatchedActPanel = true end +function FullMoonData:setInReset(isInReset) + self.isInReset = isInReset +end + +function FullMoonData:getIsInReset() + return self.isInReset +end + -- 是否有入口红点 function FullMoonData:hasEntryRedPoint() return self:hasTaskRedPoint()