源战役客户端
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

443 lines
14 KiB

require("game.proto.414.Require414")
require("game.empower.EmpowerModel")
require("game.empower.EmpowerConst")
require("game.empower.EmpowerBaseView")
require("game.empower.EmpowerShopView")
require("game.empower.EmpowerShopItem")
require("game.empower.EmpowerExchangeView")
require("game.empower.EmpowerTreasureView")
require("game.empower.EmpowerTipsView")
require("game.empower.EmpowerGridWalkView")
require("game.empower.EmpowerResetTipView")
require("game.empower.EmpowerDoubleItem")
EmpowerController = EmpowerController or BaseClass(BaseController, true)
local EmpowerController = EmpowerController
function EmpowerController:__init()
EmpowerController.Instance = self
self.model = EmpowerModel:GetInstance()
self.mainVo = RoleManager.Instance.mainRoleInfo
self:AddEvents()
self:RegisterProtocals()
end
function EmpowerController:__delete()
end
function EmpowerController:RegisterProtocals( )
self:RegisterProtocal(41400, "on41400")
self:RegisterProtocal(41401, "on41401")
self:RegisterProtocal(41402, "on41402")
self:RegisterProtocal(41403, "on41403")
self:RegisterProtocal(41404, "on41404")
self:RegisterProtocal(41405, "on41405")
self:RegisterProtocal(41406, "on41406")
self:RegisterProtocal(41407, "on41407")
self:RegisterProtocal(41408, "on41408")
self:RegisterProtocal(41409, "on41409")
self:RegisterProtocal(41410, "on41410")
self:RegisterProtocal(41411, "on41411")
end
function EmpowerController:AddEvents()
-- local function on_game_start()
-- -- self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41400)
-- -- self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41401)
-- -- self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41402,1)
-- self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41400)
-- self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41405)
-- end
-- EventSystem.Bind(GlobalEventSystem,EventName.GAME_START, on_game_start)
local function init_open_day( )--开服天数初始化
if self.mainVo.level >= Config.Moduleid[414].open_lv then
self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41400)
self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41405)
self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41409)
ActivityIconManager:getInstance():addIcon(414, -1)
end
end
GlobalEventSystem:Bind(EventName.OPEN_DAY_INIT,init_open_day)
--升级
local function onLevelUp(level)
if level == Config.Moduleid[414].open_lv then
self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41400)
self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41405)
self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41409)
ActivityIconManager:getInstance():addIcon(414, -1)
end
end
RoleManager.Instance.mainRoleInfo:Bind(EventName.CHANGE_LEVEL, onLevelUp)
local func_update_red_dot = function(id)
-- Message.show("EMPOWER_TREASURE_RED_DOT",tab_id)
--if not tab_id then
self.model:IsNeedRed(id)
--else
-- self.model:IsNeedRed(tab_id)
--end
end
self.model:Bind(EmpowerConst.EMPOWER_RED_DOT,func_update_red_dot)
-- 打开open_ranTest_baseView
local function open_ranTest_baseView(show,index)
print("============>>> YiRan:EmpowerController [start:79] show:",show,"index:",index)
if show then
if self.ranTest_base_view == nil then
self.ranTest_base_view = EmpowerBaseView.New()
end
if not self.ranTest_base_view:HasOpen() then
self.ranTest_base_view:Open(index or 1)
else
self.ranTest_base_view:SwitchTab(index or 1)
end
else
if self.ranTest_base_view then
self.ranTest_base_view:Close()
end
end
end
self.model:Bind(EmpowerConst.OPEN_SHOP_BASE_VIEW,open_ranTest_baseView)
-- 打开升品寻宝界面
local function open_emTreasure_baseView(show)
if show then
if self.emTreasureView == nil then
self.emTreasureView = EmpowerGridWalkView.New() --EmpowerTreasureView 这个弹珠台感觉要消失= =、先顶掉
if not self.emTreasureView:HasOpen() then
self.emTreasureView:Open()
end
end
else
if self.emTreasureView then
self.emTreasureView:Close()
end
end
end
self.model:Bind(EmpowerConst.OPEN_EMPOWER_TREASURE_VIEW,open_emTreasure_baseView)
---打开走格子界面
--local function open_GridWalkView(show)
-- if show then
-- if self.emWalkView == nil then
-- self.emWalkView = EmpowerGridWalkView.New()
-- if not self.emWalkView:HasOpen() then
-- self.emWalkView:Open()
-- end
-- end
--- else
-- if self.emWalkView then
-- self.emWalkView:Close()
-- end
-- end
--end
--self.model:Bind(EmpowerConst.OPEN_EMPOWER_GRIDWALK_VIEW,open_GridWalkView)
-- 打开Tips界面
local function open_emTips_baseView(show,txt,callback)
if show then
if self.emTipsView == nil then
self.emTipsView = EmpowerTipsView.New()
if not self.emTipsView:HasOpen() then
self.emTipsView:Open(txt,callback)
end
end
else
if self.emTipsView then
self.emTipsView:Close()
end
end
end
self.model:Bind(EmpowerConst.OPEN_EMPOWER_TIPS_VIEW,open_emTips_baseView)
---
local function func_OPEN_RESET_TIPVIEW_VIEW(vo)
if self.EmpowerResetTipView == nil then
self.EmpowerResetTipView = EmpowerResetTipView.New()
end
self.EmpowerResetTipView:Open(vo)
end
self.model:Bind(EmpowerConst.OPEN_RESET_TIPVIEW_VIEW,func_OPEN_RESET_TIPVIEW_VIEW)
--请求协议
local function ON_REQUEST_EVENT(...)
local args = {...}
if args[1] == 41401 then
self:SendFmtToGame(args[1],"cci", args[2], args[3],args[4])
elseif args[1] == 41402 then
self:SendFmtToGame(args[1], "chs", args[2], args[3], args[4])
elseif args[1] == 41403 or args[1] == 41406 then
self:SendFmtToGame(args[1],"h",args[2])
elseif args[1] == 41408 then
self:SendFmtToGame(args[1],"ih",args[2], args[3])
elseif args[1] == 41410 then
self:SendFmtToGame(args[1],"c",args[2])
else
self:SendFmtToGame(args[1])
end
end
self.model:Bind(EmpowerConst.EMPOWER_REQ_EVENT, ON_REQUEST_EVENT)
end
----请求基本信息
function EmpowerController:on41400( )
local vo = SCMD41400.New(true)
--print("=============>>> YiRan:EmpowerController [start:153] vo SCMD41400------------------------------------------")
--PrintTable(vo)
--print("=============>>> YiRan:EmpowerController [end] ------------------------------------------")
if not vo then return end
self.model:SetVo41400(vo)
self.model:Fire(EmpowerConst.UPDATA_EMTREASURE_VIEW_INFO, vo)
self.model:Fire(EmpowerConst.EMPOWER_RED_DOT,EmpowerConst.EmpowerViewType.EmpowerTreasure)
self.model:Fire(EmpowerConst.UPDATA_EMTREASURE_QUALITYS_INFO) -- 在收到协议再刷新质量
-- if vo then
-- ErrorCodeShow(vo.errcode)
-- end
end
function EmpowerController:on41401( )
local vo = SCMD41401.New(true)
if not vo then return end
--print("=============>>> YiRan:EmpowerController [start:118] vo41401 ------------------------------------------")
--PrintTable(vo)
--print("=============>>> YiRan:EmpowerController [end] ------------------------------------------")
if vo.errcode == 1 then
Message.show("发射成功","success")
else
ErrorCodeShow(vo.errcode)
end
end
function EmpowerController:on41402( )
local vo = SCMD41402.New(true)
--Message.show("vo.result:",vo.result)
--print("=============>>> YiRan:EmpowerController [start:118] vo41402 ------------------------------------------")
--PrintTable(vo)
--print("=============>>> YiRan:EmpowerController [end] ------------------------------------------")
if vo.errcode == 1 then
--Message.show("发送41400")
self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41400)
else
ErrorCodeShow(vo.errcode)
end
end
--[[
################ 领取充能节点奖励 #################
protocol=41403
{
c2s{}
s2c{
errcode:int32 // 返回结果
goods_list:array{
goods_type :int8
goods_id :int32
num :int16
}
}
}
]]
function EmpowerController:on41403( )
local vo = SCMD41403.New(true)
if vo.errcode == 1 then
local list = {}--vo.goods_list
for k,v in pairs( vo.goods_list) do
local list_s = {}
list_s[1] = v.goods_type
list_s[2] = v.goods_id
list_s[3] = v.num
table.insert(list,list_s)
end
data.award = list
data.not_show_anim = true
print("=============>>> YiRan:EmpowerController [start:256] data ------------------------------------------")
PrintTable(data)
print("=============>>> YiRan:EmpowerController [end] ------------------------------------------")
GlobalEventSystem:Fire(EventName.OPEN_COM_AWARD_RESULT_VIEW,data)
else
ErrorCodeShow(vo.errcode)
end
-- print("=============>>> YiRan:EmpowerController [start:172] vo41403 ------------------------------------------")
-- PrintTable(vo)
-- print("=============>>> YiRan:EmpowerController [end] ------------------------------------------")
end
function EmpowerController:on41404( )
local vo = SCMD41404.New(true)
if vo.errcode == 1 then
self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41400)
elseif vo.errcode == 4140006 then
local function ok()
OpenFun.Open(450,1)
end
Alert.show("重置次数不足,是否前往提升VIP等级?",Alert.Type.Two,ok)
else
ErrorCodeShow(vo.errcode)
end
--print("=============>>> YiRan:EmpowerController [start:172] vo41404 ------------------------------------------")
--PrintTable(vo)
--print("=============>>> YiRan:EmpowerController [end] ------------------------------------------")
end
--[[
################ 附能商店 #################
protocol=41405
{
c2s{}
s2c{
reset_count:int16 // 商店刷新次数
shop_list:array{
index:int16 // 商店条目
state:int8 // 0未领|1已领
}
time:int32 // 结束时间
}
}
]]
function EmpowerController:on41405( )
local vo = SCMD41405.New(true)
if vo and vo.shop_list then
self.model:SetEquipShopList(vo)
self.model:Fire(EmpowerConst.UPDATA_EMTREASURE_SHOP_INFO) -- 刷新商店状态
self.model:Fire(EmpowerConst.EMPOWER_RED_DOT,EmpowerConst.EmpowerViewType.EmpowerShop)
end
--print("=============>>> YiRan:EmpowerController [start:224] vo41405 ------------------------------------------")
--PrintTable(vo)
--print("=============>>> YiRan:EmpowerController [end] ------------------------------------------")
end
function EmpowerController:on41406( )
local vo = SCMD41406.New(true)
--print("=============>>> YiRan:EmpowerController [start:224] on41406 ------------------------------------------")
--PrintTable(vo)
--print("=============>>> YiRan:EmpowerController [end] ------------------------------------------")
if vo.errcode == 1 then
Message.show("购买成功","success")
self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41405)
else
ErrorCodeShow(vo.errcode)
end
end
function EmpowerController:on41407( )
local vo = SCMD41407.New(true)
--print("=============>>> YiRan:EmpowerController [start:224] on41407 ------------------------------------------")
--PrintTable(vo)
--print("=============>>> YiRan:EmpowerController [end] ------------------------------------------")
if vo.errcode == 1 then
Message.show("刷新成功")
self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41405)
else
ErrorCodeShow(vo.errcode)
end
end
function EmpowerController:on41408( )
local vo = SCMD41408.New(true)
--print('Msh:EmpowerController.lua[351] vo', vo.errcode)
if vo.errcode == 1 then
Message.show("兑换成功","success")
self.model:Fire(EmpowerConst.UPDATE_EXCHANGE_VIEW)
else
ErrorCodeShow(vo.errcode)
end
end
--[[
############# 格子界面 ##############
protocol=41409
{
c2s{}
s2c{
turn :int8 // 轮次
step :int16 // 当前步数
reset_count:int8 // 重置次数
free_count :int8 // 剩余免费次数
show_reward:array{ // 奖励展示
step_id:int16
is_double:int8 // 1单倍 2双倍
step_reward:array{
good_id:int32
good_num:int32
}
}
}
}
]]
function EmpowerController:on41409( )
local vo = SCMD41409.New(true)
--print("=============>>> YiRan:EmpowerController [start:224] on41409 ------------------------------------------")
--PrintTable(vo)
--print("=============>>> YiRan:EmpowerController [end] ------------------------------------------")
if vo.errcode == 1 then
self.model:SetGridGameInfo(vo)
self.model:Fire(EmpowerConst.UPDATA_EMGRIDWALK_INFO)
self.model:SetIsDoubleTime(vo.times)
self.model:UpdateMainIconState()
else
ErrorCodeShow(vo.errcode)
end
end
--[[
############## 走格子 ###############
protocol=41410
{
c2s{
type:int8 // 是否使用代金券 0不使用|1使用
}
s2c{
res:int32 // 1成功 0失败
walk:int8 // 随机的步数
new_step:int16 // 走之后的步数
}
}]]
function EmpowerController:on41410( )
local vo = SCMD41410.New(true)
--print("=============>>> YiRan:EmpowerController [start:224] on41410 ------------------------------------------")
--PrintTable(vo)
--print("=============>>> YiRan:EmpowerController [end] ------------------------------------------")
if vo.res == 1 then
self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41409)
self.model:Fire(EmpowerConst.UPDATA_EMGRIDWALK_INFO41410,vo)
--self.model.41410_INFO = vo
else
ErrorCodeShow(vo.res)
end
end
--[[
############### 重置 ###############
protocol=41411
{
c2s{}
s2c{
res:int32 //1成功 0失败 另外会推40500和40501
}
}]]
function EmpowerController:on41411( )
local vo = SCMD41411.New(true)
print("=============>>> YiRan:EmpowerController [start:224] on41411 ------------------------------------------")
PrintTable(vo)
print("=============>>> YiRan:EmpowerController [end] ------------------------------------------")
if vo.res == 1 then
self.model:Fire(EmpowerConst.RESET_EMGRIDWALK_SUCCESS)
else
ErrorCodeShow(vo.res)
end
end