diff --git a/lua/app/module/daily_challenge/daily_challenge_manager.lua b/lua/app/module/daily_challenge/daily_challenge_manager.lua index ca20ed00..5a5878b2 100644 --- a/lua/app/module/daily_challenge/daily_challenge_manager.lua +++ b/lua/app/module/daily_challenge/daily_challenge_manager.lua @@ -1,9 +1,6 @@ local DailyChallengeManager = class("DailyChallengeManager", BaseModule) function DailyChallengeManager:init() - self:addEventListener(EventManager.CUSTOM_EVENT.CHANGE_MAIN_CITY_PAGE, function(idx) - DataManager.DailyChallengeData:setShowingMainComp(idx == GConst.MainCityConst.BOTTOM_PAGE.MAIN) - end) self:addEventListener(EventManager.CUSTOM_EVENT.UI_CLOSE, function(index) if index == UIManager.UI_PATH.MAINCITY_UI then DataManager.DailyChallengeData:setShowingMainComp(false) diff --git a/lua/app/module/task/task_const.lua b/lua/app/module/task/task_const.lua index 38026604..0c2364c4 100644 --- a/lua/app/module/task/task_const.lua +++ b/lua/app/module/task/task_const.lua @@ -49,6 +49,11 @@ TaskConst.TASK_TYPE = { X_BUY_ANYONE = 40, -- 任意购买行为x次 X_RUNES_GETED_MATERIALS = 41, -- 获得符文材料x个 X_RUNES_QUENCHING = 42, -- 符文锻造x次 + X_SUMMON_HERO_6 = 43, -- 获得X个神话英雄(红色) + X_SUMMON_HERO_5 = 44, -- 获得X个传说英雄(橙色) + X_SUMMON_HERO_4 = 45, -- 获得X个史诗英雄(紫色) + X_SUMMON_HERO_3 = 46, -- 获得X个稀有英雄(蓝色) + X_SUMMON_HERO = 47, -- 招聘X次 } return TaskConst \ No newline at end of file diff --git a/lua/app/module/task/task_manager.lua b/lua/app/module/task/task_manager.lua index 927b7abc..dd931e60 100644 --- a/lua/app/module/task/task_manager.lua +++ b/lua/app/module/task/task_manager.lua @@ -385,8 +385,13 @@ TaskManager.TYPE_DEAL_FUNC = { } function TaskManager:taskGoto(taskType) - if TaskManager.gotoFunc[taskType] then - TaskManager.gotoFunc[taskType](self) + if EDITOR_MODE then + Logger.logHighlight("任务跳转:"..tostring(taskType)) + end + local func = TaskManager.gotoFunc[taskType] + if func then + ModuleManager.MaincityManager:showMainCityUI() + func(self) end end @@ -394,8 +399,57 @@ function TaskManager:gotoMainUI() ModuleManager.MaincityManager:showMainCityUI() end +function TaskManager:gotoMainShopUI() + EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.CHANGE_MAIN_CITY_PAGE, {page = GConst.MainCityConst.BOTTOM_PAGE.SHOP}) +end + +function TaskManager:gotoMainShopGemUI() + EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.CHANGE_MAIN_CITY_PAGE, {page = GConst.MainCityConst.BOTTOM_PAGE.SHOP, storeIdx = GConst.ShopConst.MAIN_PAGE_TYPE.GEM}) +end + +function TaskManager:gotoMainShopGoldUI() + EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.CHANGE_MAIN_CITY_PAGE, {page = GConst.MainCityConst.BOTTOM_PAGE.SHOP, storeIdx = GConst.ShopConst.MAIN_PAGE_TYPE.GOLD}) +end + +function TaskManager:gotoMainHeroUI() + EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.CHANGE_MAIN_CITY_PAGE, {page = GConst.MainCityConst.BOTTOM_PAGE.HERO}) +end + +function TaskManager:gotoSummonUI() + ModuleManager.SummonManager:showSummonMainUI() +end + +function TaskManager:gotoArenaUI() + ModuleManager.ArenaManager:showArenaUI() +end + +function TaskManager:gotoDailyChallengeUI() + ModuleManager.DailyChallengeManager:showDailyChallengeUI() +end + TaskManager.gotoFunc = { + [GConst.TaskConst.TASK_TYPE.X_WATCH_AD] = TaskManager.gotoMainShopUI, + [GConst.TaskConst.TASK_TYPE.X_GOLD_GOT] = TaskManager.gotoMainShopGoldUI, + [GConst.TaskConst.TASK_TYPE.X_GEM_GOT] = TaskManager.gotoMainShopGemUI, + [GConst.TaskConst.TASK_TYPE.X_BATTLE_VICTORY] = TaskManager.gotoMainUI, + [GConst.TaskConst.TASK_TYPE.X_KILL_BOSS] = TaskManager.gotoMainUI, + [GConst.TaskConst.TASK_TYPE.X_HERO_LV_UP] = TaskManager.gotoMainHeroUI, [GConst.TaskConst.TASK_TYPE.X_KILL_MONSTER] = TaskManager.gotoMainUI, + [GConst.TaskConst.TASK_TYPE.X_ELIMINATE_SIX_ONCE] = TaskManager.gotoMainUI, + [GConst.TaskConst.TASK_TYPE.X_USE_SKILL] = TaskManager.gotoMainUI, + [GConst.TaskConst.TASK_TYPE.DAILY_TASK_WATCH_AD_SPECIAL] = TaskManager.gotoMainShopUI, + [GConst.TaskConst.TASK_TYPE.X_HERO_MAX_LV_REACH] = TaskManager.gotoMainHeroUI, + [GConst.TaskConst.TASK_TYPE.X_VIT_COST] = TaskManager.gotoMainUI, + [GConst.TaskConst.TASK_TYPE.X_NEW_HERO_GOT] = TaskManager.gotoSummonUI, + [GConst.TaskConst.TASK_TYPE.X_ARENA_CHALLENGE] = TaskManager.gotoArenaUI, + [GConst.TaskConst.TASK_TYPE.X_ARENA_GRADING] = TaskManager.gotoArenaUI, + [GConst.TaskConst.TASK_TYPE.X_DAILY_CHALLENGE_SUCCESS] = TaskManager.gotoDailyChallengeUI, + [GConst.TaskConst.TASK_TYPE.X_BUY_ANYONE] = TaskManager.gotoMainShopGemUI, + [GConst.TaskConst.TASK_TYPE.X_SUMMON_HERO_6] = TaskManager.gotoSummonUI, + [GConst.TaskConst.TASK_TYPE.X_SUMMON_HERO_5] = TaskManager.gotoSummonUI, + [GConst.TaskConst.TASK_TYPE.X_SUMMON_HERO_4] = TaskManager.gotoSummonUI, + [GConst.TaskConst.TASK_TYPE.X_SUMMON_HERO_3] = TaskManager.gotoSummonUI, + [GConst.TaskConst.TASK_TYPE.X_SUMMON_HERO] = TaskManager.gotoSummonUI, } function TaskManager:dealTaskType(taskType, callback, onlyGet) diff --git a/lua/app/ui/main_city/main_city_ui.lua b/lua/app/ui/main_city/main_city_ui.lua index 9b4d87a4..bd601fa0 100644 --- a/lua/app/ui/main_city/main_city_ui.lua +++ b/lua/app/ui/main_city/main_city_ui.lua @@ -190,6 +190,37 @@ function MainCityUI:_addListeners() self:addEventListener(EventManager.CUSTOM_EVENT.MAIN_UI_CHECK_SIDE_BAR, function(module) self:checkSideBarOpenStatus() end) + self:addEventListener(EventManager.CUSTOM_EVENT.CHANGE_MAIN_CITY_PAGE, function(params) + params = params or {} + local page = params.page or self.selectedInedx + if page == GConst.MainCityConst.BOTTOM_PAGE.SHOP then + if self.selectedInedx == page then -- 直接跳转 + if self.subComps[GConst.MainCityConst.BOTTOM_PAGE.SHOP] then + self.subComps[GConst.MainCityConst.BOTTOM_PAGE.SHOP]:switchPage(params.storeIdx) + end + end + -- elseif page == GConst.MainCityConst.BOTTOM_PAGE.DUNGEON then + -- if self.selectedInedx == page then -- 直接跳转 + -- if self.dungeonComp then + -- self.dungeonComp:refresh(params.dungeonModule) + -- end + -- end + -- elseif page == GConst.MainCityConst.BOTTOM_PAGE.MAIN then + -- if self.selectedInedx == page then -- 直接跳转 + -- if self.mainComp then + -- -- 跳转到精英 需要改变下最大关卡 + -- if self.showChapterModule and self.showChapterModule == GConst.MainCityConst.MAIN_CHAPTER_MODULE.TEAM then + -- local id = DataManager.ChapterTeamData:getLastChapterId(DataManager.ChapterData:getMaxPassId()) + -- id = id or 1 + -- DataManager.ChapterData:setChapterId(DataManager.ChapterTeamData:getChapterIdById(id)) + -- end + -- self.mainComp:refresh(self.showChapterModule) + -- self.showChapterModule = nil + -- end + -- end + end + self:refreshBottom(page, true) + end) DataManager.MailData:checkNewMail() end @@ -280,9 +311,9 @@ function MainCityUI:initBottomUI() end self.bottomBtnSpines[i]:playAnimComplete("born1", false, false, function() - self.bottomBtnSpines[i]:playAnimComplete("born2", false, false, function() - self.bottomBtnSpines[i]:playAnim("idle", false, false) - end) + self.bottomBtnSpines[i]:playAnimComplete("born2", false, false, function() + self.bottomBtnSpines[i]:playAnim("idle", false, false) + end) end) self:refreshBottom(i, true) end) @@ -343,10 +374,6 @@ function MainCityUI:refreshBottom(selectedIndex, playAnim) self.selectedIndex = selectedIndex and selectedIndex or GConst.MainCityConst.BOTTOM_PAGE.MAIN self:switchComp() - if oldIndex ~= selectedIndex then - EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.CHANGE_MAIN_CITY_PAGE, self.selectedIndex) - end - -- 动效 if playAnim and (oldIndex ~= selectedIndex) then local targetX = self.bottomBtnCells[self.selectedIndex]:getCurLocalPosX() @@ -1107,8 +1134,8 @@ end -- 检查引导 function MainCityUI:checkTutorial(onlyCheck) if (EDITOR_MODE or not Platform:getIsPublishChannel()) and LocalData:getTutorialSkip() > 0 then - return - end + return + end if DataManager.ChapterData:getMaxChapterId() == 1 then if ModuleManager.TutorialManager:checkFuncTutorial(GConst.TutorialConst.PASS_ONE_CHAPTER, onlyCheck) then return true diff --git a/lua/app/ui/task/cell/achievement_task_cell.lua b/lua/app/ui/task/cell/achievement_task_cell.lua index 1cfc134d..7c798a27 100644 --- a/lua/app/ui/task/cell/achievement_task_cell.lua +++ b/lua/app/ui/task/cell/achievement_task_cell.lua @@ -18,8 +18,7 @@ function AchievementTaskCell:init() if DataManager.DailyTaskData:canClaimAchievement(self.taskId, self.taskStage) then ModuleManager.TaskManager:onTaskAchievementReq(self.taskId, self.taskStage) else - -- ModuleManager.TaskManager:goToTask(self.taskType) - ModuleManager.TaskManager:onTaskAchievementReq(self.taskId, self.taskStage) + ModuleManager.TaskManager:taskGoto(self.taskType) end end) end