diff --git a/lua/app/ui/task/task_main_ui.lua b/lua/app/ui/task/task_main_ui.lua index 09bff2d7..fe5a7bb3 100644 --- a/lua/app/ui/task/task_main_ui.lua +++ b/lua/app/ui/task/task_main_ui.lua @@ -17,10 +17,10 @@ local function sortTask(taskList) if completeA then return a.id < b.id else -- 没有完成的优先显示战令解锁 - if a.bountyLock == b.bountyLock then + if a.lock == b.lock then return a.id < b.id else - return a.bountyLock + return b.lock end end else diff --git a/lua/app/userdata/task/daily_task_data.lua b/lua/app/userdata/task/daily_task_data.lua index e66ffa3e..601a17f2 100644 --- a/lua/app/userdata/task/daily_task_data.lua +++ b/lua/app/userdata/task/daily_task_data.lua @@ -46,24 +46,28 @@ function DailyTaskData:init(data) type = v.type, reset = v.reset } - if not dailyTaskObj.claimed and dailyTaskObj.progress >= dailyTaskObj.needProgress then - dailyTaskObj.redPoint = true - if dailyTaskObj.type == 1 then - dailyRedPoint = dailyRedPoint + 1 - else - challengeRedPoint = challengeRedPoint + 1 - end - else - dailyTaskObj.redPoint = false - end if v.bounty then - if self.isUnlockBountyDailyTask then - dailyTaskObj.lock = false - else - dailyTaskObj.lock = true - end + if self.isUnlockBountyDailyTask then + dailyTaskObj.lock = false + else + dailyTaskObj.lock = true + end + else + dailyTaskObj.lock = false end - if not dailyTaskObj.lock then -- 只有解锁的任务才注册监听任务进度 + if dailyTaskObj.lock then + dailyTaskObj.redPoint = false + else + if not dailyTaskObj.claimed and dailyTaskObj.progress >= dailyTaskObj.needProgress then + dailyTaskObj.redPoint = true + if dailyTaskObj.type == 1 then + dailyRedPoint = dailyRedPoint + 1 + else + challengeRedPoint = challengeRedPoint + 1 + end + else + dailyTaskObj.redPoint = false + end local list = self.taskTypeMap[taskInfo.type] if list == nil then list = {} @@ -130,11 +134,11 @@ function DailyTaskData:refreshDailyTask(task) dailyTaskObj.type = dailyTaskInfo.type dailyTaskObj.reset = dailyTaskInfo.reset local redPoint = false - if not dailyTaskObj.claimed and dailyTaskObj.progress >= dailyTaskObj.needProgress then + if not dailyTaskObj.lock and not dailyTaskObj.claimed and dailyTaskObj.progress >= dailyTaskObj.needProgress then redPoint = true end local originTaskType = originTaskInfo.type - if originTaskType ~= taskInfo.type then -- 任务类型变了 + if not dailyTaskObj.lock and originTaskType ~= taskInfo.type then -- 任务类型变了 self:unregisterTask(id, originTaskType) self:registerTask(dailyTaskObj, taskInfo.type) end @@ -307,6 +311,9 @@ function DailyTaskData:getIfCanClaimTask(task) end function DailyTaskData:addTaskProgress(task, taskType, count) + if task.lock then + return + end local currProgress = task.progress if currProgress >= task.needProgress then return