源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

215 regels
6.5 KiB

require("game.proto.452.Require452")
require("game.eliteAssess.EliteAssessConst")--精英考核常量
require("game.eliteAssess.EliteAssessModel")
require("game.eliteAssess.view.EliteAssessView")--精英考核主界面
require("game.eliteAssess.view.EliteAssessTab")--精英考核主界面tab
require("game.eliteAssess.view.EliteAssessItem")--精英考核任务item
require("game.eliteAssess.view.EliteAssessShowAwardView")--精英考核奖励展示界面
require("game.eliteAssess.view.EliteAssessAttrItem")--精英考核属性item
EliteAssessController = EliteAssessController or BaseClass(BaseController)
EliteAssessController.Is_Debug = false
function EliteAssessController:__init()
EliteAssessController.Instance = self
self.model = EliteAssessModel:getInstance()
self.mainVo = RoleManager.Instance.mainRoleInfo
self:RegisterAllProtocals()
self:AddAllEvents()
end
function EliteAssessController:__delete()
end
function EliteAssessController:AddAllEvents()
local function game_start_func()
end
GlobalEventSystem:Bind(EventName.GAME_START,game_start_func)
-- local function CheckRedPoint( ... )
-- end
-- GlobalEventSystem:Bind(GoodsModel.CHANGE_BAGLIST,game_start_func)
local onOpenEliteAssessView = function ()--打开精英考核界面
if self.EliteAssessView == nil then
self.EliteAssessView = EliteAssessView.New()
end
if self.EliteAssessView:HasOpen() then
self.EliteAssessView:UpdateView()
else
self.EliteAssessView:Open()
end
end
GlobalEventSystem:Bind(EliteAssessModel.OPEN_ELITE_ASSESS_VIEW, onOpenEliteAssessView)
local onCloseEliteAssessView = function ()--打开精英考核界面
if self.EliteAssessView ~= nil then
self.EliteAssessView:Close()
end
end
GlobalEventSystem:Bind(EliteAssessModel.CLOSE_ELITE_ASSESS_VIEW, onCloseEliteAssessView)
local function openEliteAssessShowAwardView(data,x,y)--打开精英考核奖励展示界面
if self.EliteAssessShowAwardView == nil then
self.EliteAssessShowAwardView = EliteAssessShowAwardView.New()
end
if self.EliteAssessShowAwardView:HasOpen() then
-- self.EliteAssessShowAwardView:UpdateView(data)
else
self.EliteAssessShowAwardView:Open(data,x,y)
end
end
self.model:Bind(EliteAssessModel.OPEN_ELITE_ASSESS_AWARD_SHOW_VIEW, openEliteAssessShowAwardView)
local function onSendCmdFunc( ... )
local args_list = {...}
-- if args_list[1] == 45202 then
-- self:SendFmtToGame(args_list[1],"h",args_list[2])
if args_list[1] == 45201 then
self:SendFmtToGame(args_list[1])
elseif args_list[1] == 45203 then --领取任务奖励
self:SendFmtToGame(args_list[1],"hh",args_list[2],args_list[3])
else
-- self:SendFmtToGame(args_list[1])
end
end
self.model:Bind(EliteAssessModel.REQUEST_INFO, onSendCmdFunc)
local function init_open_day( ... )--开服天数初始化
self.model:Fire(EliteAssessModel.REQUEST_INFO,45201)
end
GlobalEventSystem:Bind(EventName.OPEN_DAY_INIT,init_open_day)
--升级
local function onLevelUp(level)
if GetModuleOpenLevel(452,nil) == level then
self.model:Fire(EliteAssessModel.REQUEST_INFO,45201)
end
local eliteAssess_cfg = self.model:GetEliteAssessListCfg()
for i,v in ipairs(eliteAssess_cfg) do
if v.open_lv == level then
self.model:Fire(EliteAssessModel.REQUEST_INFO,45201)
end
end
end
RoleManager.Instance.mainRoleInfo:Bind(EventName.CHANGE_LEVEL, onLevelUp)
end
function EliteAssessController:RegisterAllProtocals()
self:RegisterProtocal(45201, "handle45201") -- 章节信息
-- self:RegisterProtocal(45202, "handle45202") -- 领取章节奖励
self:RegisterProtocal(45203, "handle45203") -- 领取任务奖励
end
-- ############## 章节信息 ##############
-- protocol=45201
-- {
-- c2s{}
-- s2c{
-- category_list:array{
-- category :int16 // 章节
-- task_list:array{
-- task_id :int16 // 任务Id
-- progress :int32 // 进度
-- status :int8 // 状态 0:未完成 1:已完成未领取 2:已领取
-- }
-- }
-- }
-- }
function EliteAssessController:handle45201()
local scmd = {}
if not EliteAssessController.Is_Debug then
scmd = SCMD45201.New(true)
-- print("huangcong:EliteAssessController [116]: ",scmd)
-- PrintTable(scmd)
-- print("Lizhijian:EliteAssessController [start:129] ")
-- PrintTable(scmd)
-- print("Lizhijian:EliteAssessController [end:129] ")
self.model:SetViewInfo(scmd)
self.model:Fire(EliteAssessModel.UPDATE_ELITE_ASSESS_VIEW)
else
scmd = {}
scmd.category = 1
scmd.count = 0
scmd.status = 0
local list = {}
for i=1,19 do
local data = {}
data.task_id = 1000+i
data.progress = 0
data.status = 0
if i <= 6 then
data.sub_category = 1
elseif i > 6 and i <= 12 then
data.sub_category = 2
elseif i > 12 then
data.sub_category = 3
end
list[#list + 1] = data
end
scmd.list = list
self.model:SetViewInfo(scmd)
self.model:Fire(EliteAssessModel.UPDATE_ELITE_ASSESS_VIEW)
end
end
-- ############## 领取章节奖励 ##############
-- protocol=45202
-- {
-- c2s{
-- category :int16 // 当前章节
-- }
-- s2c{
-- errcode :int32 // 错误码
-- category :int16 // 当前章节
-- }
-- }
-- function EliteAssessController:handle45202()
-- local scmd = SCMD45202.New(true)
-- -- print("huangcong:EliteAssessController [116]: ",scmd)
-- -- PrintTable(scmd)
-- if scmd.errcode == 1 then
-- Message.show("领取成功","success")
-- self.model:Fire(EliteAssessModel.REQUEST_INFO, 45201)
-- if scmd.category == 2 then--章节二领完就要做动画了
-- self.model:Fire(EliteAssessModel.PLAY_ELITE_ASSESS_ACTION)
-- end
-- else
-- ErrorCodeShow(scmd.errcode)
-- end
-- end
-- ############## 领取任务奖励 ##############
-- protocol=45203
-- {
-- c2s{
-- category :int16 // 当前章节
-- sub_category :int16 // 子章节
-- task_id :int16 // 任务Id
-- }
-- s2c{
-- errcode :int32 // 错误码
-- }
-- }
function EliteAssessController:handle45203()
local scmd = SCMD45203.New(true)
-- print("huangcong:EliteAssessController [116]: ",scmd)
-- PrintTable(scmd)
if scmd.errcode == 1 then
Message.show("领取成功")
lua_soundM:PlayUIEffectSound(LuaSoundManager.SOUND_UI.SUCCESS)
local task = self.model:GetEliteAssessChapterTaskCfg(scmd.category)
if task.task_id == scmd.task_id then
self.model.force_change_tab = true
end
self.model:Fire(EliteAssessModel.REQUEST_INFO, 45201)
else
ErrorCodeShow(scmd.errcode)
end
end