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 ###########