打完第二章后七天乐没有开启的bug
This commit is contained in:
parent
c73734a068
commit
2f2a993c12
@ -101,6 +101,7 @@ function DataManager:clear()
|
||||
-- 任务数据最后清理
|
||||
self.TaskData:clear()
|
||||
ModuleManager.TaskManager:clear()
|
||||
self:clearTryOpenFunc()
|
||||
end
|
||||
|
||||
function DataManager:initWithServerData(data)
|
||||
@ -255,6 +256,44 @@ function DataManager:scheduleGlobal()
|
||||
end, 1)
|
||||
end
|
||||
|
||||
function DataManager:tryOpenModules()
|
||||
if not self.tryOpenCallbacks then
|
||||
return
|
||||
end
|
||||
for k, v in pairs(self.tryOpenCallbacks) do
|
||||
v()
|
||||
end
|
||||
end
|
||||
|
||||
function DataManager:registerTryOpenFunc(bindId, func)
|
||||
if not bindId or not func then
|
||||
return
|
||||
end
|
||||
if not self.tryOpenCallbacks then
|
||||
self.tryOpenCallbacks = {}
|
||||
end
|
||||
self.tryOpenCallbacks[bindId] = func
|
||||
end
|
||||
|
||||
function DataManager:unregisterTryOpenFunc(bindId)
|
||||
if not bindId then
|
||||
return
|
||||
end
|
||||
if not self.tryOpenCallbacks then
|
||||
return
|
||||
end
|
||||
self.tryOpenCallbacks[bindId] = nil
|
||||
end
|
||||
|
||||
function DataManager:clearTryOpenFunc()
|
||||
if not self.tryOpenCallbacks then
|
||||
return
|
||||
end
|
||||
for k, v in pairs(self.tryOpenCallbacks) do
|
||||
self.tryOpenCallbacks[k] = nil
|
||||
end
|
||||
end
|
||||
|
||||
function DataManager:getSignInfo()
|
||||
local nowTime = Time:getServerTime()
|
||||
local lastSignTime = self.signInfo.latest_at // 1000
|
||||
|
||||
@ -119,6 +119,8 @@ function ChapterManager:endFightFinish(result)
|
||||
if maxChapter == 1 then
|
||||
DataManager.ShopData:markPopUpGiftForBeginnerGift()
|
||||
end
|
||||
-- 新章节通关,尝试解锁新功能
|
||||
DataManager:tryOpenModules()
|
||||
-- 章节通关 标记可弹出章节礼包
|
||||
DataManager.ShopData:markPopUpGiftForActChapterStore(maxChapter)
|
||||
ModuleManager.TaskManager:addTaskProgress(GConst.TaskConst.TASK_TYPE.X_PASS_CHAPTER)
|
||||
|
||||
@ -20,6 +20,7 @@ function PlayerManager:onLevelUpFinish(result)
|
||||
if diffLv > 0 then
|
||||
self:showPlayerUpUI(currLv, result.rewards)
|
||||
ModuleManager.TaskManager:addTaskProgress(GConst.TaskConst.TASK_TYPE.X_PLAYER_LV_REACH, diffLv)
|
||||
DataManager:tryOpenModules()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -13,6 +13,7 @@ function SevenDayData:clear()
|
||||
self.tasks = {}
|
||||
self.stepRewards = {}
|
||||
DataManager:unregisterCrossDayFunc("SevenDayData")
|
||||
DataManager:unregisterTryOpenFunc("SevenDayData")
|
||||
end
|
||||
|
||||
function SevenDayData:init(data)
|
||||
@ -35,6 +36,19 @@ function SevenDayData:init(data)
|
||||
self:calCollectStepCount()
|
||||
self:initTaskListener()
|
||||
|
||||
if self.openTs <= 0 then
|
||||
DataManager:registerTryOpenFunc("SevenDayData", function()
|
||||
if self.openTs <= 0 then
|
||||
if ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.SEVEN_DAY, true) then
|
||||
self.openTs = Time:getBeginningOfServerToday()
|
||||
self.endTime = self.openTs + self:getDurationTime()
|
||||
self.actDay = 1
|
||||
DataManager:unregisterTryOpenFunc("SevenDayData")
|
||||
end
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
DataManager:registerCrossDayFunc("SevenDayData", function()
|
||||
self.actDay = self.actDay + 1
|
||||
self:setDirty()
|
||||
@ -361,7 +375,7 @@ end
|
||||
function SevenDayData:initTaskListener()
|
||||
local nowTime = Time:getServerTime()
|
||||
-- 活动结束就不用监听了
|
||||
if self.endTime < nowTime then
|
||||
if self.endTime > 0 and self.endTime < nowTime then
|
||||
ModuleManager.TaskManager:unRegisterAllModuleTask("SevenDayData")
|
||||
return false
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user