|
|
- require("game.proto.335.Require335")
- require("game.powerTurnTable.PowerTurnTableModel")
- require("game.powerTurnTable.PowerTurnTableView")--转盘界面
- require("game.powerTurnTable.PowerTurnTableRecordItem")--转盘日志item
- require("game.powerTurnTable.PowerTurnTableExchangeView")--积分兑换界面
- require("game.powerTurnTable.PowerTurnTableExchangeItem")--积分兑换界面item
- require("game.powerTurnTable.PowerTurnTableExchangeReqView")--兑换请求界面
-
-
- PowerTurnTableController = PowerTurnTableController or BaseClass(BaseController)
- PowerTurnTableController.Is_Debug = false
- function PowerTurnTableController:__init()
- PowerTurnTableController.Instance = self
- self.model = PowerTurnTableModel:getInstance()
- self.mainVo = RoleManager.Instance.mainRoleInfo
- self:RegisterAllProtocals()
- self:AddAllEvents()
- end
-
- function PowerTurnTableController:__delete()
-
- end
-
- function PowerTurnTableController:AddAllEvents()
- local function game_start_func()
-
- end
- GlobalEventSystem:Bind(EventName.GAME_START,game_start_func)
-
- --请求协议
- local function onRequestProtocal(...)
- local args = {...}
- if args[1] == 33501 or args[1] == 33502 or args[1] == 33505 then
- self:SendFmtToGame(args[1], "h", args[2])
- elseif args[1] == 33503 then
- self:SendFmtToGame(args[1], "hch", args[2],args[3],args[4])
- elseif args[1] == 33504 then
- self:SendFmtToGame(args[1], "hcc", args[2],args[3],args[4])
- else
- self:SendFmtToGame(args[1])
- end
- end
- self.model:Bind(PowerTurnTableModel.REQUEST_INFO, onRequestProtocal)
-
- local function init_open_day( ... )--开服天数初始化
-
- end
- GlobalEventSystem:Bind(EventName.OPEN_DAY_INIT,init_open_day)
-
- --升级
- local function onLevelUp(level)
-
- end
- RoleManager.Instance.mainRoleInfo:Bind(EventName.CHANGE_LEVEL, onLevelUp)
-
- local function chnage_day_func(type)
- if type == SettingModel.CHANGE_DAY.HOUR_0 then -- 跨0点
- local base_type = CustomActivityModel.CustomActBaseType.POWER_TURNTABLE
- local all_act_list = CustomActivityModel:getInstance():getAllActListByBaseType(base_type) or {}
- if all_act_list then
- for k,v in pairs(all_act_list) do
- self.model:CheckPowerTurnTableMainRedDot(v.sub_type)
- self.model:Fire(PowerTurnTableModel.UPDATE_VIEW_INFO,v.sub_type)
- end
- end
- end
- end
- GlobalEventSystem:Bind(EventName.CHANE_DAY, chnage_day_func)
-
- local onOpenPowerTurnTableView = function (sub_type,is_close)--往期排行
- if self.PowerTurnTableView == nil then
- self.PowerTurnTableView = PowerTurnTableView.New()
- end
- if self.PowerTurnTableView:HasOpen() and not is_close then
- -- self.PowerTurnTableView:UpdateView(sub_type)
- elseif not is_close then
- self.PowerTurnTableView:Open(sub_type)
- else
- self.PowerTurnTableView:Close()
- end
- end
- self.model:Bind(PowerTurnTableModel.OPEN_MAIN_VIEW,onOpenPowerTurnTableView)
-
-
- local onOpenPowerTurnTableExchangeView = function (sub_type,is_close)--兑换界面
- if self.PowerTurnTableExchangeView == nil then
- self.PowerTurnTableExchangeView = PowerTurnTableExchangeView.New()
- end
- if self.PowerTurnTableExchangeView:HasOpen() and not is_close then
- -- self.PowerTurnTableExchangeView:UpdateView(sub_type)
- elseif not is_close then
- self.PowerTurnTableExchangeView:Open(sub_type)
- else
- self.PowerTurnTableExchangeView:Close()
- end
- end
- self.model:Bind(PowerTurnTableModel.OPEN_EXCHANGE_VIEW,onOpenPowerTurnTableExchangeView)
-
-
- local onPowerTurnTableExchangeReqView = function (data,is_close)--兑换请求界面
- if self.PowerTurnTableExchangeReqView == nil then
- self.PowerTurnTableExchangeReqView = PowerTurnTableExchangeReqView.New()
- end
- if self.PowerTurnTableExchangeReqView:HasOpen() and not is_close then
- -- self.PowerTurnTableExchangeReqView:UpdateView(sub_type)
- elseif not is_close then
- self.PowerTurnTableExchangeReqView:Open(data)
- else
- self.PowerTurnTableExchangeReqView:Close()
- end
- end
- self.model:Bind(PowerTurnTableModel.OPEN_EXCHANGE_REQ_VIEW,onPowerTurnTableExchangeReqView)
- end
-
- function PowerTurnTableController:RegisterAllProtocals()
- self:RegisterProtocal(33501,"handler33501") --奖池信息
- self:RegisterProtocal(33502,"handler33502") --积分兑换界面
- self:RegisterProtocal(33503,"handler33503") --积分兑换
- self:RegisterProtocal(33504,"handler33504") --抽奖
- self:RegisterProtocal(33505,"handler33505") --全服记录
-
-
- end
-
- -- ########### 源能转盘-奖池信息 ##############
- -- protocol=33501
- -- {
- -- c2s{
- -- sub_type :int16 // 活动子类型
- -- }
- -- s2c{
- -- errcode :int32 // 错误码
- -- sub_type :int16 // 活动子类型
- -- score :int16 // 积分
- -- point :int16 // 源能值
- -- free_time :int8 // 免费次数
- -- pool_list:array{
- -- id :int8 // id
- -- reward :string // 奖励
- -- tag :int8 // 标识
- -- }
- -- }
- -- }
- function PowerTurnTableController:handler33501()
- local scmd = SCMD33501.New(true)
- -- print("huangcong:PowerTurnTableController [start:120] scmd:", scmd.errcode)
- -- PrintTable(scmd)
- -- print("huangcong:PowerTurnTableController [end]")
- if scmd.errcode == 1 then
- self.model:SetPowerTurnTableInfo(scmd)
- else
- -- ErrorCodeShow(scmd.errcode)
- end
- end
-
-
- -- ########### 源能转盘-积分兑换界面 ##############
- -- protocol=33502
- -- {
- -- c2s{
- -- sub_type :int16 // 活动子类型
- -- }
- -- s2c{
- -- errcode :int32 // 错误码
- -- sub_type :int16 // 活动子类型
- -- cur_score :int16 // 积分
- -- swap_list:array{
- -- id :int8 // id
- -- Reward :string // 物品
- -- LeftTimes :int8 // 剩余兑换次数
- -- score :int16 // 需要的积分
- -- countdown :int16 // 解锁倒计时,0为已解锁
- -- }
- -- }
- -- }
- function PowerTurnTableController:handler33502()
- local scmd = SCMD33502.New(true)
- -- print("33502scmd", scmd.errcode)
- if scmd.errcode == 1 then
- local server_info = self.model:GetPowerTurnTableInfo(scmd.sub_type)
- if server_info then
- server_info.score = scmd.cur_score
- end
- self.model:SetExchangeInfoList(scmd)
- self.model:Fire(PowerTurnTableModel.UPDATE_EXCHANGE_VIEW,scmd.sub_type)
- else
- -- ErrorCodeShow(scmd.errcode)
- end
- end
-
- -- ########### 源能转盘-积分兑换 ##############
- -- protocol=33503
- -- {
- -- c2s{
- -- sub_type :int16 // 活动子类型
- -- id :int8 // id
- -- num :int16 // 数量
- -- }
- -- s2c{
- -- errcode :int32 // 错误码
- -- sub_type :int16 // 活动子类型
- -- id :int8 // id
- -- left_times :int8 // 剩余兑换次数
- -- cur_score :int16 // 积分
- -- }
- -- }
- function PowerTurnTableController:handler33503()
- local scmd = SCMD33503.New(true)
- -- print("33503scmd", scmd.errcode)
- if scmd.errcode == 1 then
- Message.show("兑换成功")
- local server_info = self.model:GetPowerTurnTableInfo(scmd.sub_type)
- if server_info then
- server_info.score = scmd.cur_score
- end
- local exchange_info = self.model:GetExchangeInfoList(scmd.sub_type)
- if exchange_info then
- for i,v in ipairs(exchange_info) do
- if v.id == scmd.id then
- v.left_times = scmd.left_times
- v.sort_id = v.id + (v.left_times == 0 and 1000 or 0)--兑换完置底
- --触发快捷使用
- OperateActivityModel:getInstance():Fire(OperateActivityModel.QUIK_USE, true)
- --道具飞背包
- local goods_fly_data = {[1] = v.reward[2]}
- if TableSize(goods_fly_data) > 0 then
- MainUIModel:getInstance():PlayGoodsFlyList(goods_fly_data)
- end
- --飘字
- goods_fly_data = {
- [1] = {
- goods_type_id = v.reward[2],
- num = v.reward[3],
- }
- }
- if TableSize(goods_fly_data) > 0 then
- MainUIModel:getInstance():AddFloatInfo(goods_fly_data, true)
- end
- break
- end
- end
- local sort_func = function ( a, b )
- return a.sort_id < b.sort_id
- end
- table.sort(exchange_info, sort_func)
- end
- self.model:Fire(PowerTurnTableModel.UPDATE_EXCHANGE_VIEW,scmd.sub_type)
- self.model:Fire(PowerTurnTableModel.UPDATE_VIEW_INFO,scmd.sub_type)
- else
- ErrorCodeShow(scmd.errcode)
- end
- end
-
- -- ########### 源能转盘-抽奖 ##############
- -- protocol=33504
- -- {
- -- c2s{
- -- sub_type :int16 // 活动子类型
- -- type :int8 // 1单抽|2十连抽
- -- skip :int8 // 是否跳过动画 0否1是
- -- }
- -- s2c{
- -- errcode :int32 // 错误码
- -- sub_type :int16 // 活动子类型
- -- score :int16 // 积分
- -- point :int16 // 源能值
- -- free_time :int8 // 免费次数
- -- id_list:array{
- -- id :int8 // 奖励id
- -- }
- -- }
- -- }
- function PowerTurnTableController:handler33504()
- local scmd = SCMD33504.New(true)
- -- print("33504scmd", scmd.errcode)
- if scmd.errcode == 1 then
- local server_info = self.model:GetPowerTurnTableInfo(scmd.sub_type)
- if server_info then
- local cur_point = server_info.point
- server_info.score = scmd.score
- server_info.point = scmd.point
- server_info.free_time = scmd.free_time
- -- self.model:Fire(PowerTurnTableModel.UPDATE_VIEW_INFO,scmd.sub_type)
- self.model:CheckPowerTurnTableMainRedDot(scmd.sub_type)
- self.model:Fire(PowerTurnTableModel.START_TURN_ACTION,scmd.sub_type,scmd.id_list,cur_point)
- end
- else
- ErrorCodeShow(scmd.errcode)
- end
- end
-
- -- ########### 源能转盘-全服记录 ##############
- -- protocol=33505
- -- {
- -- c2s{
- -- sub_type :int16 // 活动子类型
- -- }
- -- s2c{
- -- list:array{
- -- role_name :string
- -- goods_id :int32
- -- num :int8
- -- }
- -- }
- -- }
- function PowerTurnTableController:handler33505()
- local scmd = SCMD33505.New(true)
- -- print("huangcong:PowerTurnTableController [start:295] scmd:", scmd)
- -- PrintTable(scmd)
- -- print("huangcong:PowerTurnTableController [end]")
- self.model:SetRecordInfo(scmd)
- self.model:Fire(PowerTurnTableModel.UPDATE_RECORD_INFO,scmd.sub_type)
- end
-
-
|