diff --git a/lua/app/module/battle/battle_const.lua b/lua/app/module/battle/battle_const.lua index e4167fdb..40610180 100644 --- a/lua/app/module/battle/battle_const.lua +++ b/lua/app/module/battle/battle_const.lua @@ -742,7 +742,7 @@ BattleConst.BATTLE_TASK_FIELD = { ELIMINATION_COUNT = "clear_elements", -- 累计消除元素个数 LINK_COUNT_OVER_6 = "clear_6_combo", -- 6连消个数 LINK_COUNT_OVER_8 = "clear_8_combo", -- 8连消个数 - COMBO_OVER_10 = "clear_10_combo", -- 10连击以上次数 + COMBO_OVER_10 = "clear_10_hit", -- 10连击以上次数 BOARD_SKILL_RELEASE_COUNT = "skills_cast", -- 释放技能次数 } diff --git a/lua/app/module/chapter/chapter_manager.lua b/lua/app/module/chapter/chapter_manager.lua index 616e59aa..0ec4c93c 100644 --- a/lua/app/module/chapter/chapter_manager.lua +++ b/lua/app/module/chapter/chapter_manager.lua @@ -99,6 +99,8 @@ function ChapterManager:endFightFinish(result) data.max_chapter = newMaxChapter CS.ThinkingAnalytics.ThinkingAnalyticsAPI.UserSet(data) end + + ModuleManager.TaskManager:addFightTaskProgress(reqData) end end diff --git a/lua/app/module/task/task_manager.lua b/lua/app/module/task/task_manager.lua index b3d8c9c9..7cf848ae 100644 --- a/lua/app/module/task/task_manager.lua +++ b/lua/app/module/task/task_manager.lua @@ -1,4 +1,5 @@ local TaskManager = class("TaskManager", BaseModule) +local BATTLE_TASK_FIELD = GConst.BattleConst.BATTLE_TASK_FIELD function TaskManager:init() self:addEventListener(EventManager.CUSTOM_EVENT.DAILY_TASK_ADD_PROGRESS, function(id, taskId, from, to) @@ -147,13 +148,8 @@ function TaskManager:dispatchTask(type, count) end ------------------------------------------------------ 处理任务 ------------------------------------------------------ -function TaskManager:xKillMonster(params) - local num = params.num - if not num then - return - end - - self:dispatchTask(GConst.TaskConst.TASK_TYPE.X_KILL_MONSTER, num) +function TaskManager:xKillMonster(count) + self:dispatchTask(GConst.TaskConst.TASK_TYPE.X_KILL_MONSTER, count) end function TaskManager:xWatchAd() @@ -196,6 +192,34 @@ function TaskManager:dailyTaskWatchAdSpecial() self:dispatchTask(GConst.TaskConst.TASK_TYPE.DAILY_TASK_WATCH_AD_SPECIAL, 1) end +function TaskManager:skillBoxGotInBattle(count) + self:dispatchTask(GConst.TaskConst.TASK_TYPE.X_SKILL_BOX_GOT_IN_BATTLE, count) +end + +function TaskManager:xKillBoss(count) + self:dispatchTask(GConst.TaskConst.TASK_TYPE.X_KILL_BOSS, count) +end + +function TaskManager:xEliminate(count) + self:dispatchTask(GConst.TaskConst.TASK_TYPE.X_ELIMINATE, count) +end + +function TaskManager:xEliminateSixOnce(count) + self:dispatchTask(GConst.TaskConst.TASK_TYPE.X_ELIMINATE_SIX_ONCE, count) +end + +function TaskManager:xEliminateEightOnce(count) + self:dispatchTask(GConst.TaskConst.TASK_TYPE.X_ELIMINATE_EIGHT_ONCE, count) +end + +function TaskManager:xComboTen(count) + self:dispatchTask(GConst.TaskConst.TASK_TYPE.X_COMBO_TEN, count) +end + +function TaskManager:xUseSkill(count) + self:dispatchTask(GConst.TaskConst.TASK_TYPE.X_USE_SKILL, count) +end + ---- 没有特殊说明,方法均返回任务增量 TaskManager.TYPE_DEAL_FUNC = { [GConst.TaskConst.TASK_TYPE.X_WATCH_AD] = TaskManager.xWatchAd, @@ -208,8 +232,14 @@ TaskManager.TYPE_DEAL_FUNC = { [GConst.TaskConst.TASK_TYPE.X_HERO_FRAGMENT_GOT] = TaskManager.xHeroFragmentGot, [GConst.TaskConst.TASK_TYPE.COMPLETED_DALY_TASK] = TaskManager.completeDailyTask, [GConst.TaskConst.TASK_TYPE.DAILY_TASK_WATCH_AD_SPECIAL] = TaskManager.dailyTaskWatchAdSpecial, - - -- [GConst.TaskConst.TASK_TYPE.X_KILL_MONSTER] = TaskManager.xKillMonster, + [GConst.TaskConst.TASK_TYPE.X_SKILL_BOX_GOT_IN_BATTLE] = TaskManager.skillBoxGotInBattle, + [GConst.TaskConst.TASK_TYPE.X_KILL_BOSS] = TaskManager.xKillBoss, + [GConst.TaskConst.TASK_TYPE.X_KILL_MONSTER] = TaskManager.xKillMonster, + [GConst.TaskConst.TASK_TYPE.X_ELIMINATE] = TaskManager.xEliminate, + [GConst.TaskConst.TASK_TYPE.X_ELIMINATE_SIX_ONCE] = TaskManager.xEliminateSixOnce, + [GConst.TaskConst.TASK_TYPE.X_ELIMINATE_EIGHT_ONCE] = TaskManager.xEliminateEightOnce, + [GConst.TaskConst.TASK_TYPE.X_COMBO_TEN] = TaskManager.xComboTen, + [GConst.TaskConst.TASK_TYPE.X_USE_SKILL] = TaskManager.xUseSkill, } function TaskManager:taskGoto(taskType) @@ -268,4 +298,24 @@ function TaskManager:dealTaskType(taskType, callback, onlyGet) end end +function TaskManager:addFightTaskProgress(fightTaskProgress) + for fieldName, value in pairs(fightTaskProgress) do + local taskType = TaskManager.fightTaskProgressToTaskType[fieldName] + if taskType then + self:addTaskProgress(taskType, value) + end + end +end + +TaskManager.fightTaskProgressToTaskType = { + [BATTLE_TASK_FIELD.SKILL_BOX_OPEN] = GConst.TaskConst.TASK_TYPE.X_SKILL_BOX_GOT_IN_BATTLE, + [BATTLE_TASK_FIELD.KILL_BOSS] = GConst.TaskConst.TASK_TYPE.X_KILL_BOSS, + [BATTLE_TASK_FIELD.KILL_NORMAL_MONSTER] = GConst.TaskConst.TASK_TYPE.X_KILL_MONSTER, + [BATTLE_TASK_FIELD.ELIMINATION_COUNT] = GConst.TaskConst.TASK_TYPE.X_ELIMINATE, + [BATTLE_TASK_FIELD.LINK_COUNT_OVER_6] = GConst.TaskConst.TASK_TYPE.X_ELIMINATE_SIX_ONCE, + [BATTLE_TASK_FIELD.LINK_COUNT_OVER_8] = GConst.TaskConst.TASK_TYPE.X_ELIMINATE_EIGHT_ONCE, + [BATTLE_TASK_FIELD.COMBO_OVER_10] = GConst.TaskConst.TASK_TYPE.X_COMBO_TEN, + [BATTLE_TASK_FIELD.BOARD_SKILL_RELEASE_COUNT] = GConst.TaskConst.TASK_TYPE.X_USE_SKILL, +} + return TaskManager \ No newline at end of file