源战役客户端
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 
 
 

117 wiersze
2.9 KiB

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