任务
This commit is contained in:
parent
124feb0b09
commit
dc81cffe85
@ -52,11 +52,14 @@ BIReport.ITEM_GET_TYPE = {
|
||||
RECOVERY_TIME = "RecoveryTime",
|
||||
ADS_BUY_VIT = "AdsBuyVit",
|
||||
GEM_BUY_VIT = "GemBuyVit",
|
||||
TASK_DAILY_REFRESH = "TaskDailyRefresh",
|
||||
TASK_DAILY_REWARD = "TaskDailyReward",
|
||||
}
|
||||
|
||||
BIReport.ADS_CLICK_TYPE = {
|
||||
BATTLE_SKILL_REFRESH = "BattleSkillRefresh",
|
||||
AD_ENERGY = "AdEnergy",
|
||||
TASK_DAILY_REFRESH = "TaskDailyRefresh",
|
||||
}
|
||||
|
||||
BIReport.FIGHT_OPT_TYPE = {
|
||||
|
||||
@ -4,6 +4,41 @@ function TaskManager:showTaskMainUI()
|
||||
UIManager:showUI("app/ui/task/task_main_ui")
|
||||
end
|
||||
|
||||
function TaskManager:refreshDailyTask(dailyTaskId)
|
||||
SDKManager:showFullScreenAds(BIReport.ADS_CLICK_TYPE.TASK_DAILY_REFRESH, function()
|
||||
local parmas = {
|
||||
id = dailyTaskId,
|
||||
}
|
||||
self:sendMessage(ProtoMsgType.FromMsgEnum.TaskDailyRefreshReq, parmas, {}, self.onDailyTaskRefresh, BIReport.ITEM_GET_TYPE.TASK_DAILY_REFRESH)
|
||||
end)
|
||||
end
|
||||
|
||||
function TaskManager:onDailyTaskRefresh(result)
|
||||
if result.err_code == GConst.ERROR_STR.SUCCESS then
|
||||
if result.task then
|
||||
DataManager.TaskData:refreshDailyTask(result.task)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function TaskManager:claimDailyTask(dailyTaskId)
|
||||
local parmas = {
|
||||
id = dailyTaskId,
|
||||
}
|
||||
self:sendMessage(ProtoMsgType.FromMsgEnum.TaskDailyRewardReq, parmas, {}, self.onDailyTaskClaim, BIReport.ITEM_GET_TYPE.TASK_DAILY_REWARD)
|
||||
end
|
||||
|
||||
function TaskManager:onDailyTaskClaim(result)
|
||||
if result.err_code == GConst.ERROR_STR.SUCCESS then
|
||||
if result.task then
|
||||
DataManager.TaskData:refreshDailyTask(result.task)
|
||||
end
|
||||
if result.rewards then
|
||||
GFunc.showRewardBox(result.reward)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function TaskManager:registerTask(moduleName, taskType, callback)
|
||||
if not self.registerTaskInfo then
|
||||
self.registerTaskInfo = {}
|
||||
|
||||
@ -9,11 +9,17 @@ function DailyTaskCell:init()
|
||||
self.progressTx = uiMap["task_cell.progress_bg.progress_tx"]
|
||||
self.getBtn = uiMap["task_cell.get_btn"]
|
||||
self.getBtn:addClickListener(function()
|
||||
if self.taskId then
|
||||
ModuleManager.TaskManager:claimDailyTask(self.taskId)
|
||||
end
|
||||
end)
|
||||
self.getBtnTx = uiMap["task_cell.get_btn.text"]
|
||||
self.getBtnTx:setText(I18N:getGlobalText(I18N.GlobalConst.BTN_CLAIM))
|
||||
self.refreshBtn = uiMap["task_cell.refresh_btn"]
|
||||
self.refreshBtn:addClickListener(function()
|
||||
if self.taskId then
|
||||
ModuleManager.TaskManager:refreshDailyTask(self.taskId)
|
||||
end
|
||||
end)
|
||||
self.refreshBtnTx = uiMap["task_cell.refresh_btn.text"]
|
||||
self.refreshBtnTx:setText("临时文本:刷新")
|
||||
@ -33,6 +39,7 @@ function DailyTaskCell:init()
|
||||
end
|
||||
|
||||
function DailyTaskCell:refresh(task)
|
||||
self.taskId = task.id
|
||||
local icon = DataManager.TaskData:getDailyTaskIcon(task.id)
|
||||
self.icon:setSprite(GConst.ATLAS_PATH.ICON_TASK, icon)
|
||||
local taskDesc = DataManager.TaskData:getDailyTaskDesc(task.id)
|
||||
|
||||
@ -39,8 +39,8 @@ function TaskMainUI:ctor(params)
|
||||
self.challengeTaskList = {}
|
||||
local taskAdId = DataManager.TaskData:getDailyTaskAdId()
|
||||
local taskFinalId = DataManager.TaskData:getDailyTaskFinalId()
|
||||
local dailyTasks = DataManager.TaskData:getDailyTaskList()
|
||||
for k, v in ipairs(dailyTasks) do
|
||||
local dailyTasks = DataManager.TaskData:getDailyTasks()
|
||||
for k, v in pairs(dailyTasks) do
|
||||
if k ~= taskAdId and k ~= taskFinalId then
|
||||
if v.type == TASK_TYPE_DAILY then
|
||||
table.insert(self.dailyTaskList, v)
|
||||
@ -111,7 +111,6 @@ function TaskMainUI:initDaily()
|
||||
self.dailyNode = self.uiMap["task_main_ui.bg.daily"]
|
||||
self:initDailyTaskAdCell()
|
||||
self:initDailyTaskFinalCell()
|
||||
self:initDailyTasks()
|
||||
end
|
||||
|
||||
function TaskMainUI:initDailyTaskAdCell()
|
||||
@ -150,7 +149,6 @@ end
|
||||
|
||||
function TaskMainUI:initChallenge()
|
||||
self.challengeNode = self.uiMap["task_main_ui.bg.challenge"]
|
||||
self:initChallengeTasks()
|
||||
end
|
||||
|
||||
function TaskMainUI:initChallengeTasks()
|
||||
@ -175,7 +173,7 @@ end
|
||||
|
||||
function TaskMainUI:bindData()
|
||||
self:bind(DataManager.TaskData, "dailyTaskDirty", function()
|
||||
self:refreshDaily()
|
||||
self:onRefresh()
|
||||
end)
|
||||
end
|
||||
|
||||
@ -206,6 +204,7 @@ end
|
||||
function TaskMainUI:refreshDaily()
|
||||
self:refreshDailyTaskAdCell()
|
||||
self:refreshDailyTaskFinalCell()
|
||||
self:refreshDailyTasks()
|
||||
end
|
||||
|
||||
function TaskMainUI:refreshDailyTaskAdCell()
|
||||
@ -232,8 +231,22 @@ function TaskMainUI:refreshDailyTaskFinalCell()
|
||||
self.dailyTaskFinalCellProgress:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_SLIDER).value = count/needCount
|
||||
end
|
||||
|
||||
function TaskMainUI:refreshChallenge()
|
||||
function TaskMainUI:refreshDailyTasks()
|
||||
Logger.logHighlight("refreshDailyTasks")
|
||||
if self.dailyTaskScrollRect == nil then
|
||||
self:initDailyTasks()
|
||||
else
|
||||
self.dailyTaskScrollRect:updateAllCell()
|
||||
end
|
||||
end
|
||||
|
||||
function TaskMainUI:refreshChallenge()
|
||||
Logger.logHighlight("refreshChallenge")
|
||||
if self.challengeTaskScrollRect == nil then
|
||||
self:initChallengeTasks()
|
||||
else
|
||||
self.challengeTaskScrollRect:updateAllCell()
|
||||
end
|
||||
end
|
||||
|
||||
function TaskMainUI:showHelp()
|
||||
|
||||
@ -11,7 +11,7 @@ function TaskData:init(data)
|
||||
local tasks = data and data.tasks
|
||||
local cfg = self:getDailyTaskCfg()
|
||||
local taskCfg = self:getTaskCfg()
|
||||
self.dailyTaskList = {}
|
||||
self.dailyTasks = {}
|
||||
for k, v in pairs(cfg) do
|
||||
local task = tasks and tasks[k] or GConst.EMPTY_TABLE
|
||||
local taskInfo = taskCfg[task.task_id]
|
||||
@ -28,11 +28,32 @@ function TaskData:init(data)
|
||||
if v.bounty then
|
||||
dailyTaskObj.lock = true
|
||||
end
|
||||
table.insert(self.dailyTaskList, dailyTaskObj)
|
||||
self.dailyTasks[k] = dailyTaskObj
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function TaskData:refreshDailyTask(task)
|
||||
local taskInfo = self:getTaskCfg()[task.task_id]
|
||||
if taskInfo == nil then
|
||||
return
|
||||
end
|
||||
local id = task.id
|
||||
local dailyTaskObj = self.dailyTasks[id]
|
||||
if dailyTaskObj == nil then
|
||||
dailyTaskObj = {}
|
||||
self.dailyTasks[id] = dailyTaskObj
|
||||
end
|
||||
-- 刷新任务的时候type不会变
|
||||
dailyTaskObj.id = task.id
|
||||
dailyTaskObj.taskId = task.task_id
|
||||
dailyTaskObj.progress = task.progress
|
||||
dailyTaskObj.needProgress = taskInfo.number
|
||||
dailyTaskObj.refresh = task.refresh
|
||||
dailyTaskObj.claimed = task.claimed
|
||||
self:markDailyTaskDirty()
|
||||
end
|
||||
|
||||
function TaskData:getIsOpen()
|
||||
return ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.TASK, true)
|
||||
end
|
||||
@ -54,7 +75,7 @@ function TaskData:markDailyTaskDirty()
|
||||
end
|
||||
|
||||
function TaskData:getDailyTaskProgress(id)
|
||||
local task = self.dailyTaskList[id]
|
||||
local task = self.dailyTasks[id]
|
||||
if task == nil then
|
||||
return 0, 1
|
||||
end
|
||||
@ -62,7 +83,7 @@ function TaskData:getDailyTaskProgress(id)
|
||||
end
|
||||
|
||||
function TaskData:getDailyTaskDesc(id)
|
||||
local task = self.dailyTaskList[id]
|
||||
local task = self.dailyTasks[id]
|
||||
if task == nil then
|
||||
return GConst.EMPTY_STRING
|
||||
end
|
||||
@ -71,7 +92,7 @@ function TaskData:getDailyTaskDesc(id)
|
||||
end
|
||||
|
||||
function TaskData:getDailyTaskIsLock(id)
|
||||
local task = self.dailyTaskList[id]
|
||||
local task = self.dailyTasks[id]
|
||||
if task == nil then
|
||||
return nil
|
||||
end
|
||||
@ -87,7 +108,7 @@ function TaskData:getDailyTaskCanRefresh(id)
|
||||
end
|
||||
|
||||
function TaskData:getDailyTaskIcon(id)
|
||||
local task = self.dailyTaskList[id]
|
||||
local task = self.dailyTasks[id]
|
||||
if task == nil then
|
||||
return GConst.EMPTY_STRING
|
||||
end
|
||||
@ -96,7 +117,7 @@ function TaskData:getDailyTaskIcon(id)
|
||||
end
|
||||
|
||||
function TaskData:getDailyTaskReward(id)
|
||||
local task = self.dailyTaskList[id]
|
||||
local task = self.dailyTasks[id]
|
||||
if task == nil then
|
||||
return GConst.EMPTY_STRING
|
||||
end
|
||||
@ -104,8 +125,8 @@ function TaskData:getDailyTaskReward(id)
|
||||
return cfg[task.taskId].reward
|
||||
end
|
||||
|
||||
function TaskData:getDailyTaskList()
|
||||
return self.dailyTaskList
|
||||
function TaskData:getDailyTasks()
|
||||
return self.dailyTasks
|
||||
end
|
||||
|
||||
function TaskData:getTaskI18NCfg()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user