require("game.proto.114.Require114")
|
|
require("game.newerTask.NewerTaskConst")
|
|
require("game.newerTask.NewerTaskModel")
|
|
require("game.newerTask.NewerTaskMainView")
|
|
require("game.newerTask.NewerTaskItem")
|
|
require("game.newerTask.NewerTaskPartView")
|
|
|
|
|
|
NewerTaskController = NewerTaskController or BaseClass(BaseController, true)
|
|
|
|
function NewerTaskController:__init()
|
|
NewerTaskController.Instance = self
|
|
self.model = NewerTaskModel:getInstance()
|
|
self:AddEvents()
|
|
self:RegisterAllProtocal()
|
|
|
|
end
|
|
|
|
function NewerTaskController:__delete()
|
|
end
|
|
|
|
function NewerTaskController:RegisterAllProtocal( )
|
|
self:RegisterProtocal(11400, "Handle11400") --总的已领取
|
|
self:RegisterProtocal(11401, "Handle11401") --请求领取
|
|
end
|
|
|
|
function NewerTaskController:AddEvents()
|
|
local function on_game_start()
|
|
self:SendFmtToGame(11400)
|
|
end
|
|
GlobalEventSystem:Bind(EventName.GAME_START, on_game_start)
|
|
|
|
local function on_main_view(task_id, auto_do_task)
|
|
self:OpenView("NewerTaskMainView", true, auto_do_task)
|
|
end
|
|
GlobalEventSystem:Bind(NewerTaskConst.OPEN_MAIN_VIEW, on_main_view)
|
|
|
|
local function on_part_view( task_id )
|
|
self:OpenView("NewerTaskPartView", true, task_id)
|
|
end
|
|
GlobalEventSystem:Bind(NewerTaskConst.OPEN_PART_VIEW, on_part_view)
|
|
|
|
local function on_get_award( type, task_id )
|
|
self:SendFmtToGame(11401, "ci", type, task_id)
|
|
end
|
|
GlobalEventSystem:Bind(NewerTaskConst.REQ_GET_AWARD, on_get_award)
|
|
|
|
local function on_task_finish( task_id )
|
|
if NewerTaskConst.PartTaskId[task_id] then
|
|
self:OpenView("NewerTaskPartView", true, task_id)
|
|
end
|
|
end
|
|
GlobalEventSystem:Bind(TaskEvent.ANS_FINISHED_TASK_LIST, on_task_finish)
|
|
end
|
|
|
|
|
|
--[[
|
|
########### 总的已领取 ##############
|
|
protocol=11400
|
|
{
|
|
c2s{
|
|
|
|
}
|
|
s2c{
|
|
list:array{
|
|
type:int8
|
|
task_id:int32
|
|
}
|
|
}
|
|
}
|
|
]]
|
|
function NewerTaskController:Handle11400( )
|
|
local vo = SCMD11400.New(true)
|
|
self.model:SetAwardFinishList(vo.list)
|
|
GlobalEventSystem:Fire(NewerTaskConst.UPDATE_AWARD_INFO)
|
|
self:CheckIsFinish()
|
|
end
|
|
|
|
|
|
--[[
|
|
########### 领取 ##############
|
|
protocol=11401
|
|
{
|
|
c2s{
|
|
type:int8
|
|
task_id:int32
|
|
}
|
|
s2c{
|
|
res:int16
|
|
type:int8
|
|
task_id:int32
|
|
}
|
|
}
|
|
]]
|
|
function NewerTaskController:Handle11401( )
|
|
local vo = SCMD11401.New(true)
|
|
if vo.res == 1 then
|
|
self.model:SetSingleAwardFinish(vo)
|
|
GlobalEventSystem:Fire(NewerTaskConst.UPDATE_AWARD_INFO)
|
|
|
|
self:CheckIsFinish()
|
|
else
|
|
ErrorCodeShow(vo.res)
|
|
end
|
|
end
|
|
|
|
function NewerTaskController:CheckIsFinish( )
|
|
local progress, is_all_finish, is_can_get = self.model:GetProgress()
|
|
if progress == 100 and is_all_finish then
|
|
if self.NewerTaskMainView and self.NewerTaskMainView:HasOpen() then
|
|
self.NewerTaskMainView:Close()
|
|
end
|
|
-- 完成摩托考核需要刷新精英考核状态
|
|
EliteAssessModel:getInstance():Fire(EliteAssessModel.REQUEST_INFO,45201)
|
|
-- EliteAssessModel:getInstance():Fire(EliteAssessModel.PLAY_MAINUI_EFFECT)
|
|
end
|
|
end
|