任务
This commit is contained in:
parent
ff1b5d7ce8
commit
c44ce67f07
@ -52,6 +52,7 @@ BIReport.TASK_OPT_TYPE = {
|
||||
}
|
||||
|
||||
BIReport.ITEM_GET_TYPE = {
|
||||
NONE = "None",
|
||||
NEW_PLAYER_INITIAL = "NewPlayerInitial", -- 新玩家创号自带
|
||||
UPGRADE_HERO = "UpgradeHero",
|
||||
CHAPTER_FIGHT_START = "ChapterFightStart",
|
||||
|
||||
@ -48,6 +48,21 @@ function TaskManager:onDailyTaskClaim(result)
|
||||
end
|
||||
end
|
||||
|
||||
function TaskManager:resetDailyTask()
|
||||
if DataManager.DailyTaskData:getIsInReset() then
|
||||
return
|
||||
end
|
||||
DataManager.DailyTaskData:setInReset(true)
|
||||
self:sendMessage(ProtoMsgType.FromMsgEnum.TaskDailyInfoReq, {}, {}, self.onResetDailyTask, BIReport.ITEM_GET_TYPE.NONE)
|
||||
end
|
||||
|
||||
function TaskManager:onResetDailyTask(result)
|
||||
DataManager.DailyTaskData:setInReset(false)
|
||||
if result.err_code == GConst.ERROR_STR.SUCCESS then
|
||||
DataManager.DailyTaskData:init(result.info)
|
||||
end
|
||||
end
|
||||
|
||||
function TaskManager:registerTask(moduleName, taskType, callback)
|
||||
if not self.registerTaskInfo then
|
||||
self.registerTaskInfo = {}
|
||||
|
||||
@ -23,10 +23,9 @@ local ProtoMsgType = {
|
||||
[1070843294] = "LoginRsp",
|
||||
[1471116409] = "BindReq",
|
||||
[1471118242] = "BindRsp",
|
||||
[1473507638] = "TaskTutorRewardReq",
|
||||
[1473509471] = "TaskTutorRewardRsp",
|
||||
[1584689751] = "ActPaidResultReq",
|
||||
[1584691584] = "ActPaidResultRsp",
|
||||
[1662315069] = "TriggerLevelUpGiftNtf",
|
||||
[1666427920] = "MailDeleteReq",
|
||||
[1666429753] = "MailDeleteRsp",
|
||||
[1901321540] = "PipedReq",
|
||||
@ -36,8 +35,6 @@ local ProtoMsgType = {
|
||||
[2118853729] = "HeroUpgradeRsp",
|
||||
[2285872137] = "ChapterBoxRewardReq",
|
||||
[2285873970] = "ChapterBoxRewardRsp",
|
||||
[2429586383] = "MailCycleReq",
|
||||
[2429588216] = "MailCycleRsp",
|
||||
[2581180989] = "MailListReq",
|
||||
[2581182822] = "MailListRsp",
|
||||
[2620369240] = "SevenDayRewardReq",
|
||||
@ -62,9 +59,13 @@ local ProtoMsgType = {
|
||||
[3341173994] = "BountyBoughtNtf",
|
||||
[3363939655] = "TaskDailyAdReq",
|
||||
[3363941488] = "TaskDailyAdRsp",
|
||||
[3421550443] = "GlobalGiftReq",
|
||||
[3421552276] = "GlobalGiftRsp",
|
||||
[3421843875] = "TaskDailyRewardReq",
|
||||
[3421845708] = "TaskDailyRewardRsp",
|
||||
[3440328467] = "PigLevelUpNtf",
|
||||
[3555824176] = "TaskDailyInfoReq",
|
||||
[3555826009] = "TaskDailyInfoRsp",
|
||||
[3607879254] = "AuthReq",
|
||||
[3607881087] = "AuthRsp",
|
||||
[3624439233] = "NewMailNtf",
|
||||
@ -105,10 +106,9 @@ local ProtoMsgType = {
|
||||
LoginRsp = 1070843294,
|
||||
BindReq = 1471116409,
|
||||
BindRsp = 1471118242,
|
||||
TaskTutorRewardReq = 1473507638,
|
||||
TaskTutorRewardRsp = 1473509471,
|
||||
ActPaidResultReq = 1584689751,
|
||||
ActPaidResultRsp = 1584691584,
|
||||
TriggerLevelUpGiftNtf = 1662315069,
|
||||
MailDeleteReq = 1666427920,
|
||||
MailDeleteRsp = 1666429753,
|
||||
PipedReq = 1901321540,
|
||||
@ -118,8 +118,6 @@ local ProtoMsgType = {
|
||||
HeroUpgradeRsp = 2118853729,
|
||||
ChapterBoxRewardReq = 2285872137,
|
||||
ChapterBoxRewardRsp = 2285873970,
|
||||
MailCycleReq = 2429586383,
|
||||
MailCycleRsp = 2429588216,
|
||||
MailListReq = 2581180989,
|
||||
MailListRsp = 2581182822,
|
||||
SevenDayRewardReq = 2620369240,
|
||||
@ -144,9 +142,13 @@ local ProtoMsgType = {
|
||||
BountyBoughtNtf = 3341173994,
|
||||
TaskDailyAdReq = 3363939655,
|
||||
TaskDailyAdRsp = 3363941488,
|
||||
GlobalGiftReq = 3421550443,
|
||||
GlobalGiftRsp = 3421552276,
|
||||
TaskDailyRewardReq = 3421843875,
|
||||
TaskDailyRewardRsp = 3421845708,
|
||||
PigLevelUpNtf = 3440328467,
|
||||
TaskDailyInfoReq = 3555824176,
|
||||
TaskDailyInfoRsp = 3555826009,
|
||||
AuthReq = 3607879254,
|
||||
AuthRsp = 3607881087,
|
||||
NewMailNtf = 3624439233,
|
||||
@ -187,10 +189,9 @@ local ProtoMsgType = {
|
||||
LoginRsp = "LoginRsp",
|
||||
BindReq = "BindReq",
|
||||
BindRsp = "BindRsp",
|
||||
TaskTutorRewardReq = "TaskTutorRewardReq",
|
||||
TaskTutorRewardRsp = "TaskTutorRewardRsp",
|
||||
ActPaidResultReq = "ActPaidResultReq",
|
||||
ActPaidResultRsp = "ActPaidResultRsp",
|
||||
TriggerLevelUpGiftNtf = "TriggerLevelUpGiftNtf",
|
||||
MailDeleteReq = "MailDeleteReq",
|
||||
MailDeleteRsp = "MailDeleteRsp",
|
||||
PipedReq = "PipedReq",
|
||||
@ -200,8 +201,6 @@ local ProtoMsgType = {
|
||||
HeroUpgradeRsp = "HeroUpgradeRsp",
|
||||
ChapterBoxRewardReq = "ChapterBoxRewardReq",
|
||||
ChapterBoxRewardRsp = "ChapterBoxRewardRsp",
|
||||
MailCycleReq = "MailCycleReq",
|
||||
MailCycleRsp = "MailCycleRsp",
|
||||
MailListReq = "MailListReq",
|
||||
MailListRsp = "MailListRsp",
|
||||
SevenDayRewardReq = "SevenDayRewardReq",
|
||||
@ -226,9 +225,13 @@ local ProtoMsgType = {
|
||||
BountyBoughtNtf = "BountyBoughtNtf",
|
||||
TaskDailyAdReq = "TaskDailyAdReq",
|
||||
TaskDailyAdRsp = "TaskDailyAdRsp",
|
||||
GlobalGiftReq = "GlobalGiftReq",
|
||||
GlobalGiftRsp = "GlobalGiftRsp",
|
||||
TaskDailyRewardReq = "TaskDailyRewardReq",
|
||||
TaskDailyRewardRsp = "TaskDailyRewardRsp",
|
||||
PigLevelUpNtf = "PigLevelUpNtf",
|
||||
TaskDailyInfoReq = "TaskDailyInfoReq",
|
||||
TaskDailyInfoRsp = "TaskDailyInfoRsp",
|
||||
AuthReq = "AuthReq",
|
||||
AuthRsp = "AuthRsp",
|
||||
NewMailNtf = "NewMailNtf",
|
||||
|
||||
@ -37,6 +37,27 @@ function TaskMainUI:ctor(params)
|
||||
self.page = params and params.page or PAGE_DAILY
|
||||
self.dailyTaskList = {}
|
||||
self.challengeTaskList = {}
|
||||
self:initTaskList()
|
||||
if DataManager.DailyTaskData:getIfCanReset() then
|
||||
ModuleManager.TaskManager:resetDailyTask()
|
||||
end
|
||||
end
|
||||
|
||||
function TaskMainUI:isFullScreen()
|
||||
return false
|
||||
end
|
||||
|
||||
function TaskMainUI:getPrefabPath()
|
||||
return "assets/prefabs/ui/task/task_main_ui.prefab"
|
||||
end
|
||||
|
||||
function TaskMainUI:initTaskList()
|
||||
for i = 1, #self.dailyTaskList do
|
||||
table.remove(self.dailyTaskList)
|
||||
end
|
||||
for i = 1, #self.challengeTaskList do
|
||||
table.remove(self.challengeTaskList)
|
||||
end
|
||||
local taskAdId = DataManager.DailyTaskData:getDailyTaskAdId()
|
||||
local taskFinalId = DataManager.DailyTaskData:getDailyTaskFinalId()
|
||||
local dailyTasks = DataManager.DailyTaskData:getDailyTasks()
|
||||
@ -53,14 +74,6 @@ function TaskMainUI:ctor(params)
|
||||
sortTask(self.challengeTaskList)
|
||||
end
|
||||
|
||||
function TaskMainUI:isFullScreen()
|
||||
return false
|
||||
end
|
||||
|
||||
function TaskMainUI:getPrefabPath()
|
||||
return "assets/prefabs/ui/task/task_main_ui.prefab"
|
||||
end
|
||||
|
||||
function TaskMainUI:onLoadRootComplete()
|
||||
self.uiMap = self.root:genAllChildren()
|
||||
self.uiMap["task_main_ui.bg.close_btn"]:addClickListener(function()
|
||||
@ -173,7 +186,25 @@ end
|
||||
|
||||
function TaskMainUI:bindData()
|
||||
self:bind(DataManager.DailyTaskData, "dailyTaskDirty", function()
|
||||
self:onRefresh()
|
||||
if self.delayRefreshSid then
|
||||
self:unscheduleGlobal(self.delayRefreshSid)
|
||||
end
|
||||
self.delayRefreshSid = self:performWithDelayGlobal(function()
|
||||
self.delayRefreshSid = nil
|
||||
sortTask(self.dailyTaskList)
|
||||
sortTask(self.challengeTaskList)
|
||||
self:onRefresh()
|
||||
end, 0.1)
|
||||
end)
|
||||
self:bind(DataManager.DailyTaskData, "resetFlag", function()
|
||||
if self.delayRefreshSid then
|
||||
self:unscheduleGlobal(self.delayRefreshSid)
|
||||
end
|
||||
self.delayRefreshSid = self:performWithDelayGlobal(function()
|
||||
self.delayRefreshSid = nil
|
||||
self:initTaskList()
|
||||
self:onRefresh()
|
||||
end, 0.1)
|
||||
end)
|
||||
end
|
||||
|
||||
@ -236,16 +267,25 @@ function TaskMainUI:refreshDailyTasks()
|
||||
if self.dailyTaskScrollRect == nil then
|
||||
self:initDailyTasks()
|
||||
else
|
||||
self.dailyTaskScrollRect:updateAllCell()
|
||||
if self.dailyTaskScrollRect:getTotalCount() == #self.dailyTaskList then
|
||||
self.dailyTaskScrollRect:updateAllCell()
|
||||
else
|
||||
self.dailyTaskScrollRect:clearCells()
|
||||
self.dailyTaskScrollRect:refillCells(#self.dailyTaskList)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function TaskMainUI:refreshChallenge()
|
||||
Logger.logHighlight("refreshChallenge")
|
||||
if self.challengeTaskScrollRect == nil then
|
||||
self:initChallengeTasks()
|
||||
else
|
||||
self.challengeTaskScrollRect:updateAllCell()
|
||||
if self.challengeTaskScrollRect:getTotalCount() == #self.challengeTaskList then
|
||||
self.challengeTaskScrollRect:updateAllCell()
|
||||
else
|
||||
self.challengeTaskScrollRect:clearCells()
|
||||
self.challengeTaskScrollRect:refillCells(#self.challengeTaskList)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -262,6 +302,9 @@ function TaskMainUI:updateTime()
|
||||
if self.resetTime == time then
|
||||
return
|
||||
end
|
||||
if self.resetTime and time > self.resetTime and DataManager.DailyTaskData:getIfCanReset() then -- 跨天了
|
||||
ModuleManager.TaskManager:resetDailyTask()
|
||||
end
|
||||
self.resetTime = time
|
||||
self.timeTx:setText(GFunc.getTimeStrWithHMS2(self.resetTime))
|
||||
end
|
||||
|
||||
@ -6,6 +6,8 @@ local DATA_NAME = "DailyTaskData"
|
||||
|
||||
function DailyTaskData:ctor()
|
||||
self.data.dailyTaskDirty = false
|
||||
self.data.resetFlag = false
|
||||
self.isInReset = false
|
||||
self.taskTypeMap = {}
|
||||
self.dailyTasks = {}
|
||||
end
|
||||
@ -22,6 +24,7 @@ function DailyTaskData:init(data)
|
||||
table.remove(v)
|
||||
end
|
||||
end
|
||||
ModuleManager.TaskManager:unRegisterAllModuleTask(DATA_NAME)
|
||||
for k, v in pairs(cfg) do
|
||||
local task = tasks and tasks[k] or GConst.EMPTY_TABLE
|
||||
local taskInfo = taskCfg[task.task_id]
|
||||
@ -57,6 +60,9 @@ function DailyTaskData:init(data)
|
||||
self.dailyTasks[k] = dailyTaskObj
|
||||
end
|
||||
end
|
||||
self.initDay = Time:getBeginningOfServerToday()
|
||||
self.isInReset = false
|
||||
self.data.resetFlag = not self.data.resetFlag
|
||||
end
|
||||
|
||||
function DailyTaskData:refreshDailyTask(task)
|
||||
@ -245,4 +251,16 @@ function DailyTaskData:unregisterTask(taskType)
|
||||
ModuleManager.TaskManager:unRegisterTask(DATA_NAME, taskType)
|
||||
end
|
||||
|
||||
function DailyTaskData:getIfCanReset()
|
||||
return self.initDay ~= Time:getBeginningOfServerToday()
|
||||
end
|
||||
|
||||
function DailyTaskData:setInReset(isInReset)
|
||||
self.isInReset = isInReset
|
||||
end
|
||||
|
||||
function DailyTaskData:getIsInReset()
|
||||
return self.isInReset
|
||||
end
|
||||
|
||||
return DailyTaskData
|
||||
Loading…
x
Reference in New Issue
Block a user