战斗内部计数相关任务

This commit is contained in:
xiekaidong 2023-05-19 18:18:33 +08:00
parent 58d366ba9d
commit b8d7fa533d
3 changed files with 62 additions and 10 deletions

View File

@ -742,7 +742,7 @@ BattleConst.BATTLE_TASK_FIELD = {
ELIMINATION_COUNT = "clear_elements", -- 累计消除元素个数 ELIMINATION_COUNT = "clear_elements", -- 累计消除元素个数
LINK_COUNT_OVER_6 = "clear_6_combo", -- 6连消个数 LINK_COUNT_OVER_6 = "clear_6_combo", -- 6连消个数
LINK_COUNT_OVER_8 = "clear_8_combo", -- 8连消个数 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", -- 释放技能次数 BOARD_SKILL_RELEASE_COUNT = "skills_cast", -- 释放技能次数
} }

View File

@ -99,6 +99,8 @@ function ChapterManager:endFightFinish(result)
data.max_chapter = newMaxChapter data.max_chapter = newMaxChapter
CS.ThinkingAnalytics.ThinkingAnalyticsAPI.UserSet(data) CS.ThinkingAnalytics.ThinkingAnalyticsAPI.UserSet(data)
end end
ModuleManager.TaskManager:addFightTaskProgress(reqData)
end end
end end

View File

@ -1,4 +1,5 @@
local TaskManager = class("TaskManager", BaseModule) local TaskManager = class("TaskManager", BaseModule)
local BATTLE_TASK_FIELD = GConst.BattleConst.BATTLE_TASK_FIELD
function TaskManager:init() function TaskManager:init()
self:addEventListener(EventManager.CUSTOM_EVENT.DAILY_TASK_ADD_PROGRESS, function(id, taskId, from, to) self:addEventListener(EventManager.CUSTOM_EVENT.DAILY_TASK_ADD_PROGRESS, function(id, taskId, from, to)
@ -147,13 +148,8 @@ function TaskManager:dispatchTask(type, count)
end end
------------------------------------------------------ 处理任务 ------------------------------------------------------ ------------------------------------------------------ 处理任务 ------------------------------------------------------
function TaskManager:xKillMonster(params) function TaskManager:xKillMonster(count)
local num = params.num self:dispatchTask(GConst.TaskConst.TASK_TYPE.X_KILL_MONSTER, count)
if not num then
return
end
self:dispatchTask(GConst.TaskConst.TASK_TYPE.X_KILL_MONSTER, num)
end end
function TaskManager:xWatchAd() function TaskManager:xWatchAd()
@ -196,6 +192,34 @@ function TaskManager:dailyTaskWatchAdSpecial()
self:dispatchTask(GConst.TaskConst.TASK_TYPE.DAILY_TASK_WATCH_AD_SPECIAL, 1) self:dispatchTask(GConst.TaskConst.TASK_TYPE.DAILY_TASK_WATCH_AD_SPECIAL, 1)
end 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 = { TaskManager.TYPE_DEAL_FUNC = {
[GConst.TaskConst.TASK_TYPE.X_WATCH_AD] = TaskManager.xWatchAd, [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.X_HERO_FRAGMENT_GOT] = TaskManager.xHeroFragmentGot,
[GConst.TaskConst.TASK_TYPE.COMPLETED_DALY_TASK] = TaskManager.completeDailyTask, [GConst.TaskConst.TASK_TYPE.COMPLETED_DALY_TASK] = TaskManager.completeDailyTask,
[GConst.TaskConst.TASK_TYPE.DAILY_TASK_WATCH_AD_SPECIAL] = TaskManager.dailyTaskWatchAdSpecial, [GConst.TaskConst.TASK_TYPE.DAILY_TASK_WATCH_AD_SPECIAL] = TaskManager.dailyTaskWatchAdSpecial,
[GConst.TaskConst.TASK_TYPE.X_SKILL_BOX_GOT_IN_BATTLE] = TaskManager.skillBoxGotInBattle,
-- [GConst.TaskConst.TASK_TYPE.X_KILL_MONSTER] = TaskManager.xKillMonster, [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) function TaskManager:taskGoto(taskType)
@ -268,4 +298,24 @@ function TaskManager:dealTaskType(taskType, callback, onlyGet)
end end
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 return TaskManager