源战役客户端
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 
 

338 lignes
12 KiB

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