|
require("game.proto.145.Require145")
|
|
require("game.equipCollect.EquipCollectModel")
|
|
require("game.equipCollect.EquipCollectConst")
|
|
require("game.equipCollect.EquipCollectView")--装备大全界面
|
|
require("game.equipCollect.EquipCollectEquipItem")--装备大全装备item
|
|
require("game.equipCollect.EquipCollectLeftItem")--装备大全左边滚动item
|
|
require("game.equipCollect.EquipCollectAttrItem")--装备大全属性item
|
|
require("game.equipCollect.EquipCollectTipView")--弹出的装备收集tip
|
|
require("game.equipCollect.EquipCollectTipItem")--弹出的装备收集tipItem
|
|
require("game.equipCollect.EquipCollectProgressItem")--装备收集界面里面的进度条小点点
|
|
require("game.equipCollect.EquipCollectSubView")--装备收集子界面
|
|
require("game.equipCollect.EquipCollectMainView")--装备考核主界面
|
|
require("game.equipCollect.EquipCollectRightItem")--装备收集右边的item
|
|
require("game.equipCollect.EquipCollectTabItem")--右边的页签tab
|
|
require("game.equipCollect.EquipExamTaskItem")--装备考核任务的item
|
|
require("game.equipCollect.EquipExamTaskTabItem")--装备考核任务的页签item
|
|
require("game.equipCollect.EquipExamTaskView")--装备考核任务
|
|
require("game.equipCollect.EquipExamBossView")--装备考核boss
|
|
require("game.equipCollect.EquipExamBossItem")--装备考核boss页签
|
|
require("game.equipCollect.EquipExamBossAwardItem")--装备考核boss奖励
|
|
require("game.equipCollect.EquipExamBossRedPacketView")--装备考核boss红包
|
|
require("game.equipCollect.EquipExamUpgradeView")--装备考核进阶
|
|
require("game.equipCollect.EquipExamUpgradeItem")--装备考核进阶item
|
|
require("game.equipCollect.EquipExamUpgradeAttrView")--装备升星总属性界面
|
|
require("game.equipCollect.EquipExamUpgradeAttrItem")--装备升星总属性界面item
|
|
require("game.equipCollect.EquipCollectSuitTipView")--装备考核弹出来的套装tip
|
|
|
|
|
|
EquipCollectController = EquipCollectController or BaseClass(BaseController)
|
|
|
|
function EquipCollectController:__init()
|
|
EquipCollectController.Instance = self
|
|
self.model = EquipCollectModel:getInstance()
|
|
self.mainVo = RoleManager.Instance.mainRoleInfo
|
|
self:InitEvent()
|
|
self:RegisterAllProtocals()
|
|
end
|
|
|
|
function EquipCollectController:InitEvent( )
|
|
local function on_open_main_view( show, index, id, sub_id, show_first_effect)
|
|
if show then
|
|
if not self.EquipCollectMainView then
|
|
self.EquipCollectMainView = EquipCollectMainView.New()
|
|
end
|
|
self.EquipCollectMainView:Open(index, id, sub_id, show_first_effect)
|
|
else
|
|
if self.EquipCollectMainView and self.EquipCollectMainView:HasOpen() then
|
|
self.EquipCollectMainView:Close()
|
|
end
|
|
end
|
|
end
|
|
self.model:Bind(EquipCollectConst.OPEN_EC_MAIN_VIEW, on_open_main_view)
|
|
local function on_open_tip_view( data )
|
|
if self.model:IsCollectSuit() then
|
|
if not self.EquipCollectSuitTipView then
|
|
self.EquipCollectSuitTipView = EquipCollectSuitTipView.New()
|
|
end
|
|
if self.EquipCollectSuitTipView:HasOpen() then
|
|
self.EquipCollectSuitTipView:ReOpen(data)
|
|
else
|
|
self.EquipCollectSuitTipView:Open(data)
|
|
end
|
|
else
|
|
if not self.EquipCollectTipView then
|
|
self.EquipCollectTipView = EquipCollectTipView.New()
|
|
end
|
|
if self.EquipCollectTipView:HasOpen() then
|
|
self.EquipCollectTipView:ReOpen(data)
|
|
else
|
|
self.EquipCollectTipView:Open(data)
|
|
end
|
|
end
|
|
end
|
|
self.model:Bind(EquipCollectConst.SHOW_EQUIP_COLLECT_TIP, on_open_tip_view)
|
|
|
|
local function update_red_dot_by_tab_id_func( tab_id )--主要的更新红点方法
|
|
if not tab_id then
|
|
self.model:IsEquipExamNeedRedAll()
|
|
else
|
|
self.model:IsEquipExamNeedRed(tab_id)
|
|
end
|
|
local red_dot = self.model:GetAllEquipExamRedDot()
|
|
local bool = false
|
|
for i,v in pairs(red_dot) do
|
|
if v then
|
|
bool = true
|
|
break
|
|
end
|
|
end
|
|
-- GlobalEventSystem:Fire(ActivityIconManager.UPDATE_ICON_TIPS,15208,bool)
|
|
end
|
|
self.model:Bind(EquipCollectConst.UPDATE_EQUIP_COLLECT_RED,update_red_dot_by_tab_id_func)
|
|
|
|
local function on_open_total_attr_view( )
|
|
if not self.EquipExamUpgradeAttrView then
|
|
self.EquipExamUpgradeAttrView = EquipExamUpgradeAttrView.New()
|
|
end
|
|
self.EquipExamUpgradeAttrView:Open()
|
|
end
|
|
self.model:Bind(EquipCollectConst.OPEN_EC_UPGRADE_ATTR_VIEW, on_open_total_attr_view)
|
|
|
|
|
|
local function on_level_icon_open( level )--等级
|
|
if level == Config.Moduleid[145].open_lv then
|
|
self.model:Fire(EquipCollectConst.REQUEST_SCMD_EVENT,15218)
|
|
self.model:Fire(EquipCollectConst.REQUEST_SCMD_EVENT,14510)
|
|
elseif level == Config.Modulesub["145@2"].open_lv then
|
|
self.model:Fire(EquipCollectConst.REQUEST_SCMD_EVENT, 14501)
|
|
end
|
|
end
|
|
RoleManager.Instance.mainRoleInfo:Bind(EventName.CHANGE_LEVEL, on_level_icon_open)
|
|
|
|
local function on_task_icon_open( task_id )--任务
|
|
if Config.Moduleid[145].task_id == task_id then
|
|
self.model:Fire(EquipCollectConst.REQUEST_SCMD_EVENT,15218)
|
|
self.model:Fire(EquipCollectConst.REQUEST_SCMD_EVENT,14510)
|
|
end
|
|
end
|
|
GlobalEventSystem:Bind(TaskEvent.ANS_FINISHED_TASK_LIST, on_task_icon_open)
|
|
|
|
local function init_open_day( ... )--开服天数初始化
|
|
if GetModuleIsOpen(145) then
|
|
self.model:Fire(EquipCollectConst.REQUEST_SCMD_EVENT,15218)
|
|
self.model:Fire(EquipCollectConst.REQUEST_SCMD_EVENT,14510)
|
|
self.model:Fire(EquipCollectConst.REQUEST_SCMD_EVENT, 14501)
|
|
end
|
|
end
|
|
GlobalEventSystem:Bind(EventName.OPEN_DAY_INIT,init_open_day)
|
|
|
|
local function onRequestProtocal(...)
|
|
local args = {...}
|
|
if args[1] == 15220 then
|
|
self:SendFmtToGame(args[1], "cc", args[2], args[3])
|
|
elseif args[1] == 14512 then
|
|
self:SendFmtToGame(args[1], "i", args[2])
|
|
elseif args[1] == 14502 then
|
|
self:SendFmtToGame(args[1], "ic", args[2], args[3])
|
|
else
|
|
self:SendFmtToGame(args[1])
|
|
end
|
|
end
|
|
self.model:Bind(EquipCollectConst.REQUEST_SCMD_EVENT, onRequestProtocal)
|
|
|
|
|
|
local onEquipStarRed = function (id, flag)
|
|
if id == EquipModel.MainTab.Evolution then
|
|
self.model:IsEquipExamNeedRed(EquipCollectConst.TAB_ID.UPGRADE)
|
|
end
|
|
end
|
|
EquipModel:getInstance():Bind(EquipModel.UPDATE_VIEW_RED, onEquipStarRed)
|
|
|
|
local function onEquipExamBossRedPacketView( show, boss_id, is_open)
|
|
if show then
|
|
if not self.EquipExamBossRedPacketView then
|
|
self.EquipExamBossRedPacketView = EquipExamBossRedPacketView.New()
|
|
end
|
|
self.EquipExamBossRedPacketView:Open(boss_id, is_open)
|
|
else
|
|
if self.EquipExamBossRedPacketView and self.EquipExamBossRedPacketView:HasOpen() then
|
|
self.EquipExamBossRedPacketView:Close()
|
|
end
|
|
end
|
|
end
|
|
self.model:Bind(EquipCollectConst.OPEN_RED_PACKET_VIEW, onEquipExamBossRedPacketView)
|
|
end
|
|
|
|
function EquipCollectController:RegisterAllProtocals( )
|
|
self:RegisterProtocal(15218, "Handle15218")--装备收集信息
|
|
self:RegisterProtocal(15219, "Handle15219")--装备收集-新增一件收集
|
|
self:RegisterProtocal(15220, "Handle15220")--装备收集-激活进度
|
|
|
|
self:RegisterProtocal(14510, "Handle14510")--装备考核-装备任务-基本信息
|
|
self:RegisterProtocal(14511, "Handle14511")--装备考核-装备任务-单条任务-变更主推
|
|
self:RegisterProtocal(14512, "Handle14512")--装备考核-装备任务-任务领奖
|
|
|
|
self:RegisterProtocal(14501, "Handle14501")--装备考核-BOSS首杀-基本信息
|
|
self:RegisterProtocal(14502, "Handle14502")--装备考核-BOSS首杀-完成某个首杀-主推
|
|
self:RegisterProtocal(14503, "Handle14503")--装备考核-BOSS首杀-领奖
|
|
end
|
|
|
|
-- ############## 装备收集信息 ##############
|
|
-- protocol=15218
|
|
-- {
|
|
-- c2s{
|
|
-- }
|
|
-- s2c{
|
|
-- list:array{
|
|
-- type :int8 // 代数
|
|
-- sub_type :int8 // 品质
|
|
-- equipment_list:array{ //
|
|
-- goods_id:int32 // 已收集的装备id
|
|
-- }
|
|
-- active_progress:int8 // 激活进度
|
|
-- }
|
|
-- }
|
|
-- }
|
|
function EquipCollectController:Handle15218( )
|
|
local vo = SCMD15218.New(true)
|
|
self.model:SetEquipCollectInfo(vo)
|
|
if self.model:IsNeedShowTip() then
|
|
local data = DeepCopy(self.model:GetEquipCollectNeedShowTipData())
|
|
self.model:Fire(EquipCollectConst.SHOW_EQUIP_COLLECT_TIP,data)
|
|
end
|
|
self.model:Fire(EquipCollectConst.UPDATE_EQUIP_COLLECT_RED, EquipCollectConst.TAB_ID.COLLECT)
|
|
end
|
|
-- ############## 装备收集-新增一件收集 ##############
|
|
-- protocol=15219
|
|
-- {
|
|
-- c2s{
|
|
-- }
|
|
-- s2c{
|
|
-- type :int8 // 代数
|
|
-- sub_type :int8 // 品质
|
|
-- goods_id :int32 // 收集的装备id
|
|
-- }
|
|
-- }
|
|
function EquipCollectController:Handle15219( )
|
|
local vo = SCMD15219.New(true)
|
|
local data = {
|
|
id = vo.type,
|
|
sub_id = vo.sub_type,
|
|
goods_id = vo.goods_id,
|
|
}
|
|
self.model:SetEquipCollectNeedShowTipData(data)
|
|
self.model:Fire(EquipCollectConst.REQUEST_SCMD_EVENT,15218)
|
|
-- self.model:AddOneEquipCollectInfo(vo)
|
|
end
|
|
|
|
-- ############## 装备收集-激活进度 ##############
|
|
-- protocol=15220
|
|
-- {
|
|
-- c2s{
|
|
-- type :int8 // 代数
|
|
-- sub_type :int8 // 品质
|
|
-- }
|
|
-- s2c{
|
|
-- res :int32 // 错误码
|
|
-- type :int8 // 代数
|
|
-- sub_type :int8 // 品质
|
|
-- active_progress:int8 // 激活进度
|
|
-- }
|
|
-- }
|
|
function EquipCollectController:Handle15220( )
|
|
local vo = SCMD15220.New(true)
|
|
if vo.res == 1 then
|
|
Message.show("激活套装属性成功", "success")
|
|
self.model:Fire(EquipCollectConst.REQUEST_SCMD_EVENT,15218)
|
|
if vo.type == 1 and vo.sub_type == 1 then
|
|
GlobalEventSystem:Fire(EventName.TEST_HELP_STEP,11001)
|
|
end
|
|
else
|
|
ErrorCodeShow(vo.res)
|
|
end
|
|
end
|
|
|
|
function EquipCollectController:Handle14510( )
|
|
local vo = SCMD14510.New(true)
|
|
self.model:SetEquipCollectTaskInfo(vo)
|
|
self.model:Fire(EquipCollectConst.UPDATE_EQUIP_COLLECT_RED, EquipCollectConst.TAB_ID.TASK)
|
|
end
|
|
|
|
function EquipCollectController:Handle14511( )
|
|
local vo = SCMD14511.New(true)
|
|
self.model:SetEquipCollectTaskOneInfo(vo)
|
|
self.model:Fire(EquipCollectConst.UPDATE_EQUIP_COLLECT_RED, EquipCollectConst.TAB_ID.TASK)
|
|
end
|
|
|
|
function EquipCollectController:Handle14512( )--会主推14511
|
|
local vo = SCMD14512.New(true)
|
|
if vo.res == 1 then
|
|
Message.show("奖励领取成功")
|
|
else
|
|
ErrorCodeShow(vo.res)
|
|
end
|
|
end
|
|
|
|
--[[############## 装备考核-BOSS首杀-基本信息 ##############
|
|
protocol=14501
|
|
{
|
|
c2s{
|
|
|
|
}
|
|
s2c{
|
|
list:array{
|
|
boss_id :int32 // BOSS
|
|
killer:string // 首杀者
|
|
time:int32 // 首杀时间
|
|
self_kill_status:int8 // 自己首杀领取状态:0不可领|1可领未领|2已领奖
|
|
server_award_status:int8 // 全服奖励领取状态:0未领|1已领
|
|
}
|
|
}
|
|
}--]]
|
|
function EquipCollectController:Handle14501( )
|
|
local vo = SCMD14501.New(true)
|
|
-- print('=======Msh:EquipCollectController.lua[277] ===TABLE====')
|
|
-- PrintTable(vo)
|
|
self.model:SetBossData(vo)
|
|
self.model:Fire(EquipCollectConst.UPDATE_BOSS_VIEW)
|
|
self.model:Fire(EquipCollectConst.UPDATE_EQUIP_COLLECT_RED, EquipCollectConst.TAB_ID.BOSS)
|
|
end
|
|
|
|
--[[############## 装备考核-BOSS首杀-完成某个首杀-主推 ##############
|
|
protocol=14503
|
|
{
|
|
s2c{
|
|
type:int8 // 1个人首杀|2全服首杀
|
|
boss_id :int32 // BOSS
|
|
}
|
|
}--]]
|
|
function EquipCollectController:Handle14503( )
|
|
local vo = SCMD14503.New(true)
|
|
-- if self.EquipCollectMainView and self.EquipCollectMainView:HasOpen() then -- 界面正在打开
|
|
self.model:Fire(EquipCollectConst.REQUEST_SCMD_EVENT, 14501)
|
|
-- end
|
|
end
|
|
|
|
--[[############## 装备考核-BOSS首杀-领奖 ##############
|
|
protocol=14502
|
|
{
|
|
|
|
c2s{
|
|
boss_id :int32 // BOSS
|
|
type:int8 // 1全服首杀奖励|2自己首杀奖励
|
|
}
|
|
s2c{
|
|
boss_id :int32 // BOSS
|
|
type:int8 // 1全服首杀奖励|2自己首杀奖励
|
|
res:int32
|
|
}
|
|
}--]]
|
|
function EquipCollectController:Handle14502( )
|
|
local vo = SCMD14502.New(true)
|
|
-- print('=======Msh:EquipCollectController.lua[329] ===TABLE====')
|
|
-- PrintTable(vo)
|
|
if vo.res == 1 then
|
|
self.model:UpdateBossData(vo)
|
|
end
|
|
end
|