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
|
|
|
|
|