From 11a8648fbd0a929a97c97aeb5614cae9b69d8965 Mon Sep 17 00:00:00 2001 From: puxuan <413323644@qq.com> Date: Thu, 7 Aug 2025 10:11:02 +0800 Subject: [PATCH] task --- lua/app/ui/task/task_main_ui.lua | 68 +++++++++++------------ lua/app/userdata/task/daily_task_data.lua | 8 +++ 2 files changed, 42 insertions(+), 34 deletions(-) diff --git a/lua/app/ui/task/task_main_ui.lua b/lua/app/ui/task/task_main_ui.lua index 12c98a51..f7c2f305 100644 --- a/lua/app/ui/task/task_main_ui.lua +++ b/lua/app/ui/task/task_main_ui.lua @@ -197,23 +197,23 @@ function TaskMainUI:refreshDaily() self.dailyTaskList = DataManager.DailyTaskData:getTaskIdsSort() self.dailyTaskScrollRect:refillCells(#self.dailyTaskList) - -- if DataManager.DailyTaskData:getIsShowDailyTaskRedPoint() then - -- self.menuOneRedPoint:setActive(true) - -- if self.menuOneRedPointTween == nil then - -- self.menuOneRedPointTween = self:getShakeTween(self.menuOneRedPoint) - -- else - -- self.menuOneRedPointTween:Restart() - -- end - -- else - -- if self.menuOneRedPointTween then - -- self.menuOneRedPointTween:Pause() - -- end - -- self.menuOneRedPoint:setActive(false) - -- end - -- if self.menuTwoRedPointTween then - -- self.menuTwoRedPointTween:Pause() - -- end - -- self.menuTwoRedPoint:setActive(false) + if DataManager.DailyTaskData:showDailyRedPoint() then + self.menuOneRedPoint:setActive(true) + if self.menuOneRedPointTween == nil then + self.menuOneRedPointTween = self:getShakeTween(self.menuOneRedPoint) + else + self.menuOneRedPointTween:Restart() + end + else + if self.menuOneRedPointTween then + self.menuOneRedPointTween:Pause() + end + self.menuOneRedPoint:setActive(false) + end + if self.menuTwoRedPointTween then + self.menuTwoRedPointTween:Pause() + end + self.menuTwoRedPoint:setActive(false) end function TaskMainUI:onClickBox() @@ -243,23 +243,23 @@ function TaskMainUI:refreshChallenge() self.titleTx:setText("成就") self.achievementTaskList = DataManager.DailyTaskData:getAchievementIdsSort() self.challengeTaskScrollRect:refillCells(#self.achievementTaskList) - -- if DataManager.DailyTaskData:getIsShowChallengeTaskRedPoint() then - -- self.menuTwoRedPoint:setActive(true) - -- if self.menuTwoRedPointTween == nil then - -- self.menuTwoRedPointTween = self:getShakeTween(self.menuTwoRedPoint) - -- else - -- self.menuTwoRedPointTween:Restart() - -- end - -- else - -- if self.menuTwoRedPointTween then - -- self.menuTwoRedPointTween:Pause() - -- end - -- self.menuTwoRedPoint:setActive(false) - -- end - -- if self.menuOneRedPointTween then - -- self.menuOneRedPointTween:Pause() - -- end - -- self.menuOneRedPoint:setActive(false) + if DataManager.DailyTaskData:showAchievementRedPoint() then + self.menuTwoRedPoint:setActive(true) + if self.menuTwoRedPointTween == nil then + self.menuTwoRedPointTween = self:getShakeTween(self.menuTwoRedPoint) + else + self.menuTwoRedPointTween:Restart() + end + else + if self.menuTwoRedPointTween then + self.menuTwoRedPointTween:Pause() + end + self.menuTwoRedPoint:setActive(false) + end + if self.menuOneRedPointTween then + self.menuOneRedPointTween:Pause() + end + self.menuOneRedPoint:setActive(false) end function TaskMainUI:getShakeTween(obj) diff --git a/lua/app/userdata/task/daily_task_data.lua b/lua/app/userdata/task/daily_task_data.lua index 3fe6accc..bc5d669f 100644 --- a/lua/app/userdata/task/daily_task_data.lua +++ b/lua/app/userdata/task/daily_task_data.lua @@ -48,11 +48,13 @@ function DailyTaskData:init(daily, achievement) -- 监听任务 for id, info in pairs(TaskDailyCfg) do ModuleManager.TaskManager:registerTask("DailyTaskData", info.task_type, function(count) + self.dailyRedState = nil self:addTaskProgress(info.task_type, count) end) end for id, info in pairs(TaskAchievementCfg) do ModuleManager.TaskManager:registerTask("DailyTaskData", info.type, function(count) + self.achievementRedState = nil self:addTaskProgress(info.type, count) end) end @@ -92,6 +94,9 @@ function DailyTaskData:showRedPoint() end function DailyTaskData:showDailyRedPoint() + if self.dailyRedState ~= nil then + return self.dailyRedState + end for idx, id in pairs(self.dailyTaskIds) do if self:canClaimTask(id) then self.dailyRedState = true @@ -111,6 +116,9 @@ function DailyTaskData:showDailyRedPoint() end function DailyTaskData:showAchievementRedPoint() + if self.achievementRedState ~= nil then + return self.achievementRedState + end for id, info in pairs(TaskAchievementCfg) do for stage = 1, self:getAchievementTotalStage(id) do if self:canClaimAchievement(id, stage) then