源战役客户端
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 
 

1687 linhas
63 KiB

require("game.proto.225.Require225")
require("game.proto.331.Require331")
require("game.kfActivity.KfActivityModel")
require("game.kfActivity.KfActivityConst")
require("game.kfActivity.view.KfActivityBaseView")--开服活动主界面
require("game.kfActivity.view.KfActivityBaseTab")--开服活动主界面tab
--开服冲榜
require("game.kfActivity.view.rushRank.KfActivityRRMainView")--冲榜排行二级界面
require("game.kfActivity.view.rushRank.KfActivityRRSubView")--冲榜排行二级界面子界面
require("game.kfActivity.view.rushRank.KfActivityRRSubItem")--冲榜排行二级界面子界面Item
require("game.kfActivity.view.rushRank.KfActivityRRSubBtnItem")--冲榜排行二级界面子界面Btn
require("game.kfActivity.view.rushRank.KfActivityRushRankView")--冲榜主界面
require("game.kfActivity.view.rushRank.KfActivityRushRankAwardItem")--冲榜奖励item
require("game.kfActivity.view.rushRank.KfActivityRushRankItem")--冲榜排名item
require("game.kfActivity.view.rushRank.KfActivityRushRrankReCBtnItem")--冲榜排名快捷跳转item
require("game.kfActivity.view.rushRank.KfActivityRushRrankTabItem")--冲榜切换页签
require("game.kfActivity.view.rushRank.KfActivityRRLastTimeRankView")--开服活动上期排行榜
require("game.kfActivity.view.rushRank.KfActivityRRLastTimeRankItem")--上期排行榜item
require("game.kfActivity.view.rushRank.KfActivityRRLastReCBtnView")--冲榜升级变强途径
--开服累充
require("game.kfActivity.view.openRecharge.KfActivityOpenRechargeView")
require("game.kfActivity.view.openRecharge.KfActivityOpenRechargeItem")
--开服限购商城
require("game.kfActivity.view.limitShop.KfActivityLimitShopView")
require("game.kfActivity.view.limitShop.KfActivityLimitShopItem")
require("game.kfActivity.view.limitShop.KfActivityLimitShopTip")
require("game.kfActivity.view.limitShop.KfActivityLimitShopTipItem")
--限购礼包
require("game.kfActivity.view.limitGift.KfActivityLimitGiftSubView")
require("game.kfActivity.view.limitGift.KfActivityLimitGiftSubTab")
--开服进阶
require("game.kfActivity.view.forsterStage.KfActivityForsterStageView")
require("game.kfActivity.view.forsterStage.KfActivityForsterStageItem")
--连充豪礼
require("game.kfActivity.view.continueRecharge.KfActivityContinueRechargeViewNew")
require("game.kfActivity.view.continueRecharge.KfActivityContinueRechargeItem")
--0元礼包
require("game.kfActivity.view.zeroGift.KfActivityZeroGiftSubView")
require("game.kfActivity.view.zeroGift.KfActivityZeroGiftSubTab")
require("game.kfActivity.view.zeroGift.KfActivityZeroGiftShowView")--0元礼包展示界面
--开服团购
require("game.kfActivity.view.groupBuying.KfGroupBuyingView")
require("game.kfActivity.view.groupBuying.KfGroupBuyingItem")
require("game.kfActivity.view.groupBuying.KfGroupBuyingDiscountItem")
require("game.kfActivity.view.groupBuying.KfGroupBuyingShareView")--开服团购分享界面
require("game.kfActivity.view.groupBuying.KfGroupBuyingShareItem")
--单笔充值
require("game.kfActivity.view.singleRecharge.KfActivitySingleRechargeView")
require("game.kfActivity.view.singleRecharge.KfActivitySingleRechargeItem")
--大富翁
require("game.kfActivity.view.monopoly.KfMonopolyMainView")
require("game.kfActivity.view.monopoly.KfMonopolyLuckyAwardItem")
require("game.kfActivity.view.monopoly.KfMonopolyAwardCon")--大富翁宝箱类
--竞榜
require("game.kfActivity.view.competing.KfCompetingListMainView")
require("game.kfActivity.view.competing.KfCompetingListCon")
require("game.kfActivity.view.competing.KfCompetingListRecordTxt")
require("game.kfActivity.view.competing.KfCompetingListAwardItem")
require("game.kfActivity.view.competing.KfCompetingListItem")
--累计消费
require("game.kfActivity.view.accConsume.KfActivityAccConsumeView")
require("game.kfActivity.view.accConsume.KfActivityAccConsumeItem")
-- 奖励展示界面
require("game.kfActivity.view.rewardShow.ActivityRewardShowView")
require("game.kfActivity.view.rewardShow.ActivityRewardShowTabItem")
require("game.kfActivity.view.rewardShow.ActivityRewardShowStyleItem")
require("game.kfActivity.view.rewardShow.ActivityRewardShowItem")
--嗨点活动
require("game.kfActivity.view.highPoint.KfActHighPointView")
require("game.kfActivity.view.highPoint.KfActHighPointAwardItem")
require("game.kfActivity.view.highPoint.KfActHighPointTaskItem")
-- 每日登录
require("game.kfActivity.view.edayLogin.KfActivityEDayLoginView")
require("game.kfActivity.view.edayLogin.KfActivityEDayLoginTaskItem")
require("game.kfActivity.view.edayLogin.KfActivityEDayLoginRewardItem")
-- 投资活动
require("game.kfActivity.view.invest.KfActivityInvestmentView")
require("game.kfActivity.view.invest.KfActivityInvestmentTabItem")
require("game.kfActivity.view.invest.KfActivityInvestmentAwardItem")
require("game.kfActivity.view.invest.KfActivityInvestmentAwardShowItem")
--刮刮卡
require("game.kfActivity.view.scrapingCard.KfActivityScrapingCardView")
require("game.kfActivity.view.scrapingCard.KfActivityScrapingCardItem")
require("game.kfActivity.view.scrapingCard.KfActivityScrapingCardTipsView")
--限时秒杀
require("game.kfActivity.view.limitSecKill.LimitSecKillView")
require("game.kfActivity.view.limitSecKill.LimitSecKillTabItem")
require("game.kfActivity.view.limitSecKill.LimitSecKillItem")
require("game.kfActivity.view.limitSecKill.LimitSecKillBuyView")
require("game.kfActivity.view.limitSecKill.LimitSecKillBuyRecordItem")--抢购界面的滚动记录
require("game.kfActivity.view.limitSecKill.LimitSecKillRecordItem")--大界面的滚动记录
--抢福袋/红包
require("game.kfActivity.view.luckyBag.GetLuckyBagView")
--惊喜红包
require("game.kfActivity.view.happyRedBag.KfHappyRedBagView")
require("game.kfActivity.view.happyRedBag.KfHappyRedBagRecordItem")
--折扣满减
require("game.kfActivity.view.discountFullCut.KfDiscountFullCutView")
require("game.kfActivity.view.discountFullCut.KfDiscountFullCutGoodsItem")
require("game.kfActivity.view.discountFullCut.KfDiscountFullCutBuyItem")
require("game.kfActivity.view.discountFullCut.KfDiscountFullCutTicketItem")
require("game.kfActivity.view.discountFullCut.KfDiscountFullCutRecordView")
require("game.kfActivity.view.discountFullCut.KfDiscountFullCutRecordItem")
require("game.kfActivity.view.discountFullCut.KfDiscountFullCutRecordTip")
require("game.kfActivity.view.discountFullCut.KfDiscountFullCutLuckyTableView")--折扣满减转盘界面
--通用排行榜
require("game.kfActivity.view.comRank.KfActivityComRankView")
require("game.kfActivity.view.comRank.KfActivityComRankItem")
require("game.kfActivity.view.comRank.KfActivityComRankAwardItem")
--塔罗牌
require("game.kfActivity.view.tarot.KfActivityTarotView")
require("game.kfActivity.view.tarot.KfActivityTarotItem")
require("game.kfActivity.view.tarot.KfActivityTarotRecordItem")
--源晶复制机
require("game.kfActivity.view.moneyCopy.KfMoneyCopyView")
--登陆通行证
require("game.kfActivity.view.loginPass.KfActivityLoginPassView")
require("game.kfActivity.view.loginPass.KfActivityLoginPassItem")
require("game.kfActivity.view.loginPass.KfActivityLoginPassBuyTip")
--活跃通行证
require("game.kfActivity.view.livelyPass.KfActivityLivelyPassView")
require("game.kfActivity.view.livelyPass.KfActivityLivelyPassItem")
--嗨点兑换活动
require("game.kfActivity.view.highExchange.KfActHighExchangeView")
require("game.kfActivity.view.highExchange.KfActHighPointShopItem")
require("game.kfActivity.view.highExchange.KfActHighExchangeTaskItem")
-- 活动引导
require("game.kfActivity.view.actGuide.ActGuideBaseView")
require("game.kfActivity.view.actGuide.ActGuideSubView")
require("game.kfActivity.view.actGuide.ActGuideUseSubView")
KfActivityController = KfActivityController or BaseClass(BaseController)
KfActivityController.Is_Debug = false
function KfActivityController:__init()
KfActivityController.Instance = self
self.model = KfActivityModel:getInstance()
self.mainVo = RoleManager.Instance.mainRoleInfo
self:RegisterAllProtocals()
self:AddAllEvents()
end
function KfActivityController:__delete()
end
function KfActivityController:AddAllEvents()
local function game_start_func()
-- 重置礼包图标的气泡打开状态
self.model.haveBubble = false
end
GlobalEventSystem:Bind(EventName.GAME_START,game_start_func)
-- local function CheckRedPoint( ... )
-- end
-- GlobalEventSystem:Bind(GoodsModel.CHANGE_BAGLIST,game_start_func)
local function onUpdateRedInfo(base_type,sub_type)--更新红点
for i,v in ipairs(KfActivityModel.TabData) do
if base_type == CustomActivityModel.CustomActBaseType.KF_GROUP_BUYING then
KfActivityModel:getInstance():Fire(KfActivityModel.REQUEST_INFO,33223,sub_type)
break
elseif base_type == v.base_type then
self.model:IsNeedRed(v.id,nil,sub_type)
break
end
end
end
CustomActivityModel:getInstance():Bind(CustomActivityModel.UPDATE_ACTIVITY_INFO,onUpdateRedInfo)
CustomActivityModel:getInstance():Bind(CustomActivityModel.UPDATE_ACTIVITY_RED_AWARD_INFO,onUpdateRedInfo)
--请求协议
local function onRequestProtocal(...)
local args = {...}
if KfActivityController.Is_Debug then
if args[1] == 33228 or args[1] == 33229 then
local fun_name = string.format("Handler%s",args[1])
if self[fun_name] then
print('----in KfActivityController.lua,line 96 request_idIs_Debug',args[1] , ...)
self[fun_name](self,...)
end
return
end
end
if args[1] == 22501 then
self:SendFmtToGame(args[1], "ih", args[2],args[3])
elseif args[1] == 22502 or args[1] == 33223 or args[1] == 33224
or args[1] == 33228 or args[1] == 33230 --超级富豪信息/超级富豪补签
or args[1] == 33141 or args[1] == 33187 or args[1] == 33189 -- 投资活动
or args[1] == 33250 or args[1] == 33251 or args[1] == 33252 or args[1] == 33253 or args[1] == 33254
or args[1] == 33126 or args[1] == 33127 or args[1] == 33128 or args[1] == 33130 or args[1] == 33146
or args[1] == 33131 or args[1] == 33133 or args[1] == 33284 or args[1] == 33145
then
self:SendFmtToGame(args[1], "h", args[2])
elseif args[1] == 22503 then
self:SendFmtToGame(args[1], "ihc", args[2],args[3],args[4])
elseif args[1] == 33185 or args[1] == 33191 or args[1] == 33169
or args[1] == 33132 or args[1] == 33283 or args[1] == 33285
or args[1] == 33286 or args[1] == 33140 or args[1] == 33289
then --查询单个0元礼包/秒杀-抢购/封榜活动信息
self:SendFmtToGame(args[1], "hh", args[2],args[3])
elseif args[1] == 33186 then --0元礼包购买
self:SendFmtToGame(args[1], "hhh", args[2],args[3],args[4])
elseif args[1] == 33229 or args[1] == 33231 --超级富豪掷骰子/超级富豪领取圈数奖励
or args[1] == 33142 or args[1] == 33188 -- 投资活动
or args[1] == 33287 or args[1] == 33288
then
self:SendFmtToGame(args[1], "hc", args[2],args[3])
elseif args[1] == 33144 then -- 投资活动
self:SendFmtToGame(args[1], "hcc", args[2], args[3], args[4])
elseif args[1] == 33192 or args[1] == 33168 then
self:SendFmtToGame(args[1], "c", args[2])
elseif args[1] == 33190 then
self:SendFmtToGame(args[1], "hhc", args[2], args[3], args[4])
elseif args[1] == 33129 then
--折扣满减购买上牌
self:WriteBegin(33129)
self:WriteFMT("h", args[2])
self:WriteFMT("h", TableSize(args[3]))
for k, v in pairs(args[3]) do
self:WriteFMT("h", v.grade)
self:WriteFMT("c", v.num)
end
self:WriteFMT("i", args[4])
self:WriteFMT("i", args[5])
self:SendToGame()
else
self:SendFmtToGame(args[1])
end
end
self.model:Bind(KfActivityModel.REQUEST_INFO, onRequestProtocal)
local function init_open_day( ... )--开服天数初始化
-- local openDay = ServerTimeModel:getInstance():GetOpenServerDay()
-- local act_list = CustomActivityModel:getInstance():getAllActListByBaseType(CustomActivityModel.CustomActBaseType.OPERATE_ACTIVITY)
-- print("Lizhijian:KfActivityController [start:255] openDay ------------------------------------------")
-- print(openDay)
-- print("Lizhijian:KfActivityController [start:257] act_list ------------------------------------------")
-- PrintTable(act_list)
-- for k,v in pairs(act_list) do
-- local icon_sub_type = v.base_type*1000 + v.sub_type
-- if v.sub_type >= 10001 then
-- icon_sub_type = v.base_type*100000 + v.sub_type
-- end
-- ActivityIconManager:getInstance():deleteIcon(icon_sub_type)
-- local icon_data = {vo = v, module_id = 331, sub_id = 99, pos_index = 9 + v.sub_type/10, icon_res_repath = "icon_154_2", name = "活动图标", effect_name = "ui_bianqiang",}
-- CustomActivityModel:getInstance():CreateIconCfg(icon_data)
-- KfActivityModel:getInstance():CheckActIconBoolOpen(v.sub_type)
-- end
-- if openDay == 5 then
-- print("Lizhijian:KfActivityController [start:311] ------------------------------------------")
-- local base_type = CustomActivityModel.CustomActBaseType.OPERATE_ACTIVITY
-- local act_list = CustomActivityModel:getInstance():getAllActListByBaseType(base_type) or {}
-- for k, v in pairs(act_list) do
-- if v.act_type == CustomActivityModel.CustomIconActType.GiftAct then--限时礼包类型
-- print("Lizhijian:KfActivityController [start:315] ------------------------------------------")
-- self.model:CheckActIconBoolOpen(v.sub_type)
-- break
-- end
-- end
-- end
end
GlobalEventSystem:Bind(EventName.OPEN_DAY_INIT,init_open_day)
--升级
local function onLevelUp(level)
self.model:CheckActIconLevelUp(level)
-- 已弃用广告界面5.25
-- if level == 70 then -- 满足条件展示广告界面
-- KfActivityModel:getInstance():Fire(KfActivityModel.OPEN_ZERO_GIFT_SHOW_VIEW,1)
-- end
local bool,sub_type = self.model:IsLvCanBuyZeroGift(level)
if bool then --0元礼包到达可买等级刷一次红点
self.model:IsNeedRed(KfActivityModel.TabID.ZeroGift,nil,sub_type)
end
for k,v in pairs(CustomActivityModel.ZERO_GIFT_OPEN_lEVEL) do--0元礼包要随等级变化自动弹出
if v[2] == level then
GlobalEventSystem:Fire(KfActivityModel.OPEN_ACTIVITY_BASE_VIEW,v[1],KfActivityModel.TabID.ZeroGift)
break
end
end
if level == CustomActivityModel.ZERO_GIFT_OPEN_lEVEL then--0元礼包主动弹出
GlobalEventSystem:Fire(KfActivityModel.OPEN_ACTIVITY_BASE_VIEW, v.sub_type)
end
local base_type = CustomActivityModel.CustomActBaseType.OPERATE_ACTIVITY
local openDay = ServerTimeModel:getInstance():GetOpenServerDay()
local act_list = CustomActivityModel:getInstance():getAllActListByBaseType(base_type) or {}
local close_level = 9999
for k, v in pairs(act_list) do
if v.act_type == CustomActivityModel.CustomIconActType.GiftAct then--限时礼包类型
if level == 110 and openDay<= 4 then
self.model:CheckActIconBoolOpen(v.sub_type)
end
for l,w in pairs(v.condition_list) do
if type(w) == "table" and w[1] == "close_lv" then
close_level = tonumber(w[2])
break
end
end
if close_level == level then--关闭图标
self.model:CheckActIconBoolOpen(v.sub_type)
CustomActivityModel:getInstance():UpdateActIconInfoActType()
end
end
end
if self.model.check_lv_act_open and self.model.check_lv_act_open[level] then
--到等级的红点检查
for k,v in pairs(self.model.check_lv_act_open[level]) do
for kk,vv in pairs(v) do
self.model:IsNeedRed(self.model:ByActTypeGetTabId( k ),nil,kk)
end
end
end
-- 活动引导检测
self.model:CheckNeedShowActGuide("role_lv", level)
end
RoleManager.Instance.mainRoleInfo:Bind(EventName.CHANGE_LEVEL, onLevelUp)
local function change_day_func(type)
if type == SettingModel.CHANGE_DAY.HOUR_0 then -- 跨0点
local openDay = ServerTimeModel:getInstance():GetOpenServerDay()
local act_list = CustomActivityModel:getInstance():getAllActListByBaseType(CustomActivityModel.CustomActBaseType.OPERATE_ACTIVITY)
for k,v in pairs(act_list) do
local icon_sub_type = v.base_type*1000 + v.sub_type
if v.sub_type >= 10001 then
icon_sub_type = v.base_type*100000 + v.sub_type
end
ActivityIconManager:getInstance():deleteIcon(icon_sub_type)
local icon_data = {vo = v, module_id = 331, sub_id = 99, pos_index = 9 + v.sub_type/10, icon_res_repath = "icon_154_2", name = "活动图标", effect_name = "ui_bianqiang",}
CustomActivityModel:getInstance():CreateIconCfg(icon_data)
KfActivityModel:getInstance():CheckActIconBoolOpen(v.sub_type)
end
if openDay == 5 then
local base_type = CustomActivityModel.CustomActBaseType.OPERATE_ACTIVITY
local act_list = CustomActivityModel:getInstance():getAllActListByBaseType(base_type) or {}
for k, v in pairs(act_list) do
if v.act_type == CustomActivityModel.CustomIconActType.GiftAct then--限时礼包类型
self.model:CheckActIconBoolOpen(v.sub_type)
break
end
end
end
end
end
GlobalEventSystem:Bind(EventName.CHANE_DAY, change_day_func)
local onKfActivityBaseView = function (icon_sub_type,id,is_close)--is_close关闭参数
if is_close then--关闭就不要走奇怪的判断了
if self.KfActivityBaseView and self.KfActivityBaseView:HasOpen() then
self.KfActivityBaseView:Close()
end
return
end
local act_type = self.model:GetActType(icon_sub_type,id)
local zeroGiftHaveOpen = self.model:GetZeroGiftFirstOpenCookie()
if act_type == CustomActivityModel.CustomIconActType.JcAct and not zeroGiftHaveOpen then--零元礼包是否点击到活动图标 点击到要关闭气泡
self.model:SetZeroGiftFirstOpenCookie(true)
ActivityIconManager:getInstance():HideActivityIconDesc()
end
if not act_type then
Message.show("活动未开启","fault")
return
end
if id then
local open_bool = self.model:CheckActivityIdOpen(act_type,id)--是否开启
if not open_bool then
Message.show("活动未开启","fault")
return
end
end
AdvertisementModel:getInstance():CheckAndShowActivityAd( id )-- 检查一下是否需要展示宣传图 并展示
if self.KfActivityBaseView == nil then
self.KfActivityBaseView = KfActivityBaseView.New(act_type)
end
if not is_close then
if self.KfActivityBaseView:HasOpen() then
-- 从不同act_type的活动界面跳转过来时重新加载界面
if act_type ~= self.KfActivityBaseView.act_type then
self.KfActivityBaseView:Close()
self.KfActivityBaseView = KfActivityBaseView.New(act_type)
self.KfActivityBaseView:Open(id)
else
self.KfActivityBaseView:UpdateView(id)
end
else
BaseDungeonModel:getInstance():Fire(BaseDungeonModel.CLOSE_HALL_VIEW)--副本界面有时候会自动弹出 先关闭副本界面 否则套娃进不去
self.KfActivityBaseView:Open(id)
end
end
end
GlobalEventSystem:Bind(KfActivityModel.OPEN_ACTIVITY_BASE_VIEW, onKfActivityBaseView)
local onOpenKfActivityRRLastTimeRankView = function (id,sub_type,is_close)--往期排行
if self.KfActivityRRLastTimeRankView == nil then
self.KfActivityRRLastTimeRankView = KfActivityRRLastTimeRankView.New()
end
if self.KfActivityRRLastTimeRankView:HasOpen() and not is_close then
-- self.KfActivityRRLastTimeRankView:UpdateView(id,sub_type)
elseif not is_close then
self.KfActivityRRLastTimeRankView:Open(id,sub_type)
else
self.KfActivityRRLastTimeRankView:Close()
end
end
self.model:Bind(KfActivityModel.OPEN_RANK_SHOW_VIEW,onOpenKfActivityRRLastTimeRankView)
local onOpenKfActivityRRLastReCBtnView = function (id,sub_type,is_close)--冲榜升级变强途径
if self.KfActivityRRLastReCBtnView == nil then
self.KfActivityRRLastReCBtnView = KfActivityRRLastReCBtnView.New()
end
if self.KfActivityRRLastReCBtnView:HasOpen() and not is_close then
-- self.KfActivityRRLastReCBtnView:UpdateView(id,sub_type)
elseif not is_close then
self.KfActivityRRLastReCBtnView:Open(id,sub_type)
else
self.KfActivityRRLastReCBtnView:Close()
end
end
self.model:Bind(KfActivityModel.OPEN_RANK_RE_CB_VIEW,onOpenKfActivityRRLastReCBtnView)
local onOpenKfGroupBuyingShareView = function (sub_type,is_close,x,y)--往期排行
if self.KfGroupBuyingShareView == nil then
self.KfGroupBuyingShareView = KfGroupBuyingShareView.New()
end
if self.KfGroupBuyingShareView:HasOpen() and not is_close then
-- self.KfGroupBuyingShareView:UpdateView(sub_type)
elseif not is_close then
self.KfGroupBuyingShareView:Open(sub_type,x,y)
else
self.KfGroupBuyingShareView:Close()
end
end
self.model:Bind(KfActivityModel.OPEN_GROUP_BUYING_SHARE_VIEW,onOpenKfGroupBuyingShareView)
local onOpenLimitSecKillBuyView = function (data, sub_type, is_close)--打开购买界面
if self.LimitSecKillBuyView == nil then
self.LimitSecKillBuyView = LimitSecKillBuyView.New()
end
if self.LimitSecKillBuyView:HasOpen() and not is_close then
elseif not is_close then
self.LimitSecKillBuyView:Open(data, sub_type)
else
self.LimitSecKillBuyView:Close()
end
end
self.model:Bind(KfActivityModel.OPEN_LIMIT_SECKILL_BUY_VIEW,onOpenLimitSecKillBuyView)
local function OPEN_SCRAOING_CARD_TIPS_VIEW_VIEW(d)
if self.KfActivityScrapingCardTipsView == nil then
self.KfActivityScrapingCardTipsView = KfActivityScrapingCardTipsView.New()
end
self.KfActivityScrapingCardTipsView:Open()
self.KfActivityScrapingCardTipsView:SetData(d)
end
self.model:Bind(KfActivityModel.OPEN_SCRAOING_CARD_TIPS_VIEW_VIEW, OPEN_SCRAOING_CARD_TIPS_VIEW_VIEW)
local function OPEN_DISCOUNT_FULL_CUT_HISTORY( sub_type )
if not self.kfdiscountfullcutrecordview then
self.kfdiscountfullcutrecordview = KfDiscountFullCutRecordView.New()
self.kfdiscountfullcutrecordview:Open( sub_type )
end
end
self.model:Bind(KfActivityModel.OPEN_DISCOUNT_FULL_CUT_HISTORY,OPEN_DISCOUNT_FULL_CUT_HISTORY)
local function OPEN_DISCOUNT_FULL_CUT_HISTORY_TIP( data )
if not self.kfdiscountfullcutrecordtip then
self.kfdiscountfullcutrecordtip = KfDiscountFullCutRecordTip.New()
self.kfdiscountfullcutrecordtip:Open( data )
end
end
self.model:Bind(KfActivityModel.OPEN_DISCOUNT_FULL_CUT_HISTORY_TIP,OPEN_DISCOUNT_FULL_CUT_HISTORY_TIP)
local function OpenKfDiscountFullCutLuckyTableView( sub_type )
if not self.KfDiscountFullCutLuckyTableView then
self.KfDiscountFullCutLuckyTableView = KfDiscountFullCutLuckyTableView.New()
self.KfDiscountFullCutLuckyTableView:Open( sub_type )
end
end
self.model:Bind(KfActivityModel.OPEN_DISCOUNT_FULL_CUT_LUCKY_VIEW,OpenKfDiscountFullCutLuckyTableView)
local function OPEN_MONEY_COPY_VIEW( tag ,is_close )
if is_close then
if self.kfmoneycopyview then
self.kfmoneycopyview:Close()
end
return
end
local sub_type = self.model:GetMoneyCopySubTypeByTag( tag )
if not sub_type then return end
if not self.kfmoneycopyview then
self.kfmoneycopyview = KfMoneyCopyView.New()
self.kfmoneycopyview:Open( sub_type )
end
end
self.model:Bind(KfActivityModel.OPEN_MONEY_COPY_VIEW,OPEN_MONEY_COPY_VIEW)
local function OPEN_PASS_ACT_BUY_TIP( base_type,sub_type ,is_close )
if is_close then
if self.kfactivityloginpassbuytip then
self.kfactivityloginpassbuytip:Close()
end
return
end
if not self.kfactivityloginpassbuytip then
self.kfactivityloginpassbuytip = KfActivityLoginPassBuyTip.New()
self.kfactivityloginpassbuytip:Open( base_type,sub_type )
end
end
self.model:Bind(KfActivityModel.OPEN_PASS_ACT_BUY_TIP,OPEN_PASS_ACT_BUY_TIP)
local function onOpenKfActivityZeroGiftShowView( sub_type ,is_close )
if is_close then
if self.KfActivityZeroGiftShowView then
self.KfActivityZeroGiftShowView:Close()
end
return
end
if not self.KfActivityZeroGiftShowView then
self.KfActivityZeroGiftShowView = KfActivityZeroGiftShowView.New()
self.KfActivityZeroGiftShowView:Open( sub_type )
end
end
self.model:Bind(KfActivityModel.OPEN_ZERO_GIFT_SHOW_VIEW,onOpenKfActivityZeroGiftShowView)
--检查团购红点数据
local function checkGroupBuyRedInfo( ... )--有金钱变化就再检查一次吧
local list = self.model.group_red_list or {}
for k,v in pairs(list) do
if v==false then
self.model:CheckKfGroupBuyingRedDot(k)
end
end
end
RoleManager.Instance.mainRoleInfo:BindOne("jin",checkGroupBuyRedInfo)
RoleManager.Instance.mainRoleInfo:BindOne("jinLock",checkGroupBuyRedInfo)
local function checkKfLimitShopRedDot( ... )
local sub_type = CustomActivityModel:getInstance():getActMinSubType(CustomActivityModel.CustomActBaseType.KFACTIVITY_LIMIT_SHOP)
self.model:IsNeedRed(KfActivityModel.TabID.LimitShop,nil,sub_type)
end
RoleManager.Instance.mainRoleInfo:BindOne("vip_flag",checkKfLimitShopRedDot)
RoleManager.Instance.mainRoleInfo:BindOne("jinLock",checkKfLimitShopRedDot)
local function OPEN_ACT_GUIDE_BASE_VIEW( sub_type ,is_close, is_goods_vo )
local sub_type = sub_type
local goods_vo = false
if is_goods_vo then
sub_type = 5000 -- 走某个物品信息 的sub_type 与活动的区分开
end
self.actGuideBaseView = self.actGuideBaseView or {}
if is_close then
if self.actGuideBaseView[sub_type] then
self.actGuideBaseView[sub_type]:Close()
self.actGuideBaseView[sub_type] = nil
end
return
end
if is_goods_vo then -- 走某个物品信息
-- if self.actGuideBaseView[sub_type] and self.actGuideBaseView[sub_type]:HasOpen() then -- 正在展示就先返回
-- return
-- end
goods_vo = self.model:GetActGuideAddGoodsData()
if not goods_vo then
return
end
else -- 走活动
-- 要根据类型和对应物品判断一下是否弹
local act_data = CustomActivityModel:getInstance():getActList(CustomActivityModel.CustomActBaseType.ACT_GUIDE, sub_type)
if not act_data then -- 没数据 返回
return
end
local need_show = false
if act_data.good then
local count = GoodsModel:getInstance():GetTypeGoodsNum( tonumber(act_data.good) )
--print('=======Msh:KfActivityController.lua[605] =======', act_data.good, count, act_data.type)
if (count > 0 and act_data.type == 2) or (count == 0 and act_data.type == 1) then
need_show = true
end
end
if not need_show then -- 不满足弹的条件 返回
--print('=======Msh:KfActivityController.lua[611] ===没打开====', data)
return
end
end
--print('=======Msh:KfActivityController.lua[614] ===打开了====', data)
if not self.actGuideBaseView[sub_type] then
self.actGuideBaseView[sub_type] = ActGuideBaseView.New()
end
if not self.actGuideBaseView[sub_type]:HasOpen() then
self.actGuideBaseView[sub_type]:Open( sub_type, goods_vo )
else
self.actGuideBaseView[sub_type]:UpdateView(sub_type, goods_vo)
end
end
self.model:Bind(KfActivityModel.OPEN_ACT_GUIDE_BASE_VIEW, OPEN_ACT_GUIDE_BASE_VIEW)
end
function KfActivityController:RegisterAllProtocals()
self:RegisterProtocal(22500,"handler22500") --错误码展示
self:RegisterProtocal(22501,"handler22501") --冲榜榜单信息
self:RegisterProtocal(22502,"handler22502") --目标奖励信息
self:RegisterProtocal(22503,"handler22503") --领取奖励
self:RegisterProtocal(15957,"handler15957") --从开始时间当天0点到目前的充值总额
self:RegisterProtocal(33185, "Handler33185")--查询单个0元礼包
self:RegisterProtocal(33186, "Handler33186")--0元礼包购买
--开服团购
self:RegisterProtocal(33223, "Handler33223")--查询单个开服团购活动信息
self:RegisterProtocal(33224, "Handler33224")--开服团购分享
--大富翁
self:RegisterProtocal(33228, "Handler33228")--超级富豪 信息
self:RegisterProtocal(33229, "Handler33229")--超级富豪 掷骰子
self:RegisterProtocal(33230, "Handler33230")--超级富豪 补签
self:RegisterProtocal(33231, "Handler33231")--超级富豪 领取圈数奖励
--嗨点活动信息
self:RegisterProtocal(33140, "Handler33140")--嗨点活动信息
self:RegisterProtocal(33289, "Handler33289")--嗨点信息推送
-- 投资活动信息
self:RegisterProtocal(33141, "Handler33141")--投资活动信息
self:RegisterProtocal(33142, "Handler33142")--投资活动投资
self:RegisterProtocal(33144, "Handler33144")--投资领取
--小额连充
self:RegisterProtocal(33145, "Handler33145")--小额连充充值和已补签次数
self:RegisterProtocal(33146, "Handler33146")--小额连充补签
-- 抢红包
self:RegisterProtocal(33168, "Handler33168")--抢红包
--通用排行
self:RegisterProtocal(33169, "Handler33169")--通用排行榜封榜活动信息
--限时秒杀
self:RegisterProtocal(33187, "Handler33187")--秒杀-打开秒杀界面
self:RegisterProtocal(33188, "Handler33188")--秒杀-打开秒杀界面-各场次数据
self:RegisterProtocal(33189, "Handler33189")--秒杀-购买记录
self:RegisterProtocal(33190, "Handler33190")--秒杀-打开抢购界面
self:RegisterProtocal(33191, "Handler33191")--秒杀-抢购
self:RegisterProtocal(33192, "Handler33192")--秒杀-订阅
self:RegisterProtocal(33193, "Handler33193")--秒杀-订阅主推-商品购买情况-更新单个商品数量和记录
self:RegisterProtocal(33194, "Handler33194")--秒杀-场次开启
--惊喜红包
self:RegisterProtocal(33250, "Handler33250")--惊喜红包-基础信息
self:RegisterProtocal(33251, "Handler33251")--惊喜红包-抽取奖励
self:RegisterProtocal(33252, "Handler33252")--惊喜红包-领取奖励
self:RegisterProtocal(33253, "Handler33253")--惊喜红包-全服记录
self:RegisterProtocal(33254, "Handler33254")--惊喜红包-领取宝箱
self:RegisterProtocal(33126, "Handler33126")--折扣满减-信息
self:RegisterProtocal(33127, "Handler33127")--折扣满减-购买记录
self:RegisterProtocal(33128, "Handler33128")--折扣满减-抽奖
self:RegisterProtocal(33129, "Handler33129")--折扣满减-购买商品
self:RegisterProtocal(33130, "Handler33130")--折扣满减-抽奖转盘信息
self:RegisterProtocal(33131, "Handler33131")--彩钻复制机-基础信息
self:RegisterProtocal(33132, "Handler33132")--彩钻复制机-购买存金
self:RegisterProtocal(33133, "Handler33133")--彩钻复制机-领取利息
self:RegisterProtocal(33283, "Handler33283")--通行证-活动信息
self:RegisterProtocal(33285, "Handler33285")--通行证-购买王牌宝典
self:RegisterProtocal(33286, "Handler33286")--通行证-奖励信息
self:RegisterProtocal(33284, "Handler33284")--活跃通行证-奖励领取
self:RegisterProtocal(33287, "Handler33287")--登录通行证-奖励领取
self:RegisterProtocal(33288, "Handler33288")--登录通行证-补签
end
-- ########### 错误码展示 ##############
-- protocol=22500
-- {
-- s2c{
-- code:int32
-- }
-- }
function KfActivityController:handler22500()
local scmd = SCMD22500.New(true)
print("22500scmd", scmd.code)
ErrorCodeShow(scmd.code)
end
-- ########### 冲榜榜单信息 ##############
-- protocol=22501
-- {
-- c2s{
-- type :int32 // 请求的排行榜类型
-- sub_type :int16 // 活动子类
-- }
-- s2c{
-- sub_type :int16 // 活动子类
-- rank_type :int32
-- sel_rank :int32 // 请求者排行 0为未上榜
-- sel_val1 :int32 // 自己的值1
-- sel_val2 :int32 // 自己的值2
-- sum :int32 // 排行榜总人数
-- max_len :int16 // 最大长度
-- rank_limit :int32 // 上榜阈值
-- rank_list:array{
-- player_id :int64
-- name :string
-- value1 :int32 //主数据
-- value2 :int32 //二级数据
-- value3 :int32 //三级数据
-- rank :int16 //排名
-- vip_flag :int8 //vip
-- sup_vip_type :int8 //贵族
-- }
-- }
-- }
function KfActivityController:handler22501()
local scmd = SCMD22501.New(true)
-- print("22501冲榜榜单信息")
-- PrintTable(scmd)
self.model:SetRushRankInfo(scmd)
end
-- ########### 目标奖励信息 ##############
-- protocol=22502
-- {
-- c2s{
-- sub_type :int16 // 活动子类
-- }
-- s2c{
-- sub_type :int16 // 活动子类
-- goal_list:array{
-- rank_type :int32 // 榜单类型
-- goal :int16 // 目标奖励id
-- goal_sum :int16 // 总目标数量
-- state :int8 // 领取状态 0不可领 1 可领 2 完成
-- }
-- }
-- }
function KfActivityController:handler22502()
local scmd = SCMD22502.New(true)
print("22502目标奖励信息",#scmd.goal_list)
-- PrintTable(scmd)
self.model:SetTargetRewardList(scmd)
end
-- ########### 领取奖励 ##############
-- protocol=22503
-- {
-- c2s{
-- type :int32 // 请求的排行榜类型
-- sub_type :int16 // 活动子类
-- goal :int8 // 目标奖励id
-- }
-- s2c{
-- errcode :int32 // 1 成功
-- sub_type :int16
-- }
-- }
function KfActivityController:handler22503()
local scmd = SCMD22503.New(true)
if scmd.errcode == 1 then
Message.show("领取成功","success")
self.model:Fire(KfActivityModel.REQUEST_INFO, 22502, scmd.sub_type)
else
ErrorCodeShow(scmd.errcode)
end
end
-- ########### 从开始时间当天0点到目前的充值总额 ##########
-- protocol=15957
-- {
-- c2s{
-- type:int16 // 主类型
-- subtype:int16 // 子类型
-- start_time:int32 // 活动开启时间
-- }
-- s2c{
-- type:int16 // 主类型
-- subtype:int16 // 子类型
-- total_gold:int32 //元宝数
-- }
-- }
function KfActivityController:handle15957()
local scmd = SCMD15957.New(true)
-- print("huangcong:KfActivityController [start:186] :", scmd)
-- PrintTable(scmd)
-- print("huangcong:KfActivityController [end]")
-- CustomActivityModel:getInstance():Fire(CustomActivityModel.PROTO_CCMD_EVENT, 33104, vo.type, vo.subtype)
-- self.model:SetSevenDayRecharge(vo.type, vo.subtype, vo.total_gold)
end
-- ########## 查询单个0元礼包 ###########
-- protocol=33185
-- {
-- c2s{
-- base_type :int16 // 活动主类型
-- sub_type :int16 // 活动子类型
-- }
-- s2c{
-- base_type :int16 // 活动主类型
-- sub_type :int16 // 活动子类型
-- start_time :int32 // 活动开始时间
-- reward_list:array{ // 累计抽奖次数奖励
-- grade :int16 // 奖励档次
-- time :int32 // 领取时间(终点时间戳 当前时间大于它 即可领取返利)(没有购买 则显示改礼包购买过期时间)
-- status :int8 // 0:未购买 1:已购买不可领取 2:已领取 3:不可购买已过期 4:可领取
-- }
-- }
-- }
function KfActivityController:Handler33185(a1,a2)
local vo = SCMD33185.New(true)
self.model:SetZeroGiftInfo(vo)
self.model:Fire(KfActivityModel.UPDATE_ZERO_GIFT_VIEW,vo.sub_type)
self.model:IsNeedRed(KfActivityModel.TabID.ZeroGift,nil,vo.sub_type)
end
-- ############## 0元礼包购买 ##############
-- protocol=33186
-- {
-- c2s{
-- base_type :int16 // 活动主类型
-- sub_type :int16 // 活动子类型
-- grade :int16 // 奖励档次
-- }
-- s2c{
-- errcode :int32 // 返回码
-- base_type :int16 // 活动主类型
-- sub_type :int16 // 活动子类型
-- grade :int16 // 奖励档次
-- time :int32 // 领取时间(终点时间戳 当前时间大于它 即可领取返利)(没有购买 则显示改礼包购买过期时间)
-- status :int8 // 0:未购买 1:已购买不可领取 2:已领取 3:不可购买已过期 4:可领取
-- }
-- }
function KfActivityController:Handler33186()
local vo = SCMD33186.New(true)
if vo.errcode ~= 1 then
ErrorCodeShow(vo.errcode)
lua_soundM:PlayEffect(self, "fault",false,LuaSoundManager.SOUND_TYPE.UI)
if vo.errcode == 1001 then
GlobalEventSystem:Fire(EventName.OPEN_RECHARGE_TIP_VIEW, true)
elseif vo.errcode == 1006 then
Alert.show("您的红钻不足,是否前往投资?", Alert.Type.Two, function()
OpenFun.Open(420,1)
end, nil, "确定", "取消")
end
else
if self.model.zero_gift_view_info[vo.sub_type] and self.model.zero_gift_view_info[vo.sub_type].reward_list then
self.model.zero_gift_view_info[vo.sub_type].reward_list[vo.grade].status = vo.status
self.model.zero_gift_view_info[vo.sub_type].reward_list[vo.grade].time = vo.time
end
self.model:ZeroGiftNeedTimeLater()
self.model:Fire(KfActivityModel.UPDATE_ZERO_GIFT_VIEW,vo.sub_type)
self.model:IsNeedRed(KfActivityModel.TabID.ZeroGift,nil,vo.sub_type)
if vo.status == 1 then
local award_data = CustomActivityModel:getInstance():getOneActRewardList(vo.base_type,vo.sub_type)
if award_data and award_data.reward_list then
local award_info = nil
for i,v in ipairs(award_data.reward_list) do
if v.grade == vo.grade then
local award = v.reward_info
if #award > 0 then
local new_award_list = {}
for n,l in ipairs(award) do
new_award_list[#new_award_list + 1] = {l.goods_kind, l.goods_id, l.goods_count}
end
GiftModel:getInstance():Fire(GiftModel.OPEN_SHOW_ACT_GOODS_VIEW, new_award_list)
break
end
end
end
end
end
end
end
-- ########## 查询单个开服团购活动信息 ###########
-- protocol=33223
-- {
-- c2s{
-- sub_type:int16 // 活动子类型
-- }
-- s2c{
-- sub_type:int16 // 活动子类型
-- list:array{
-- grade :int8 // 奖励档次(33104 grade)
-- member :int16 // 玩家数量
-- price :int16 // 个人花费价格
-- }
-- }
-- }
function KfActivityController:Handler33223()
local vo = SCMD33223.New(true)
-- print("huangcong:KfActivityController [start:420] vo:", vo)
-- PrintTable(vo)
-- print("huangcong:KfActivityController [end]")
self.model:SetGroupBuyingInfo(vo)
self.model:Fire(KfActivityModel.UPDATE_GROUP_BUYING_VIEW,vo.sub_type)
self.model:IsNeedRed(KfActivityModel.TabID.GroupBuying,nil,vo.sub_type)
end
-- ############## 开服团购推送(折扣档次变化就需要推送一次) ##############
-- protocol=33224
-- {
-- s2c{
-- sub_type :int16 // 活动子类
-- grade :int8 // 奖励档次(33104 grade)
-- member :int16 // 玩家数量
-- price :int16 // 个人花费价格
-- }
-- }
function KfActivityController:Handler33224()
local vo = SCMD33224.New(true)
self.model:SetGroupBuyingInfoByGrade(vo)
self.model:Fire(KfActivityModel.UPDATE_GROUP_BUYING_VIEW,vo.sub_type)
self.model:IsNeedRed(KfActivityModel.TabID.GroupBuying,nil,vo.sub_type)
end
-- ############ 超级富豪 信息 ##############
-- protocol=33228
-- {
-- c2s{
-- sub_type :int16
-- }
-- s2c{
-- sub_type :int16
-- round :int8 // 圈数
-- cur_index :int8 // 格子当前索引(0是起点 26是终点)
-- normal_count :int8 // 普通骰子剩余使用次数
-- gold_count :int8 // 金骰子剩余使用次数
-- normal_day_count :int8 // 今日已获得普通骰子次数
-- gold_day_count :int8 // 今日已获得金骰子次数
-- design_count :int8 // 剩余补签次数
-- use_design_count :int8 // 已补签次数
-- day_recharge_num :int32 // 今日累充
-- lucky_pools :array{ // 幸运池
-- index :int8
-- status :int8 // 0未发放|1已发放
-- }
-- dice_list :array{ // 格子信息列表
-- index :int8 // 格子索引
-- rewards :array{ // 奖励列表
-- goods_kind :int8
-- goods_id :int32
-- goods_num :int32
-- }
-- lucky_index :int8 // 幸运池索引
-- }
-- circle_rewards :array{ // 圈数奖励信息列表
-- circle :int8
-- status :int8 // 0不能领取|1可领取|2已领取
-- }
-- }
-- }
function KfActivityController:Handler33228()
local vo = {}
if KfActivityController.Is_Debug then
vo.sub_type = 1
vo.round = 1
vo.cur_index = 16
vo.normal_count = 1
vo.gold_count = 0
vo.normal_day_count = 0
vo.gold_day_count = 0
vo.design_count = 0
vo.use_design_count = 0
local lucky_pools = {}
for i=1,8 do
local data = {index = i,status = 0}
lucky_pools[#lucky_pools + 1] = data
end
vo.lucky_pools = lucky_pools
local circle_rewards = {}
for i=1,10 do
local data = {circle = i,status = 0}
circle_rewards[#circle_rewards + 1] = data
end
vo.circle_rewards = circle_rewards
local dice_list = {}
for i=1,26 do
local data = {index = i,lucky_index = 0}
data.rewards = {}
dice_list[#dice_list + 1] = data
end
vo.dice_list = dice_list
else
vo = SCMD33228.New(true)
end
self.model:SetMonopolyInfo(vo)
self.model:IsNeedRed(KfActivityModel.TabID.Monopoly,nil,vo.sub_type)
end
-- ########### 超级富豪 掷骰子 ############
-- protocol=33229{
-- c2s{
-- sub_type :int16
-- type :int8 // 0普通投掷|金骰子投掷
-- }
-- s2c{
-- errcode :int32 // 返回码
-- sub_type :int16
-- pass_dice :int8 // 投掷点数
-- dice_list :array{ // 格子信息列表
-- index :int8 // 格子索引
-- rewards :array{ // 奖励列表
-- goods_id :int32
-- goods_kind :int8
-- goods_num :int32
-- }
-- lucky_index :int8 // 幸运池索引
-- }
-- }
-- }
function KfActivityController:Handler33229()
local vo = {}
if KfActivityController.Is_Debug then
vo.sub_type = 1
vo.errcode = 1
vo.pass_dice = 6
local dice_list = {}
for i=1,26 do
local data = {index = i,lucky_index = 0}
data.rewards = {
{goods_id = 270010,
goods_kind = 100,
goods_num = 2,},
}
data.lucky_index = 6
dice_list[#dice_list + 1] = data
end
vo.dice_list = dice_list
else
vo = SCMD33229.New(true)
end
-- print("huangcong:KfActivityController [start:598] vo:", vo)
-- PrintTable(vo)
-- print("huangcong:KfActivityController [end]")
if vo.errcode ~= 1 then
ErrorCodeShow(vo.errcode)
self.model:Fire(KfActivityModel.MONOPOLY_DICE_ACTION_STOP)
else
local new_dice_list = {}
for k,v in pairs(vo.dice_list) do
new_dice_list[v.index] = v
end
vo.dice_list = new_dice_list
self.model:Fire(KfActivityModel.MONOPOLY_DICE_ACTION_START,vo)--开始大富翁骰子动画
end
end
-- ############ 超级富豪 补签 ###############
-- protocol=33230{
-- c2s{
-- sub_type :int16
-- }
-- s2c{
-- errcode :int32
-- sub_type :int16
-- }
-- }
function KfActivityController:Handler33230()
local vo = SCMD33230.New(true)
if vo.errcode ~= 1 then
ErrorCodeShow(vo.errcode)
else
Message.show("补签成功","fault")
self.model:Fire(KfActivityModel.REQUEST_INFO, 33228, vo.sub_type)
end
end
-- ########### 超级富豪 领取圈数奖励 ###############
-- protocol=33231{
-- c2s{
-- sub_type :int16
-- circle :int8
-- }
-- s2c{
-- errcode :int32
-- sub_type :int8
-- circle :int8 // 圈数
-- }
-- }
function KfActivityController:Handler33231()
local vo = SCMD33231.New(true)
if vo.errcode == 1 then
Message.show("领取成功","success")
local data = self.model:GetMonopolyRoundAward(vo.sub_type,vo.circle)
if data and data.rewards then
local goods_list = {data.rewards[2]}
MainUIModel:getInstance():PlayGoodsFlyList(goods_list)
end
local server_info = self.model:GetMonopolyInfo(vo.sub_type)
if server_info and server_info.circle_rewards then
server_info.circle_rewards[vo.circle] = {circle = vo.circle,status = 2}
self.model:IsNeedRed(KfActivityModel.TabID.Monopoly,nil,vo.sub_type)
end
else
ErrorCodeShow(vo.errcode)
end
end
-- ################ 嗨点信息 #################
-- protocol=33140
-- {
-- c2s{
-- base_type :int16 // 活动主类型
-- sub_type :int16 // 活动子类型
-- }
-- s2c{
-- base_type :int16 // 活动主类型
-- sub_type :int16 // 活动子类型
-- sum_points :int32 // 获得总嗨点值
-- mod_list:array{
-- mod_id :int32 // 模块id
-- name :string // 名称
-- one_points :int32 // 单次获得狂欢值
-- max_points :int32 // 狂欢值上限
-- times :int32 // 参与次数
-- order_id :int16 // 排序id
-- jump_id :string // 跳转id
-- sec_value :int32 // 保留值
-- }
-- }
-- }
function KfActivityController:Handler33140()
local vo = SCMD33140.New(true)
-- print("huangcong:KfActivityController [start:674] vo:", vo.base_type,vo.sub_type)
-- PrintTable(vo)
-- print("huangcong:KfActivityController [end]")
self.model:SetHighPointInfo(vo)
end
-- ########## 嗨点信息推送 ###########
-- protocol=33289
-- {
-- c2s{
-- base_type :int16 // 活动主类型
-- sub_type :int16 // 活动子类型
-- }
-- s2c{
-- base_type :int16 // 活动主类型
-- sub_type :int16 // 活动子类型
-- sum_points :int32 // 获得总嗨点值
-- }
-- }
function KfActivityController:Handler33289()
local vo = SCMD33289.New(true)
-- print("huangcong:KfActivityController [start:928] 33289", vo)
-- PrintTable(vo)
self.model:SetHighPointSumNum(vo)
end
function KfActivityController:Handler33141( )
local vo = SCMD33141.New(true)
self.model:SetInvestActData(vo)
self.model:IsNeedRed(KfActivityModel.TabID.InvestAct, false, vo.sub_type)
end
-- ################ 投资活动投资 #################
-- protocol=33142
-- {
-- c2s{
-- sub_type:int16
-- grade:int8 // 投资档次
-- }
-- s2c{
-- res:int32 // 结果码 1为成功购买
-- sub_type:int16 // 活动子类型 主类型固定是75
-- grade:int8 // 投资档次
-- }
-- }
function KfActivityController:Handler33142( )
local vo = SCMD33142.New(true)
if vo.res == 1 then
Message.show("投资成功", "succeed")
self.model:UpdateInvestActBuyFlag(vo)
self.model:IsNeedRed(KfActivityModel.TabID.InvestAct, false, vo.sub_type)
-- 加载特殊获得的奖励界面
local activity_data = CustomActivityModel:getInstance():getOneActRewardList(CustomActivityModel.CustomActBaseType.INVEST_ACT, vo.sub_type)
activity_data = activity_data or {}
activity_data.reward_list = activity_data.reward_list or {}
local first_day_reward
for k, v in pairs(activity_data.reward_list) do
if v.grade == vo.grade then
for k2, v2 in ipairs(v.reward_info) do
if v2.day_num == 1 then -- 投资首日奖励抽出单独展示
first_day_reward = v2.goods_list
break
end
end
break
end
end
if first_day_reward then
local new_award_list = {}
for n,l in ipairs(first_day_reward) do
new_award_list[#new_award_list + 1] = {l.goods_kind, l.goods_id, l.goods_count}
end
GiftModel:getInstance():Fire(GiftModel.OPEN_SHOW_ACT_GOODS_VIEW, new_award_list)
end
else
ErrorCodeShow(vo.res)
end
end
function KfActivityController:Handler33144( )
local vo = SCMD33144.New(true)
if vo.res == 1 then
self.model:UpdateInvestActData(vo)
self.model:IsNeedRed(KfActivityModel.TabID.InvestAct, false, vo.sub_type)
Message.show("领取成功", "succeed")
else
ErrorCodeShow(vo.res)
end
end
-- ##############小额连充充值和已补签次数############
-- protocol=33145
-- {
-- c2s{
-- sub_type :int16 // 活动子类型
-- }
-- s2c{
-- sub_type :int16 // 活动子类型
-- total:int32 //玩家充值
-- resign:int8 //已补签次数
-- }
-- }
function KfActivityController:Handler33145( )
local vo = SCMD33145.New(true)
-- print("huangcong:KfActivityController [start:1047] vo:", vo)
-- PrintTable(vo)
-- print("huangcong:KfActivityController [end]")
self.model:SetKfContinueInfo(vo)
end
-- ##############小额连充补签############
-- protocol=33146
-- {
-- c2s{
-- sub_type:int16 // 活动子类型
-- }
-- s2c{
-- res:int32
-- sub_type:int16 // 活动子类型
-- }
-- }
function KfActivityController:Handler33146( )
local vo = SCMD33146.New(true)
if vo.res == 1 then
Message.show("补签成功","falut")
CustomActivityModel:getInstance():Fire(CustomActivityModel.PROTO_CCMD_EVENT, 33104, CustomActivityModel.CustomActBaseType.CONTINUE_RECHARGE, vo.sub_type)
KfActivityModel:getInstance():Fire(KfActivityModel.REQUEST_INFO,33145,vo.sub_type)
else
ErrorCodeShow(vo.res)
end
end
-- ########## 抢红包-打开抢红包界面 ###########
function KfActivityController:Handler33168( )
local vo = SCMD33168.New(true)
-- logWarn('=======Msh:KfActivityController.lua[789]==start=====')
-- PrintTable(vo)
-- logWarn('=======Msh:KfActivityController.lua[791]==end=====')
--logWarn('=======Msh:KfActivityController.lua[793]==1111=====', TimeUtil:timeConversion(vo.time, "yy/mm/dd hh:mm:ss") )
if vo.result == 1 then
self.model:SetLuckyBagLastGetTime(vo.time)
if vo.opty == 0 then
local reward_data = self.model:GetTargetGradeReward(CustomActivityModel.CustomActBaseType.GET_LUCKY_BAG, vo.grade)
GlobalEventSystem:Fire(EventName.OPEN_COM_AWARD_RESULT_VIEW, { award = reward_data.reward })
--Message.show("领取福袋成功")
elseif vo.opty == 1 then
local reward_data = self.model:GetTargetGradeReward(CustomActivityModel.CustomActBaseType.GET_RED_BAG, vo.grade)
GlobalEventSystem:Fire(EventName.OPEN_COM_AWARD_RESULT_VIEW, { award = reward_data.reward })
--Message.show("领取红包成功")
end
else
local last_get_time = self.model:GetLuckyBagLastGetTime()
--logWarn('=======Msh:KfActivityController.lua[793]===2222====', TimeUtil:timeConversion(last_get_time, "yy/mm/dd hh:mm:ss") )
if vo.result == 3310091 and last_get_time > 0 then
local cd = 0
local curTime = TimeUtil:getServerTime()
if vo.opty == 0 then
cd = self.model:GetLuckyBagDataByKey( CustomActivityModel.CustomActBaseType.GET_LUCKY_BAG, "cold_down" )
local str = string.format('存货准备中,请在%s秒后再试~!', (vo.time + cd) - curTime)
Message.show(str)
elseif vo.opty == 1 then
cd = self.model:GetLuckyBagDataByKey( CustomActivityModel.CustomActBaseType.GET_RED_BAG, "cold_down" )
local str = string.format('存货准备中,请在%s秒后再试~!', (vo.time + cd) - curTime)
Message.show(str)
end
elseif vo.result == 3310092 then
local max_time = self.model:GetLuckyBagDataByKey( CustomActivityModel.CustomActBaseType.GET_RED_BAG, "max_times" )
Message.show( string.format('本次活动红包最多领取%s次', max_time) )
else
ErrorCodeShow(vo.result, vo.args)
end
end
end
-- ############## 封榜活动信息 ##############
-- protocol=33169
-- {
-- c2s{
-- base_type :int16 // 活动主类型
-- sub_type :int16 // 活动子类型
-- }
-- s2c{
-- base_type :int16 // 类型
-- sub_type :int16 // 活动子类型
-- my_rank :int16 // 我的排名(不在榜单上就发0)
-- my_vie_num :int32 // 我的值
-- rank_list:array{
-- id :int64 // 角色Id
-- name :string // 玩家名字
-- vip :int8 // 玩家VIP
-- svip_type :int8 // 至尊贵族等级(0未购买,1永久,2体验)
-- server_num :int32 // 服务器Id
-- rank :int16 // 排名
-- vie_num :int32 // 数量
-- }
-- }
-- }
function KfActivityController:Handler33169( )
local vo = SCMD33169.New(true)
-- print("huangcong:KfActivityController [start:875] vo:", vo)
-- PrintTable(vo)
-- print("huangcong:KfActivityController [end]")
self.model:SetComRankInfo(vo)
self.model:IsNeedRed(KfActivityModel.TabID.ComRank,nil,vo.sub_type)
end
-- ########## 秒杀-打开秒杀界面 ###########
function KfActivityController:Handler33187( )
local vo = SCMD33187.New(true)
-- print("HWR:KfActivityController [start:753] vo:", vo)
-- PrintTable(vo)
-- print("HWR:KfActivityController [end]")
self.model:SetSecKillBaseInfo(vo)
end
--秒杀-打开秒杀界面-各场次数据
function KfActivityController:Handler33188( )
local vo = SCMD33188.New(true)
-- print("HWR:KfActivityController [start:761] vo:", vo)
-- PrintTable(vo)
-- print("HWR:KfActivityController [end]")
self.model:SetSecKillRoundInfo(vo)
end
--秒杀-购买记录
function KfActivityController:Handler33189( )
local vo = SCMD33189.New(true)
-- print("HWR:KfActivityController [start:770] vo:", vo)
-- PrintTable(vo)
-- print("HWR:KfActivityController [end]")
self.model:SetSecKillRecordInfo(vo)
end
--秒杀-打开抢购界面
function KfActivityController:Handler33190( )
local vo = SCMD33190.New(true)
-- print("HWR:KfActivityController [start:778] vo:", vo)
-- PrintTable(vo)
-- print("HWR:KfActivityController [end]")
self.model:SetSecKillBuyInfo(vo)
end
--秒杀-抢购
function KfActivityController:Handler33191( )
local vo = SCMD33191.New(true)
-- print("HWR:KfActivityController [start:786] vo:", vo)
-- PrintTable(vo)
-- print("HWR:KfActivityController [end]")
if vo.res == 1 then
Message.show("恭喜您抢购成功~")
self.model:SetSecKillOneInfo(vo.round, vo.grade_id, true)
self.model:Fire(KfActivityModel.LIMIT_SECKILL_BUY_SUCCESS)
else
ErrorCodeShow(vo.res)
end
end
--秒杀-订阅
function KfActivityController:Handler33192( )
end
--秒杀-订阅主推-商品购买情况-更新单个商品数量和记录
function KfActivityController:Handler33193( )
local vo = SCMD33193.New(true)
-- print("HWR:KfActivityController [start:802] vo:", vo)
-- PrintTable(vo)
-- print("HWR:KfActivityController [end]")
self.model:SetSecKillOneInfo(vo.round, vo.grade_id)
self.model:SetSecKillOneRecord(vo)
end
function KfActivityController:Handler33194( )
local vo = SCMD33194.New(true)
self.model:LimitSecKillRoundStart(vo.round)
end
-- ########## 惊喜红包-start ###########
--惊喜红包 基础信息
function KfActivityController:Handler33250( )
local vo = SCMD33250.New(true)
self.model:SetHappyRedBagBaseInfo(vo)
self.model:Fire(KfActivityModel.UPDATE_HAPPY_RED_BAG_INFO)
end
--惊喜红包 抽取奖励
function KfActivityController:Handler33251( )
local vo = SCMD33251.New(true)
if vo.res == 1 then
Message.show("抽取成功!")
KfActivityModel:getInstance():Fire(KfActivityModel.REQUEST_INFO, 33250, vo.sub_type)
else
ErrorCodeShow(vo.res)
if vo.res == 3310094 then
KfActivityModel:getInstance():Fire(KfActivityModel.REQUEST_INFO, 33250, vo.sub_type)
end
end
end
--惊喜红包 领取奖励
function KfActivityController:Handler33252( )
local vo = SCMD33252.New(true)
if vo.res == 1 then
Message.show("领取成功!")
self.model:Fire(KfActivityModel.ANS_DRAW_HAPPY_RED_BAG,vo)
--请求全服记录
KfActivityModel:getInstance():Fire(KfActivityModel.REQUEST_INFO, 33253, vo.sub_type)
else
ErrorCodeShow(vo.res)
end
end
--惊喜红包 全服抽取记录
function KfActivityController:Handler33253( )
local vo = SCMD33253.New(true)
self.model:SetHappyRedBagHistoryInfo(vo)
self.model:Fire(KfActivityModel.UPDATE_HAPPY_RED_BAG_HISTORY)
end
--惊喜红包 领取宝箱
function KfActivityController:Handler33254( )
local vo = SCMD33254.New(true)
if vo.res == 1 then
Message.show("领取成功!")
KfActivityModel:getInstance():Fire(KfActivityModel.REQUEST_INFO, 33250, vo.sub_type)
else
ErrorCodeShow(vo.res)
end
end
-- ########## 惊喜红包-end ###########
-- ########## 折扣满减-start ###########
--折扣满减 信息
function KfActivityController:Handler33126( )
local vo = SCMD33126.New(true)
self.model:SetDiscountFullCutInfo(vo)
self.model:Fire(KfActivityModel.ANS_DISCOUNT_FULL_CUT_INFO,vo.sub_type)
end
--折扣满减 购买记录
function KfActivityController:Handler33127( )
local vo = SCMD33127.New(true)
self.model:SetDiscountFullCutHistory(vo)
self.model:Fire(KfActivityModel.ANS_DISCOUNT_FULL_CUT_HISTORY,vo.sub_type)
end
-- ################ 满减折扣-抽奖 #################
-- protocol=33128
-- {
-- c2s{
-- sub_type :int16 //活动子类型
-- }
-- s2c{
-- sub_type :int16 //活动子类型
-- res :int32 //错误码
-- id :int16 //奖池中抽中的配置id
-- }
-- }
function KfActivityController:Handler33128( )
local vo = SCMD33128.New(true)
if vo.res == 1 then
Message.show("抽奖成功!")
elseif vo.res == 1003 then
UIToolTipMgr:getInstance():AppendGoodsTips(KfActivityModel.KfDFullCutLuckyGoodsId, nil, nil, nil, nil, nil, nil,true)
else
ErrorCodeShow(vo.res)
end
KfActivityModel:getInstance():Fire(KfActivityModel.LUCKY_DISCOUNT_FULL_CUT_LUCKY_VIEW,vo)
end
--折扣满减 购买商品
function KfActivityController:Handler33129( )
local vo = SCMD33129.New(true)
if vo.errcode == 1 then
Message.show("购买成功!")
self.model:Fire(KfActivityModel.ANS_DISCOUNT_FULL_CUT_BUY, vo.sub_type)
CustomActivityModel:getInstance():Fire(CustomActivityModel.PROTO_CCMD_EVENT, 33104, CustomActivityModel.CustomActBaseType.DISCOUNT_FULL_CUT, vo.sub_type)
KfActivityModel:getInstance():Fire(KfActivityModel.REQUEST_INFO, 33126, vo.sub_type)
else
ErrorCodeShow(vo.errcode)
end
end
-- ################ 满减折扣-抽奖转盘信息 #################
-- protocol=33130
-- {
-- c2s{
-- sub_type :int16 //活动子类型
-- }
-- s2c{
-- sub_type :int16 //活动子类型
-- goods_list:array{
-- id :int16 //奖池中抽中的配置id
-- }
-- }
-- }
function KfActivityController:Handler33130( )
local vo = SCMD33130.New(true)
-- print("huangcong:KfActivityController [start:1110] vo:", vo)
-- PrintTable(vo)
-- print("huangcong:KfActivityController [end]")
self.model:SetDiscountFullCutLuckyTableList(vo)
self.model:Fire(KfActivityModel.UPDATE_DISCOUNT_FULL_CUT_LUCKY_VIEW, vo.sub_type)
end
-- ########## 折扣满减-end ###########
-- ########## 彩钻复制机-start ###########
----彩钻复制机-基础信息
function KfActivityController:Handler33131( )
local vo = SCMD33131.New(true)
self.model:SetMoneyCopyData(vo)
self.model:Fire(KfActivityModel.UPDATE_MONEY_COPY_VIEW, vo.sub_type)
--更新下首充红点
local sub_type_charge = self.model:GetMoneyCopySubTypeByTag( "charge" )
local sub_type_plus_charge = self.model:GetMoneyCopySubTypeByTag( "chargeplus" )
if vo.sub_type == sub_type_charge then
VipModel:getInstance():IsNeedRed(VipModel.TabType.Recharge)--更新紅點
elseif vo.sub_type == sub_type_plus_charge then
RechargeActivityModel:getInstance():UpdateRechargeAddRedDot()
end
end
--彩钻复制机-购买存金
function KfActivityController:Handler33132( )
local vo = SCMD33132.New(true)
if vo.result == 1 then
KfActivityModel:getInstance():Fire(KfActivityModel.REQUEST_INFO, 33131, vo.sub_type)
Message.show("存入成功~")
else
ErrorCodeShow(vo.result)
end
end
----彩钻复制机-领取利息
function KfActivityController:Handler33133( )
local vo = SCMD33133.New(true)
if vo.result == 1 then
KfActivityModel:getInstance():Fire(KfActivityModel.REQUEST_INFO, 33131, vo.sub_type)
Message.show("领取成功~")
else
ErrorCodeShow(vo.result)
end
end
-- ########## 彩钻复制机-end ###########
-- ########## 通行证-start ###########
--通行证-活动信息
function KfActivityController:Handler33283( )
local vo = SCMD33283.New(true)
if vo.result == 1 then
self.model:SetPassActInfo(vo)
self.model:Fire(KfActivityModel.ANS_PASS_ACT_BASIC,vo.act_type, vo.sub_type)
end
end
--通行证-购买王牌宝典
function KfActivityController:Handler33285( )
local vo = SCMD33285.New(true)
if vo.result == 1 then
Message.show("购买成功!")
else
ErrorCodeShow(vo.result)
end
end
--通行证-奖励信息
function KfActivityController:Handler33286( )
local vo = SCMD33286.New(true)
if vo.result == 1 then
self.model:SetPassActRewardInfo(vo)
self.model:Fire(KfActivityModel.ANS_PASS_ACT_REWARD_LIST,vo.act_type, vo.sub_type)
end
end
--活跃通行证-奖励领取
function KfActivityController:Handler33284( )
local vo = SCMD33284.New(true)
if vo.result == 1 then
Message.show("领取成功!")
local base_type = CustomActivityModel.CustomActBaseType.LIVELY_PASS
local result = self.model:PassActChangeRewardStatus(base_type,vo.sub_type,vo.grade,vo.reward_opty)
if not result then
--没有成功设置,那就请求
KfActivityModel:getInstance():Fire(KfActivityModel.REQUEST_INFO, 33283, base_type, vo.sub_type)
end
else
ErrorCodeShow(vo.result)
end
end
--登录通行证-奖励领取
function KfActivityController:Handler33287( )
local vo = SCMD33287.New(true)
if vo.result == 1 then
Message.show("领取成功!")
local base_type = CustomActivityModel.CustomActBaseType.LOGIN_PASS
local result = self.model:PassActChangeRewardStatus(base_type,vo.sub_type,vo.grade,vo.reward_opty)
if not result then
--没有成功设置,那就请求
KfActivityModel:getInstance():Fire(KfActivityModel.REQUEST_INFO, 33283, base_type, vo.sub_type)
end
else
ErrorCodeShow(vo.result)
end
end
--登录通行证-补签
function KfActivityController:Handler33288( )
local vo = SCMD33288.New(true)
if vo.result == 1 then
Message.show("补签成功!")
local base_type = CustomActivityModel.CustomActBaseType.LOGIN_PASS
local result = self.model:PassActChangeRewardStatus(base_type,vo.sub_type,vo.grade,vo.reward_opty)
if not result then
--没有成功设置,那就请求
KfActivityModel:getInstance():Fire(KfActivityModel.REQUEST_INFO, 33283, base_type, vo.sub_type)
end
else
ErrorCodeShow(vo.result)
end
end
-- ########## 通行证-end ###########