local PlayerGuide_Model = {} local private = {} local guide_pb = require("Proto/guide_pb") local EventSystem = require('Event/EventSystem') local finishInfo = nil local curFinishId = nil local curFinishChildId = nil PlayerGuide_Model.TestId = nil function PlayerGuide_Model.OnStartup() NetManager.RegisterMsgCB(MessageEnums.MessageFinishGuide,private.OnGuideFinish) end function PlayerGuide_Model.OnShutdown() end function PlayerGuide_Model.IsComplete(id,childId) if LogicUpdateManager.IsReplayOrServerCheck then return true end if finishInfo then for i,v in ipairs(finishInfo.finishedGuides) do if v == tonumber(id) and v ~= MDL.PlayerGuide.TestId then return true end end end if curFinishId == id and childId and curFinishChildId and curFinishChildId >= childId then return true end return false end function PlayerGuide_Model.SetFinishChild(id, childId) curFinishId = id curFinishChildId = childId end function PlayerGuide_Model.SetFinishInfo(info) finishInfo = info CTL.PlayerGuide.OnSetFinishInfo(info) end function PlayerGuide_Model.SendFinishGuide(id) local msg = guide_pb.FinishGuideReq() msg.finishGuideStep = id NetManager.SendMessage(MessageEnums.MessageFinishGuide,msg) EventSystem.Dispatch(EventID.BI_OnFinishGuide, id) end function private.OnGuideFinish(msg) CTL.PlayerGuide.TryStartGuideNoView() end function PlayerGuide_Model.IsFinishTutorial() return PlayerGuide_Model.IsComplete(33, 7) end return PlayerGuide_Model