红点
This commit is contained in:
parent
4306ab73ad
commit
b5b1ad00e7
@ -146,6 +146,10 @@ function MainCityUI:_bind()
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
self:bind(DataManager.DailyTaskData, "redPointFlag", function()
|
||||
self:refreshTask()
|
||||
end)
|
||||
end
|
||||
|
||||
function MainCityUI:initBottomUI()
|
||||
@ -459,6 +463,12 @@ function MainCityUI:refreshTask()
|
||||
return
|
||||
end
|
||||
self.taskBtn:setVisible(true)
|
||||
local showRedPoint = DataManager.DailyTaskData:getIsShowRedPoint()
|
||||
if showRedPoint then
|
||||
self.taskBtn:addRedPoint(42, 42, 0.8)
|
||||
else
|
||||
self.taskBtn:removeRedPoint()
|
||||
end
|
||||
end
|
||||
|
||||
function MainCityUI:switchComp(index)
|
||||
|
||||
@ -7,6 +7,8 @@ local DATA_NAME = "DailyTaskData"
|
||||
function DailyTaskData:ctor()
|
||||
self.data.dailyTaskDirty = false
|
||||
self.data.resetFlag = false
|
||||
self.data.redPointFlag = false
|
||||
self.redPoint = 0
|
||||
self.isInReset = false
|
||||
self.taskTypeMap = {}
|
||||
self.dailyTasks = {}
|
||||
@ -24,6 +26,7 @@ function DailyTaskData:init(data)
|
||||
table.remove(v)
|
||||
end
|
||||
end
|
||||
local redPoint = 0
|
||||
ModuleManager.TaskManager:unRegisterAllModuleTask(DATA_NAME)
|
||||
for k, v in pairs(cfg) do
|
||||
local task = tasks and tasks[k] or GConst.EMPTY_TABLE
|
||||
@ -39,6 +42,12 @@ function DailyTaskData:init(data)
|
||||
type = v.type,
|
||||
reset = v.reset
|
||||
}
|
||||
if not dailyTaskObj.claimed and dailyTaskObj.progress >= dailyTaskObj.needProgress then
|
||||
dailyTaskObj.redPoint = true
|
||||
redPoint = redPoint + 1
|
||||
else
|
||||
dailyTaskObj.redPoint = false
|
||||
end
|
||||
if v.bounty then
|
||||
if DataManager.BountyData:getBought() then
|
||||
dailyTaskObj.lock = false
|
||||
@ -63,6 +72,14 @@ function DailyTaskData:init(data)
|
||||
self.initDay = Time:getBeginningOfServerToday()
|
||||
self.isInReset = false
|
||||
self.data.resetFlag = not self.data.resetFlag
|
||||
if self.redPoint ~= redPoint then
|
||||
if self.redPoint > 0 and redPoint > 0 then
|
||||
self.redPoint = redPoint
|
||||
else
|
||||
self.redPoint = redPoint
|
||||
self.data.redPointFlag = not self.data.redPointFlag
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function DailyTaskData:refreshDailyTask(task)
|
||||
@ -85,6 +102,10 @@ function DailyTaskData:refreshDailyTask(task)
|
||||
dailyTaskObj.needProgress = taskInfo.number
|
||||
dailyTaskObj.refresh = task.refresh
|
||||
dailyTaskObj.claimed = task.claimed
|
||||
local redPoint = false
|
||||
if not dailyTaskObj.claimed and dailyTaskObj.progress >= dailyTaskObj.needProgress then
|
||||
redPoint = true
|
||||
end
|
||||
local originTaskType = originTaskInfo.type
|
||||
if originTaskType ~= taskInfo.type then -- 任务类型变了
|
||||
local originTaskList = self.taskTypeMap[originTaskType]
|
||||
@ -110,6 +131,21 @@ function DailyTaskData:refreshDailyTask(task)
|
||||
end
|
||||
end
|
||||
self:markDailyTaskDirty()
|
||||
|
||||
if dailyTaskObj.redPoint ~= redPoint then
|
||||
dailyTaskObj.redPoint = redPoint
|
||||
if redPoint then
|
||||
self.redPoint = self.redPoint + 1
|
||||
if self.redPoint == 1 then
|
||||
self.data.redPointFlag = not self.data.redPointFlag
|
||||
end
|
||||
else
|
||||
self.redPoint = self.redPoint - 1
|
||||
if self.redPoint == 0 then
|
||||
self.data.redPointFlag = not self.data.redPointFlag
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function DailyTaskData:getIsOpen()
|
||||
@ -249,6 +285,11 @@ function DailyTaskData:addTaskProgress(task, taskType, count)
|
||||
ModuleManager.TaskManager:addTaskProgress(GConst.TaskConst.TASK_TYPE.COMPLETED_DALY_TASK)
|
||||
end
|
||||
BIReport:postDailyTaskFinish(BIReport.TASK_TYPE.DAILY, task.id, task.taskId, task.refresh)
|
||||
task.redPoint = true
|
||||
self.redPoint = self.redPoint + 1
|
||||
if self.redPoint == 1 then
|
||||
self.data.redPointFlag = not self.data.redPointFlag
|
||||
end
|
||||
end
|
||||
self:markDailyTaskDirty()
|
||||
end
|
||||
@ -280,4 +321,8 @@ function DailyTaskData:getIsInReset()
|
||||
return self.isInReset
|
||||
end
|
||||
|
||||
function DailyTaskData:getIsShowRedPoint()
|
||||
return self.redPoint > 0
|
||||
end
|
||||
|
||||
return DailyTaskData
|
||||
Loading…
x
Reference in New Issue
Block a user