源战役客户端
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 
 

70 строки
1.9 KiB

require("game.proto.182.Require182")
require("game.taskAnnounce.TaskAnnounceModel")
require("game.taskAnnounce.TaskAnnounceView")
require("game.taskAnnounce.TaskAnnounceItem")
TaskAnnounceController = TaskAnnounceController or BaseClass(BaseController)
local TaskAnnounceController = TaskAnnounceController
function TaskAnnounceController:__init()
TaskAnnounceController.Instance = self
self.model = TaskAnnounceModel:getInstance()
self:RegisterProtocals()
self.last_refresh_time = 0
self:InitEvent()
end
function TaskAnnounceController:RegisterProtocals()
self:RegisterProtocal(18200, "handler18200")
self:RegisterProtocal(18201, "handler18201")
end
function TaskAnnounceController:InitEvent()
local function onRequestHandler(...)
local args = {...}
if args[1] == 18201 then
self:SendFmtToGame(args[1], "h", args[2], args[3])
else
self:SendFmtToGame(args[1])
end
end
self.model:Bind(TaskAnnounceModel.REQUEST_CCMD_EVENT, onRequestHandler)
local function ANS_FINISHED_TASK_LIST( task_id )
--登陆等任务列表返回,要去请求数据
if not task_id then
self.model:Fire(TaskAnnounceModel.REQUEST_CCMD_EVENT, 18200)
end
end
GlobalEventSystem:Bind(TaskEvent.ANS_FINISHED_TASK_LIST,ANS_FINISHED_TASK_LIST)
local function onOpenAnnounceView(open_id)
if self.announce_view == nil then
self.announce_view = TaskAnnounceView.New()
end
self.announce_view:Open(open_id)
end
self.model:Bind(TaskAnnounceModel.OPEN_ANNOUNCE_VIEW, onOpenAnnounceView)
end
-- 奖励状态
function TaskAnnounceController:handler18200()
local scmd = SCMD18200.New(true)
-- PrintTable(scmd)
if scmd then
self.model:SetRewardInfo(scmd.func_list)
else
self.model:SetRewardInfo()
end
end
-- 领取奖励
function TaskAnnounceController:handler18201()
local scmd = SCMD18201.New(true)
if scmd then
if scmd.state == 2 then
Message.show("领取成功")
end
self.model:SetRewardData(scmd)
end
end