local TutorialConst = require "app/module/tutorial/tutorial_const" local TutorialAction = {} function TutorialAction:init() end function TutorialAction:clear() end function TutorialAction:doTutorial(tutorialId) local tutorialType = DataManager.TutorialData:getTutorialTypeById(tutorialId) local func = TutorialAction._doTutorial[tutorialType] if func then func(tutorialId) else ModuleManager.TutorialManager:stopTutorial() end end function TutorialAction:doStepOver(tutorialId) local tutorialType = DataManager.TutorialData:getTutorialTypeById(tutorialId) local func = TutorialAction._doStepOver[tutorialType] if func then func(tutorialId) end end -- 任意位置点击 local function _tutorialClick(tutorialId) ModuleManager.TutorialManager:showTalk() ModuleManager.TutorialManager:registerClickScreenListener(function() ModuleManager.TutorialManager:checkAndNextTutorial(tutorialId) end) end -- 点击指定按钮 local function _tutorialClickBtn(tutorialId) local typeParameter = DataManager.TutorialData:getTypeParameter() ModuleManager.TutorialManager:registerClickBtnListener(function() ModuleManager.TutorialManager:checkAndNextTutorial(tutorialId) end, nil, typeParameter) end -- 剧情对话 local function _tutorialTalk(tutorialId) ModuleManager.TutorialManager:showTalk() local typeParameter = DataManager.TutorialData:getTypeParameter() ModuleManager.TutorialManager:registerClickBtnListener(function() ModuleManager.TutorialManager:checkAndNextTutorial(tutorialId) end, nil, typeParameter) end -- 空步骤,什么也不做,一般搭配完成条件使用 local function _tutorialEmpty(tutorialId) ModuleManager.TutorialManager:checkAndNextTutorial(tutorialId) end local function _tutorialEmptyCancelBlock(tutorialId) ModuleManager.TutorialManager:setBlockTouchEnabled(false) ModuleManager.TutorialManager:checkAndNextTutorial(tutorialId) end TutorialAction._doTutorial = { [TutorialConst.TUTORIAL_TYPE.CLICK] = _tutorialClick, [TutorialConst.TUTORIAL_TYPE.CLICK_BTN] = _tutorialClickBtn, [TutorialConst.TUTORIAL_TYPE.TALK] = _tutorialTalk, [TutorialConst.TUTORIAL_TYPE.DO_NOTHING] = _tutorialEmpty, [TutorialConst.TUTORIAL_TYPE.EMPTY_CANCEL_BLOCK] = _tutorialEmptyCancelBlock, } -- 此步引导结束的时候 TutorialAction._doStepOver = { } return TutorialAction