源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1453 lines
53 KiB

  1. require("game.proto.225.Require225")
  2. require("game.proto.331.Require331")
  3. require("game.proto.332.Require332")
  4. require("game.proto.141.Require141")
  5. require("game.proto.336.Require336")
  6. require("game.operateActivity.OperateActivityModel")
  7. require("game.operateActivity.view.OperateActivityRewardTip")--奖池奖励界面
  8. require("game.operateActivity.view.OperateActivityRewardTipNew")--奖池奖励界面(不用itemCreator)
  9. require("game.operateActivity.view.OperateActivityRewardTitleItem")--奖池奖励的小标题
  10. --单笔充值
  11. require("game.operateActivity.view.singleDayRecharge.OpSingleRechargeSubView")
  12. --BOSS掉落
  13. require("game.operateActivity.view.actBossDrop.OpBossActDropSubView")
  14. require("game.operateActivity.view.actBossDrop.OpBossActDropSubItem")
  15. --多倍副本
  16. require("game.operateActivity.view.dunMul.OpDunMultipleDropView")
  17. require("game.operateActivity.view.dunMul.OpDunMultipleDropItem")
  18. --幸运转盘
  19. require("game.operateActivity.view.luckyTurnTable.LuckyTurnTableView")
  20. require("game.operateActivity.view.luckyTurnTable.LuckyTurnTableRecordItem")
  21. --集字掉落
  22. require("game.operateActivity.view.collectZi.OpCollectZiView")
  23. require("game.operateActivity.view.collectZi.OpCollectZiItem")
  24. require("game.operateActivity.view.collectZi.OpCollectZiAwardItem")
  25. --阶段兑换
  26. require("game.operateActivity.view.stageExchange.OpStageExchangeView")
  27. require("game.operateActivity.view.stageExchange.OpStageExchangeTabItem")
  28. require("game.operateActivity.view.stageExchange.OpStageExchangeItem")
  29. --冒险征途
  30. require("game.operateActivity.view.adventure.OpAdventureView")
  31. require("game.operateActivity.view.adventure.OpAdventureItem")
  32. require("game.operateActivity.view.adventure.OpAdventureRewardItem")
  33. -- 活跃拼图
  34. require("game.operateActivity.view.jigsaw.OpJigsawView")
  35. require("game.operateActivity.view.jigsaw.OpJigsawTaskItem")
  36. require("game.operateActivity.view.jigsaw.OpJigsawRewardItem")
  37. --黑白棋抽奖
  38. require("game.operateActivity.view.reversi.OpReversiView")
  39. require("game.operateActivity.view.reversi.OpReversiPlayItem")
  40. require("game.operateActivity.view.reversi.OpReversiAwardItem")
  41. require("game.operateActivity.view.reversi.OpReversiRefreshTip")
  42. --节日幻魔
  43. require("game.operateActivity.view.festivalBoss.OpFestivalBossView")
  44. require("game.operateActivity.view.festivalBoss.OpFestivalBossItem")
  45. require("game.operateActivity.view.festivalBoss.OpFestivalBossSceneView")
  46. require("game.operateActivity.view.festivalBoss.OpFestivalBossSceneItem")
  47. require("game.operateActivity.view.festivalBoss.OpFestivalBossRewardView")
  48. require("game.operateActivity.view.festivalBoss.OpFestivalBossRewardItem")
  49. --眼疾手快拼图
  50. require("game.operateActivity.view.amasingJigsaw.OpAmasingJigsawView")
  51. require("game.operateActivity.view.amasingJigsaw.OpAmasingJigsawItem")
  52. --三日作战
  53. require("game.operateActivity.view.threeFight.OpThreeFightView")
  54. require("game.operateActivity.view.threeFight.OpThreeFightTab")
  55. require("game.operateActivity.view.threeFight.OpThreeFightItem")
  56. require("game.operateActivity.view.threeFight.OpThreeFightAwardItem")
  57. --人参果树祈福活动
  58. require("game.operateActivity.view.prayTree.OpActivityPrayTreeView")
  59. --合成机
  60. require("game.operateActivity.view.composeRobot.OpComposeRobotView")
  61. require("game.operateActivity.view.composeRobot.OpComposeRobotFormulaItem")
  62. require("game.operateActivity.view.composeRobot.OpComposeRobotAnnounceItem")
  63. require("game.operateActivity.view.composeRobot.OpComposeRobotMaterialItem")
  64. require("game.operateActivity.view.composeRobot.OpComposeRobotUseMaterialItem")
  65. --超能大奖
  66. require("game.operateActivity.view.superAward.OpSuperAwardView")
  67. require("game.operateActivity.view.superAward.OpSuperAwardShowItem")
  68. require("game.operateActivity.view.superAward.OpSuperAwardProItem")
  69. require("game.operateActivity.view.superAward.OpSuperAwardShowView")--超能大奖奖励展示界面
  70. --材料上交
  71. require("game.operateActivity.view.materialSubmit.OpMaterialSubmitView")
  72. require("game.operateActivity.view.materialSubmit.OpMaterialSubmitAwardItem")
  73. require("game.operateActivity.view.materialSubmit.OpMaterialSubmitBuffAwardItem")
  74. require("game.operateActivity.view.materialSubmit.OpMaterialSubmitReqView")--材料上交钻石上交界面
  75. require("game.operateActivity.view.materialSubmit.OpMaterialSubmitBuffView")--材料上交BUFF界面
  76. --自选扭蛋
  77. require("game.operateActivity.view.selectEgg.OpSelectEggView")
  78. require("game.operateActivity.view.selectEgg.OpSelectEggRewardItem")
  79. require("game.operateActivity.view.selectEgg.OpSelectEggPreView")
  80. OperateActivityController = OperateActivityController or BaseClass(BaseController)
  81. OperateActivityController.Is_Debug = false
  82. function OperateActivityController:__init()
  83. OperateActivityController.Instance = self
  84. self.model = OperateActivityModel:getInstance()
  85. self.mainVo = RoleManager.Instance.mainRoleInfo
  86. self:RegisterAllProtocals()
  87. self:AddAllEvents()
  88. end
  89. function OperateActivityController:__delete()
  90. end
  91. function OperateActivityController:AddAllEvents()
  92. local function game_start_func()
  93. end
  94. GlobalEventSystem:Bind(EventName.GAME_START,game_start_func)
  95. -- local function CheckRedPoint( ... )
  96. -- end
  97. -- GlobalEventSystem:Bind(GoodsModel.CHANGE_BAGLIST,game_start_func)
  98. -- local function onUpdateRedInfo(base_type,sub_type)--更新红点
  99. -- for i,v in ipairs(OperateActivityView.TabData) do
  100. -- if base_type == v.base_type then
  101. -- self.model:IsNeedRed(v.id)
  102. -- break
  103. -- end
  104. -- end
  105. -- end
  106. -- CustomActivityModel:getInstance():Bind(CustomActivityModel.UPDATE_ACTIVITY_INFO,onUpdateRedInfo)
  107. local function change_day_func(type)
  108. if type == SettingModel.CHANGE_DAY.HOUR_0 then -- 跨0点
  109. local act_list = CustomActivityModel:getInstance():getAllActListByBaseType(CustomActivityModel.CustomActBaseType.COLLECT_ZI)
  110. for k,v in pairs(act_list) do
  111. CustomActivityModel:getInstance():Fire(CustomActivityModel.PROTO_CCMD_EVENT, 33104, v.base_type, v.sub_type)
  112. end
  113. end
  114. end
  115. GlobalEventSystem:Bind(EventName.CHANE_DAY, change_day_func)
  116. --请求协议
  117. local function onRequestProtocal(...)
  118. local args = {...}
  119. -- if OperateActivityController.Is_Debug then
  120. -- if args[1] == 33228 or args[1] == 33229 then
  121. -- local fun_name = string.format("Handler%s",args[1])
  122. -- if self[fun_name] then
  123. -- print('----in OperateActivityController.lua,line 96 request_idIs_Debug',args[1] , ...)
  124. -- self[fun_name](self,...)
  125. -- end
  126. -- return
  127. -- end
  128. -- end
  129. if args[1] == 33202 or args[1] == 33243 or args[1] == 33256
  130. or args[1] == 33264 or args[1] == 33270 or args[1] == 33272
  131. or args[1] == 33281 then
  132. self:SendFmtToGame(args[1], "hc", args[2],args[3])
  133. elseif args[1] == 33203 or args[1] == 33262 then
  134. self:SendFmtToGame(args[1], "hcc", args[2], args[3], args[4])
  135. elseif args[1] == 33244 or args[1] == 33246 or args[1] == 33247
  136. or args[1] == 33248 or args[1] == 33249 or args[1] == 33255
  137. or args[1] == 33257 or args[1] == 33258 or args[1] == 33260
  138. or args[1] == 33263 or args[1] == 33265 or args[1] == 33266
  139. or args[1] == 33267 or args[1] == 33268 or args[1] == 33269
  140. or args[1] == 33153 or args[1] == 33271 or args[1] == 33275
  141. or args[1] == 33278 or args[1] == 33280 or args[1] == 33282
  142. or args[1] == 33294 or args[1] == 33296 or args[1] == 33297
  143. or args[1] == 14100 or args[1] == 33602 or args[1] == 33603
  144. or args[1] == 33605 then
  145. self:SendFmtToGame(args[1], "h", args[2])
  146. elseif args[1] == 33600 then
  147. self:SendFmtToGame(args[1], "h", args[2])
  148. elseif args[1] == 33245 then
  149. self:SendFmtToGame(args[1], "hcc", args[2], args[3],args[4])
  150. elseif args[1] == 33261 then
  151. self:SendFmtToGame(args[1], "hchi", args[2], args[3],args[4],args[5])
  152. elseif args[1] == 33154 or args[1] == 33277 then
  153. self:SendFmtToGame(args[1], "hh", args[2], args[3])
  154. elseif args[1] == 33601 then
  155. self:SendFmtToGame(args[1], "hch", args[2], args[3], args[4])
  156. elseif args[1] == 33276 then--三日作战任务完成
  157. self:SendFmtToGame(args[1], "hhhh", args[2], args[3], args[4], args[5])
  158. elseif args[1] == 33273 then
  159. self:WriteBegin(33273)
  160. self:WriteFMT("h", args[2])
  161. local list = args[3]
  162. self:WriteFMT("h", #list)
  163. for i, v in ipairs(list) do
  164. self:WriteFMT("c",v.x)
  165. self:WriteFMT("c",v.y)
  166. end
  167. self:SendToGame()
  168. elseif args[1] == 33295 then
  169. self:WriteBegin(33295)
  170. self:WriteFMT("h", args[2])
  171. local list = args[3]
  172. self:WriteFMT("h", #list)
  173. for i, v in ipairs(list) do
  174. self:WriteFMT("i", v.goods_id)
  175. self:WriteFMT("i", v.num)
  176. end
  177. self:SendToGame()
  178. elseif args[1] == 33604 then
  179. self:WriteBegin(33604)
  180. self:WriteFMT("h", args[2])
  181. local list = args[3]
  182. self:WriteFMT("h", #list)
  183. for i, v in ipairs(list) do
  184. self:WriteFMT("h",v)
  185. end
  186. self:SendToGame()
  187. elseif args[1] == 33293 then
  188. self:SendFmtToGame(args[1], "hci", args[2], args[3], args[4])
  189. elseif args[1] == 33292 then
  190. self:SendFmtToGame(args[1], "hcil", args[2], args[3], args[4], args[5])
  191. elseif args[1] == 33299 then
  192. self:SendFmtToGame(args[1], "h", args[2])
  193. elseif args[1] == 14101 or args[1] == 14102 then
  194. self:SendFmtToGame(args[1], "hcc", args[2], args[3], args[4])
  195. else
  196. self:SendFmtToGame(args[1])
  197. end
  198. end
  199. self.model:Bind(OperateActivityModel.REQUEST_INFO, onRequestProtocal)
  200. local function init_open_day( ... )--开服天数初始化
  201. -- self.model:checkRuneIconBoolOpen()
  202. end
  203. GlobalEventSystem:Bind(EventName.OPEN_DAY_INIT,init_open_day)
  204. --升级
  205. local function onLevelUp(level)
  206. -- if Config.Modulesub["331@99"].open_lv == level then
  207. -- self.model:IsNeedRedAll()
  208. -- self.model:CheckIconBoolOpen()
  209. -- end
  210. if level == GetModuleOpenLevel(331,122) then--合成机
  211. local sub_type_list = CustomActivityModel:getInstance():getAllActListByBaseType(CustomActivityModel.CustomActBaseType.COMPOSE_ROBOT)
  212. for k,v in pairs(sub_type_list) do
  213. KfActivityModel:getInstance():IsNeedRed(KfActivityModel.TabID.ComposeRobot,nil,v.sub_type)
  214. end
  215. elseif level == GetModuleOpenLevel(331,125) then--自选扭蛋
  216. local sub_type_list = CustomActivityModel:getInstance():getAllActListByBaseType(CustomActivityModel.CustomActBaseType.SELECT_EGG)
  217. for k,v in pairs(sub_type_list) do
  218. KfActivityModel:getInstance():IsNeedRed(KfActivityModel.TabID.SelectEgg,nil,v.sub_type)
  219. end
  220. end
  221. end
  222. RoleManager.Instance.mainRoleInfo:Bind(EventName.CHANGE_LEVEL, onLevelUp)
  223. local function on_req_lucky_turn_table_info( ... )
  224. if self.model:IsLuckyTurnTableOpen() then
  225. self.model:RefreshLuckyTurnTableSCMD()
  226. end
  227. end
  228. RoleManager.Instance.mainRoleInfo:BindOne("jin",on_req_lucky_turn_table_info)
  229. -- local onOperateActivityView = function (id,is_close)--is_close关闭参数
  230. -- if id then
  231. -- local open_bool = self.model:CheckActivityIdOpen(id)--是否开启
  232. -- if not open_bool then
  233. -- Message.show("活动未开启","fault")
  234. -- return
  235. -- end
  236. -- end
  237. -- -- 检查一下是否需要展示宣传图 并展示
  238. -- AdvertisementModel:getInstance():CheckAndShowActivityAd( id )
  239. -- if self.OperateActivityView == nil then
  240. -- self.OperateActivityView = OperateActivityView.New()
  241. -- end
  242. -- if self.OperateActivityView:HasOpen() and not is_close then
  243. -- self.OperateActivityView:UpdateView(id)
  244. -- elseif not is_close then
  245. -- self.OperateActivityView:Open(id)
  246. -- else
  247. -- self.OperateActivityView:Close()
  248. -- end
  249. -- end
  250. -- GlobalEventSystem:Bind(OperateActivityModel.OPEN_ACTIVITY_BASE_VIEW, onOperateActivityView)
  251. local function SHOW_REWARD_TIP( data )
  252. if not data then return end
  253. if not self.operateactivityrewardtip then
  254. self.operateactivityrewardtip = OperateActivityRewardTip.New()
  255. end
  256. self.operateactivityrewardtip:Open(data)
  257. end
  258. GlobalEventSystem:Bind(OperateActivityModel.SHOW_REWARD_TIP, SHOW_REWARD_TIP)
  259. local function SHOW_REWARD_TIP_NEW( data )
  260. if not data then return end
  261. if not self.operateactivityrewardtipnew then
  262. self.operateactivityrewardtipnew = OperateActivityRewardTipNew.New()
  263. end
  264. self.operateactivityrewardtipnew:Open(data)
  265. end
  266. GlobalEventSystem:Bind(OperateActivityModel.SHOW_REWARD_TIP_NEW, SHOW_REWARD_TIP_NEW)
  267. local function OPEN_FESTIVAL_BOSS_REWARD_VIEW( )
  268. if not self.opfestivalbossrewardview then
  269. self.opfestivalbossrewardview = OpFestivalBossRewardView.New()
  270. self.opfestivalbossrewardview:Open()
  271. end
  272. end
  273. self.model:Bind(OperateActivityModel.OPEN_FESTIVAL_BOSS_REWARD_VIEW,OPEN_FESTIVAL_BOSS_REWARD_VIEW)
  274. local function OPEN_REFRESH_TIP( sub_type,isOn,toggle_call )
  275. if not self.opreversirefreshtip then
  276. self.opreversirefreshtip = OpReversiRefreshTip.New()
  277. self.opreversirefreshtip:Open(sub_type,isOn,toggle_call)
  278. end
  279. end
  280. self.model:Bind(OperateActivityModel.OPEN_REFRESH_TIP,OPEN_REFRESH_TIP)
  281. local onOpenOpSuperAwardShowView = function(show, data)
  282. if not data then
  283. self:OpenView("OpSuperAwardShowView", false, data)
  284. else
  285. self:OpenView("OpSuperAwardShowView", show, data)
  286. end
  287. end
  288. self.model:Bind(OperateActivityModel.OPEN_SUPER_AWARD_SHOW_VIEW, onOpenOpSuperAwardShowView)
  289. local onOpenOpMaterialSubmitReqView = function(show, sub_type)--材料提交彩钻提交界面
  290. if not sub_type then
  291. self:OpenView("OpMaterialSubmitReqView", false, sub_type)
  292. else
  293. self:OpenView("OpMaterialSubmitReqView", show, sub_type)
  294. end
  295. end
  296. self.model:Bind(OperateActivityModel.OPEN_MATERIALSUBMIT_REQ_VIEW, onOpenOpMaterialSubmitReqView)
  297. local onOpenOpMaterialSubmitBuffView = function (data)--材料提交BUFF界面
  298. if not data then return end
  299. if self.OpMaterialSubmitBuffView == nil then
  300. self.OpMaterialSubmitBuffView = OpMaterialSubmitBuffView.New(data.is_outside)
  301. end
  302. if self.OpMaterialSubmitBuffView:HasOpen() then
  303. else
  304. self.OpMaterialSubmitBuffView:Open(data)
  305. end
  306. end
  307. self.model:Bind(OperateActivityModel.OPEN_MATERIAL_SUBMIT_BUFF_VIEW, onOpenOpMaterialSubmitBuffView)
  308. local function open_select_egg_preview(sub_type)
  309. if self.select_egg_preview == nil then
  310. self.select_egg_preview = OpSelectEggPreView.New()
  311. end
  312. self.select_egg_preview:Open(sub_type)
  313. end
  314. self.model:Bind(OperateActivityModel.OPEN_SELECT_EGG_PREVIEW,open_select_egg_preview)
  315. end
  316. --更新集字
  317. function OperateActivityController:OnCollectZiUpdate( )
  318. local function delay_fun( ... )
  319. local act_list = CustomActivityModel:getInstance():getAllActListByBaseType(CustomActivityModel.CustomActBaseType.COLLECT_ZI)
  320. for k,v in pairs(act_list) do
  321. KfActivityModel:getInstance():IsNeedRed(KfActivityModel.TabID.CollectZi,nil,v.sub_type)
  322. end
  323. end
  324. TimeManager.GetInstance():StartTime("SOnCollectZiUpdate",0.35,delay_fun)
  325. end
  326. --更新材料提交
  327. function OperateActivityController:onMaterialSubmitUpdate( )
  328. local function delay_fun( ... )
  329. local act_list = CustomActivityModel:getInstance():getAllActListByBaseType(CustomActivityModel.CustomActBaseType.MATERIAL_SUBMIT)
  330. for k,v in pairs(act_list) do
  331. KfActivityModel:getInstance():IsNeedRed(KfActivityModel.TabID.MaterialSubmit,nil,v.sub_type)
  332. end
  333. end
  334. TimeManager.GetInstance():StartTime("onMaterialSubmitUpdate",0.35,delay_fun)
  335. end
  336. function OperateActivityController:RegisterAllProtocals()
  337. self:RegisterProtocal(33153,"Handler33153") --拼图活动信息
  338. self:RegisterProtocal(33154,"Handler33154") --拼图活动领取
  339. self:RegisterProtocal(33202,"Handler33202") --幸运转盘界面
  340. self:RegisterProtocal(33203,"Handler33203") --使用幸运转盘
  341. self:RegisterProtocal(33243,"Handler33243") --幸运轮盘-记录展示
  342. self:RegisterProtocal(33244,"Handler33244") --刮刮卡-刮卡信息
  343. self:RegisterProtocal(33245,"Handler33245") --刮刮卡-刮卡
  344. self:RegisterProtocal(33246,"Handler33246") --刮刮卡-抽奖信息
  345. self:RegisterProtocal(33247,"Handler33247") --刮刮卡-抽奖
  346. self:RegisterProtocal(33248,"Handler33248") --刮刮卡-刷新刮刮卡
  347. self:RegisterProtocal(33249,"Handler33249") --刮刮卡-推送刮卡大奖传闻
  348. self:RegisterProtocal(33255,"Handler33255") --塔罗牌信息
  349. self:RegisterProtocal(33256,"Handler33256") --翻塔罗牌
  350. self:RegisterProtocal(33257,"Handler33257") --刷新塔罗牌
  351. self:RegisterProtocal(33258,"Handler33258") --塔罗牌日志
  352. self:RegisterProtocal(33259,"Handler33259") --塔罗牌日志变动推送
  353. self:RegisterProtocal(33260,"Handler33260") --阶段兑换商城信息
  354. self:RegisterProtocal(33261,"Handler33261") --阶段兑换商城兑换
  355. self:RegisterProtocal(33262,"Handler33262") --阶段兑换商城阶段开启奖励
  356. self:RegisterProtocal(33263,"Handler33263") --冒险征途-任务信息
  357. self:RegisterProtocal(33264,"Handler33264") --冒险征途-觅宝
  358. self:RegisterProtocal(33265,"Handler33265") --冒险征途-嗨点信息
  359. self:RegisterProtocal(33266,"Handler33266") --黑白棋-总奖池信息
  360. self:RegisterProtocal(33267,"Handler33267") --黑白棋-抽奖
  361. self:RegisterProtocal(33268,"Handler33268") --黑白棋-奖池棋盘状态信息
  362. self:RegisterProtocal(33269,"Handler33269") --黑白棋-当前奖池奖励列表
  363. self:RegisterProtocal(33270,"Handler33270") --黑白棋-刷新奖池
  364. self:RegisterProtocal(33271,"Handler33271") --眼疾手快-查看基础信息
  365. self:RegisterProtocal(33272,"Handler33272") --眼疾手快-拼图信息/开始拼图
  366. self:RegisterProtocal(33273,"Handler33273") --眼疾手快-替换图片
  367. self:RegisterProtocal(33274,"Handler33274") --眼疾手快-结算&奖励信息
  368. self:RegisterProtocal(33278,"Handler33278") --眼疾手快-奖励信息
  369. self:RegisterProtocal(33279,"Handler33279") --眼疾手快-推送开始
  370. self:RegisterProtocal(33275,"Handler33275") --三日作战-查询单个三日作战
  371. self:RegisterProtocal(33276,"Handler33276") --三日作战-三日作战任务完成
  372. self:RegisterProtocal(33277,"Handler33277") --三日作战-三日作战物资购买
  373. self:RegisterProtocal(33280,"Handler33280") --抽奖树-基本信息
  374. self:RegisterProtocal(33281,"Handler33281") --抽奖树-抽奖
  375. self:RegisterProtocal(33282,"Handler33282") --抽奖树-领取积分奖励
  376. self:RegisterProtocal(33292,"Handler33292") --合成机-提问&反馈判断
  377. self:RegisterProtocal(33293,"Handler33293") --合成机-收藏
  378. self:RegisterProtocal(33294,"Handler33294") --合成机-查看我的收藏
  379. self:RegisterProtocal(33295,"Handler33295") --合成机-合成
  380. self:RegisterProtocal(33296,"Handler33296") --合成机-配方列表
  381. self:RegisterProtocal(33297,"Handler33297") --合成机-查看发明家
  382. self:RegisterProtocal(33298,"Handler33298") --合成机-发明家新增推送
  383. self:RegisterProtocal(33299,"Handler33299") --合成机-询问cd
  384. self:RegisterProtocal(14100,"Handler14100") --材料提交-面板信息
  385. self:RegisterProtocal(14101,"Handler14101") --材料提交-材料提交
  386. self:RegisterProtocal(14102,"Handler14102") --材料提交-领取
  387. self:RegisterProtocal(14103,"Handler14103") --材料提交-主推进度
  388. self:RegisterProtocal(14104,"Handler14104") --材料提交-主推dot buff
  389. self:RegisterProtocal(14105,"Handler14105") --材料提交-个人单个buff次数更新
  390. self:RegisterProtocal(33600,"Handler33600") --自选扭蛋-奖励信息
  391. self:RegisterProtocal(33601,"Handler33601") --自选扭蛋-选择奖励
  392. self:RegisterProtocal(33602,"Handler33602") --自选扭蛋-重置奖励
  393. self:RegisterProtocal(33603,"Handler33603") --自选扭蛋-抽奖
  394. self:RegisterProtocal(33604,"Handler33604") --自选扭蛋-快速选奖励
  395. self:RegisterProtocal(33605,"Handler33605") --自选扭蛋-确认奖励
  396. end
  397. function OperateActivityController:Handler33153( )
  398. local vo = SCMD33153.New(true)
  399. self.model:SetJigsawEventData(vo)
  400. KfActivityModel:getInstance():IsNeedRed(KfActivityModel.TabID.Jigsaw, nil, vo.sub_type)
  401. self.model:Fire(OperateActivityModel.UPDATE_GIDSAW_EVENT_DATA, vo.sub_type)
  402. end
  403. function OperateActivityController:Handler33154( )
  404. local vo = SCMD33154.New(true)
  405. if vo.res == 1 then
  406. self.model:UpdateJigsawGradeData(vo)
  407. KfActivityModel:getInstance():IsNeedRed(KfActivityModel.TabID.Jigsaw, nil, vo.sub_type)
  408. self.model:Fire(OperateActivityModel.UPDATE_GIDSAW_EVENT_DATA, vo.sub_type)
  409. else
  410. ErrorCodeShow(vo.res)
  411. end
  412. end
  413. -- ########### 幸运转盘界面 ##############
  414. -- protocol=33202
  415. -- {
  416. -- c2s{
  417. -- sub_type:int16 // 活动子类型
  418. -- turn_type:int8 // 1第一档转盘|2第二档转盘
  419. -- }
  420. -- s2c{
  421. -- sub_type:int16 // 活动子类型
  422. -- turn_type:int8 // 1第一档转盘|2第二档转盘
  423. -- times:int8 // 当前档转盘已获得次数
  424. -- use_times:int16 // 领取次数
  425. -- total_recharge:int32 // 当前充值数量(彩钻)
  426. -- need_recharge:int32 // 获得新次数还需再充值彩钻数
  427. -- total_consume:int32 // 当前消费数量(彩钻)
  428. -- need_consume:int32 // 获得新次数还需再消费彩钻数
  429. -- }
  430. -- }
  431. function OperateActivityController:Handler33202( )
  432. local scmd = SCMD33202.New(true)
  433. -- print("HWR:OperateActivityController [start:147] scmd:", scmd)
  434. -- PrintTable(scmd)
  435. -- print("HWR:OperateActivityController [end]")
  436. self.model:SetLuckyTurnTableBaseInfo(scmd.sub_type, scmd.turn_type, scmd)
  437. KfActivityModel:getInstance():IsNeedRed(KfActivityModel.TabID.LuckyTurntable,nil,scmd.sub_type)
  438. end
  439. -- ########### 使用幸运转盘 ##############
  440. -- protocol=33203
  441. -- {
  442. -- c2s{
  443. -- sub_type:int16 // 活动子类型
  444. -- turn_type:int8 // 1第一档转盘|2第二档转盘
  445. -- }
  446. -- s2c{
  447. -- sub_type:int16 // 活动子类型
  448. -- turn_type:int8 // 1第一档转盘|2第二档转盘
  449. -- result:int32 // 结果码
  450. -- grade:int16 // 奖励id
  451. -- reward:arr_object_list // 奖励内容
  452. -- }
  453. -- }
  454. function OperateActivityController:Handler33203( )
  455. local scmd = SCMD33203.New(true)
  456. -- print("HWR:OperateActivityController [start:170] scmd:", scmd)
  457. -- PrintTable(scmd)
  458. -- print("HWR:OperateActivityController [end]")
  459. if scmd.result == 1 then
  460. self.model:Fire(OperateActivityModel.REQUEST_INFO, 33202, scmd.sub_type, scmd.turn_type)
  461. self.model:Fire(OperateActivityModel.REQUEST_INFO, 33243, scmd.sub_type, scmd.turn_type)
  462. self.model:Fire(OperateActivityModel.START_LUCKY_TURN_ACTION, scmd.sub_type, scmd.turn_type, scmd.grade, scmd.reward)
  463. else
  464. ErrorCodeShow(scmd.result)
  465. end
  466. end
  467. -- ################ 幸运轮盘-记录展示 #################
  468. -- protocol=33243{
  469. -- c2s{
  470. -- sub_type :int16 // 活动子类
  471. -- turn_type :int8 // 1第一档|2第二档
  472. -- }
  473. -- s2c{
  474. -- sub_type :int16 // 活动子类
  475. -- turn_type :int8 //
  476. -- record_list:array{
  477. -- role_id:int64 // 玩家id
  478. -- role_name:string // 玩家名
  479. -- goods_id:int64 // 物品id
  480. -- goods_num:int32 // 物品数量
  481. -- }
  482. -- }
  483. -- }
  484. function OperateActivityController:Handler33243( )
  485. local scmd = SCMD33243.New(true)
  486. -- print("HWR:OperateActivityController [start:210] scmd:", scmd)
  487. -- PrintTable(scmd)
  488. -- print("HWR:OperateActivityController [end]")
  489. self.model:SetLuckyTurenTableRecordInfo(scmd.sub_type,scmd.turn_type,scmd)
  490. end
  491. -- ################ 刮刮卡-刮卡信息 #################
  492. function OperateActivityController:Handler33244( )
  493. local scmd = SCMD33244.New(true)
  494. PrintTable(scmd)
  495. self.model:SetScrapingCardBaseInfo(scmd)
  496. end
  497. -- ################ 刮刮卡-刮卡 #################
  498. function OperateActivityController:Handler33245( )
  499. local scmd = SCMD33245.New(true)
  500. PrintTable(scmd)
  501. if scmd.res == 1 then
  502. self.model:SaveScrapingCardBaseDrawResult(scmd)
  503. else
  504. ErrorCodeShow( scmd.res)
  505. end
  506. end
  507. -- ################ 刮刮卡-抽奖信息 #################
  508. function OperateActivityController:Handler33246( )
  509. local scmd = SCMD33246.New(true)
  510. PrintTable(scmd)
  511. self.model:SetScrapingCardScoreInfo(scmd)
  512. end
  513. -- ################ 刮刮卡-抽奖 #################
  514. function OperateActivityController:Handler33247( )
  515. local scmd = SCMD33247.New(true)
  516. PrintTable(scmd)
  517. if scmd.res == 1 then
  518. self.model:SaveScrapingCardScoreDrawResult(scmd)
  519. else
  520. ErrorCodeShow( scmd.res)
  521. end
  522. end
  523. --################ 刮刮卡-刷新刮刮卡 #################
  524. function OperateActivityController:Handler33248( )
  525. local scmd = SCMD33248.New(true)
  526. if scmd.res == 1 then
  527. self.model:RefreshScrapingCardBaseDraw()
  528. else
  529. ErrorCodeShow( scmd.res)
  530. end
  531. end
  532. --################ 刮刮卡-推送刮卡大奖传闻 #################
  533. function OperateActivityController:Handler33249( )
  534. local scmd = SCMD33249.New(true)
  535. PrintTable(scmd)
  536. CustomActivityModel:getInstance():SetGoodsCanFly(true)
  537. self.model:ScrapingCardShowRewardTips(scmd)
  538. end
  539. --################ 塔罗牌信息 #################
  540. function OperateActivityController:Handler33255( )
  541. local scmd = SCMD33255.New(true)
  542. PrintTable(scmd)
  543. self.model:SetTarotBaseInfo(scmd)
  544. end
  545. --################ 翻塔罗牌 #################
  546. function OperateActivityController:Handler33256( )
  547. local scmd = SCMD33256.New(true)
  548. PrintTable(scmd)
  549. if scmd.errcode == 1 then
  550. self.model:UpdateTarorDrag(scmd)
  551. else
  552. ErrorCodeShow( scmd.errcode)
  553. end
  554. end
  555. --################ 刷新塔罗牌 #################
  556. function OperateActivityController:Handler33257( )
  557. local scmd = SCMD33257.New(true)
  558. PrintTable(scmd)
  559. if scmd.errcode == 1 then
  560. self.model:SetTarotResetFlag(true)
  561. self.model:UpdateTarorRefresh(scmd)
  562. else
  563. ErrorCodeShow( scmd.errcode)
  564. end
  565. end
  566. --################ 塔罗牌日志 #################
  567. function OperateActivityController:Handler33258( )
  568. local scmd = SCMD33258.New(true)
  569. self.model:SetTarotRecordInfo(scmd)
  570. end
  571. --################ 塔罗牌日志变动推送 #################
  572. function OperateActivityController:Handler33259( )
  573. local scmd = SCMD33259.New(true)
  574. PrintTable(scmd)
  575. self.model:SetTarotRecordInfoAdd(scmd)
  576. end
  577. --################ 阶段兑换商城信息 #################
  578. function OperateActivityController:Handler33260( )
  579. local scmd = SCMD33260.New(true)
  580. self.model:SetStageExchangeInfo(scmd)
  581. self.model:Fire(OperateActivityModel.STAGE_EXCHANGE_BASE_UPDATE, scmd.sub_type)
  582. KfActivityModel:getInstance():IsNeedRed(KfActivityModel.TabID.StageExchange,nil,scmd.sub_type)
  583. end
  584. --################ 阶段兑换兑换物品 #################
  585. function OperateActivityController:Handler33261( )
  586. local scmd = SCMD33261.New(true)
  587. if scmd.res == 1 then
  588. self.model:SetStageExchangeInfo(nil,scmd)
  589. self.model:Fire(OperateActivityModel.STAGE_EXCHANGE_BASE_UPDATE, scmd.sub_type,scmd.phase)
  590. KfActivityModel:getInstance():IsNeedRed(KfActivityModel.TabID.StageExchange,nil,scmd.sub_type)
  591. else
  592. ErrorCodeShow(scmd.res)
  593. end
  594. end
  595. --################ 阶段兑换阶段开启奖励 #################
  596. function OperateActivityController:Handler33262( )
  597. local scmd = SCMD33262.New(true)
  598. if scmd.res == 1 then
  599. if scmd.option == 1 then
  600. self.model:Fire(OperateActivityModel.STAGE_EXCHANGE_REWARD_UPDATE, scmd)
  601. else
  602. self.model:Fire(OperateActivityModel.REQUEST_INFO, 33260, scmd.sub_type)
  603. end
  604. else
  605. if scmd.option == 1 then
  606. --查不到就算了
  607. else
  608. --领取失败要飘错误码
  609. ErrorCodeShow(scmd.res)
  610. end
  611. end
  612. end
  613. --################ 冒险征途-任务信息 #################
  614. function OperateActivityController:Handler33263( )
  615. local scmd = SCMD33263.New(true)
  616. if scmd.result == 1 then
  617. self.model:SetAdventureNumInfo(scmd)
  618. self.model:Fire(OperateActivityModel.ADVENTURE_BASE_UPDATE,scmd.sub_type)
  619. else
  620. ErrorCodeShow(scmd.result)
  621. end
  622. end
  623. --################ 冒险征途-觅宝 #################
  624. function OperateActivityController:Handler33264( )
  625. local scmd = SCMD33264.New(true)
  626. if scmd.result == 1 then
  627. local data = self.model:GetAdventureNumInfo(scmd.sub_type)
  628. if data then
  629. data.score = scmd.score
  630. data.progress = scmd.progress
  631. self.model:Fire(OperateActivityModel.ADVENTURE_BASE_UPDATE,scmd.sub_type)
  632. -------------------------
  633. local data = {award = {},time_des = string.format( "远征进度 +%d", scmd.add_progress )}
  634. for k,v in ipairs(scmd.reward_list) do
  635. table.insert( data.award, {100,v.goods_id,v.goods_num} )
  636. end
  637. GiftModel:getInstance():Fire(GiftModel.OPEN_SHOW_ACT_GOODS_VIEW, data.award)
  638. -- GlobalEventSystem:Fire(EventName.OPEN_COM_AWARD_RESULT_VIEW,data)
  639. --抽奖完是单独处理的数据,要更新下红点
  640. KfActivityModel:getInstance():IsNeedRed(KfActivityModel.TabID.Adventure,nil,scmd.sub_type)
  641. else
  642. self.model:Fire(OperateActivityModel.REQUEST_INFO, 33263, scmd.sub_type)
  643. end
  644. else
  645. ErrorCodeShow(scmd.result)
  646. end
  647. end
  648. --################ 冒险征途-嗨点信息 #################
  649. function OperateActivityController:Handler33265( )
  650. local scmd = SCMD33265.New(true)
  651. if scmd.result == 1 then
  652. self.model:SetAdventureTaskInfo(scmd)
  653. self.model:Fire(OperateActivityModel.ADVENTURE_BASE_UPDATE,scmd.sub_type)
  654. else
  655. ErrorCodeShow(scmd.result)
  656. end
  657. end
  658. --################ 黑白棋-总奖池信息 #################
  659. function OperateActivityController:Handler33266( )
  660. local scmd = SCMD33266.New(true)
  661. if scmd.result == 1 then
  662. self.model:SetReversiInfo(scmd)
  663. self.model:Fire(OperateActivityModel.REVERSI_BASE_UPDATE,scmd.sub_type)
  664. else
  665. print('----LZR OperateActivityController.lua 467-- scmd.result=',scmd.result)
  666. end
  667. end
  668. --################ 黑白棋-抽奖 #################
  669. function OperateActivityController:Handler33267( )
  670. local scmd = SCMD33267.New(true)
  671. if scmd.result == 1 then
  672. Message.show("抽奖成功~")
  673. local data = self.model:GetReversiInfo( scmd.sub_type )
  674. if data then
  675. data.score = scmd.score
  676. data.free_times = scmd.free_times
  677. data.cost = scmd.cost
  678. end
  679. self.model:Fire(OperateActivityModel.REVERSI_BASE_UPDATE,scmd.sub_type,true)
  680. -------------------------
  681. --保存一下本次抽奖的信息,用来做动画
  682. self.model.reversi_show_animation_data = scmd.reward_list
  683. OperateActivityModel:getInstance():Fire(OperateActivityModel.REQUEST_INFO, 33268, scmd.sub_type)
  684. -------------------------
  685. local data = {award = {},time_des = nil,title_res = "com_award_result_view_new_title2"}
  686. for k,v in ipairs(scmd.reward_list) do
  687. if v.is_lucky == 1 then
  688. table.insert( data.award, {100,v.goods_id,v.goods_num} )
  689. end
  690. end
  691. if TableSize(data.award) > 0 then
  692. -- GlobalEventSystem:Fire(EventName.OPEN_COM_AWARD_RESULT_VIEW,data)
  693. GiftModel:getInstance():Fire(GiftModel.OPEN_SHOW_ACT_GOODS_VIEW, data.award)
  694. end
  695. -------------------------
  696. else
  697. ErrorCodeShow(scmd.result)
  698. end
  699. end
  700. --################ 黑白棋-奖池棋盘状态信息 #################
  701. function OperateActivityController:Handler33268( )
  702. local scmd = SCMD33268.New(true)
  703. print("huangcong:OperateActivityController [start:722] scmd.free_times:", scmd.free_times)
  704. if scmd.result == 1 then
  705. self.model:SetReversiCurInfo(scmd)
  706. -------------------------
  707. self.model:Fire(OperateActivityModel.REVERSI_CUR_STATUS_UPDATE,scmd.sub_type)
  708. else
  709. -- ErrorCodeShow(scmd.result)
  710. end
  711. end
  712. --################ 黑白棋-当前奖池奖励列表 #################
  713. function OperateActivityController:Handler33269( )
  714. local scmd = SCMD33269.New(true)
  715. if scmd.result == 1 then
  716. local temp = false
  717. for k,v in pairs(scmd.reward_list) do
  718. temp = GoodsModel:getInstance():GetGoodsBasicByTypeId( v.goods_id )
  719. v.color = temp and temp.color or 1
  720. end
  721. -------------------------
  722. self.model:SetReversiCurPoolInfo(scmd)
  723. self.model:Fire(OperateActivityModel.REVERSI_CUR_REWARD_UPDATE,scmd.sub_type)
  724. else
  725. -- ErrorCodeShow(scmd.result)
  726. end
  727. end
  728. --################ 黑白棋-当前奖池奖励列表 #################
  729. function OperateActivityController:Handler33270( )
  730. local scmd = SCMD33270.New(true)
  731. if scmd.result == 1 then
  732. Message.show("刷新成功~")
  733. local data = self.model:GetReversiCurPoolInfo( scmd.sub_type )
  734. if data then
  735. local temp = false
  736. for k,v in pairs(scmd.reward_list) do
  737. temp = GoodsModel:getInstance():GetGoodsBasicByTypeId( v.goods_id )
  738. v.color = temp and temp.color or 1
  739. end
  740. -------------------------
  741. data.score = scmd.score
  742. data.reward_list = scmd.reward_list
  743. self.model:Fire(OperateActivityModel.REVERSI_CUR_REWARD_UPDATE,scmd.sub_type)
  744. else
  745. OperateActivityModel:getInstance():Fire(OperateActivityModel.REQUEST_INFO, 33269, scmd.sub_type)
  746. end
  747. -------------------------
  748. OperateActivityModel:getInstance():Fire(OperateActivityModel.REQUEST_INFO, 33268, scmd.sub_type)
  749. --执行黑白棋界面刷新动画
  750. lua_soundM:PlayEffect(self, "reversi",false,LuaSoundManager.SOUND_TYPE.UI)
  751. self.model:Fire(OperateActivityModel.DO_REFRESH_ANIM,scmd.sub_type)
  752. else
  753. ErrorCodeShow(scmd.result)
  754. end
  755. end
  756. --################ 眼疾手快-查看基础信息 #################
  757. function OperateActivityController:Handler33271( )
  758. local scmd = SCMD33271.New(true)
  759. PrintTable(scmd)
  760. self.model:SetAmasingJipSawBaseInfo(scmd)
  761. end
  762. --################ 眼疾手快-拼图信息/开始拼图 #################
  763. function OperateActivityController:Handler33272( )
  764. local scmd = SCMD33272.New(true)
  765. PrintTable(scmd)
  766. self.model:SetAmasingJipSawGameInfo(scmd)
  767. end
  768. --################ 眼疾手快-替换图片 #################
  769. function OperateActivityController:Handler33273( )
  770. local scmd = SCMD33273.New(true)
  771. end
  772. --################ 眼疾手快-结算&奖励信息 #################
  773. function OperateActivityController:Handler33274( )
  774. local scmd = SCMD33274.New(true)
  775. PrintTable(scmd)
  776. self.model:SetAmasingJipSawReward(scmd)
  777. if scmd.res == 1 then
  778. if #scmd.reward_list > 0 then
  779. Message.show("恭喜您通关,将会随机获得3份奖励!")
  780. else
  781. Message.show("恭喜您通过本关!")
  782. end
  783. else
  784. Message.show("很遗憾,游戏超时了,将会随机获得1份奖励!")
  785. end
  786. if #scmd.reward_list > 0 then
  787. local new_award_list = {}
  788. for n,l in ipairs(scmd.reward_list) do
  789. new_award_list[#new_award_list + 1] = {l.goods_type_id, l.goods_id, l.num}
  790. end
  791. local data = {}
  792. data.award = new_award_list
  793. -- GlobalEventSystem:Fire(EventName.OPEN_COM_AWARD_RESULT_VIEW, data)
  794. GiftModel:getInstance():Fire(GiftModel.OPEN_SHOW_ACT_GOODS_VIEW, data.award)
  795. end
  796. self.model:Fire(OperateActivityModel.AMASING_JIPSAW_UPDATE_REWARD, scmd.res, #scmd.reward_list > 0)
  797. end
  798. --################ 眼疾手快-奖励信息 #################
  799. function OperateActivityController:Handler33278( )
  800. local scmd = SCMD33278.New(true)
  801. self.model:SetAmasingJipSawShowReward(scmd)
  802. end
  803. --################ 眼疾手快-推送开始 #################
  804. function OperateActivityController:Handler33279( )
  805. local scmd = SCMD33279.New(true)
  806. self.model:AmasingJipSawGameStart(scmd)
  807. end
  808. -- ########## 查询单个三日作战 ###########
  809. -- protocol=33275
  810. -- {
  811. -- c2s{
  812. -- sub_type :int16 // 活动子类型
  813. -- }
  814. -- s2c{
  815. -- sub_type :int16 // 活动子类型
  816. -- list:array{// 每日任务状态列表
  817. -- day :int16 // 第几天
  818. -- buy_times :int16 // 购买次数
  819. -- task_list:array{// 任务列表
  820. -- task_type :int16 // 任务类型id
  821. -- id :int16 // 任务id
  822. -- pro_num :int32 // 当前任务进度
  823. -- state :int8 // 0:未完成 1:可领取 2:已完成
  824. -- }
  825. -- }
  826. -- }
  827. -- }
  828. function OperateActivityController:Handler33275()
  829. local scmd = {}
  830. if not OperateActivityController.Is_Debug then
  831. scmd = SCMD33275.New(true)
  832. else
  833. scmd = {
  834. base_type = CustomActivityModel.CustomActBaseType.CAT_GOD_LUCKY,
  835. sub_type = 1,
  836. }
  837. local list = {}
  838. for i=1,5 do
  839. local data = {
  840. day = i,
  841. buy_times = i,
  842. }
  843. local task_list = {}
  844. for k=1,4 do
  845. local task_data = {
  846. task_type = k,
  847. id = 1,
  848. pro_num = 5,
  849. state = 1,
  850. }
  851. task_list[#task_list + 1] = task_data
  852. end
  853. data.task_list = task_list
  854. list[#list + 1] = data
  855. end
  856. scmd.list = list
  857. end
  858. -- print("huangcong:OperateActivityController [393]: ",scmd)
  859. -- PrintTable(scmd)
  860. self.model:SetThreeFightViewInfoOne(scmd)
  861. end
  862. -- ########## 三日作战任务完成 ###########
  863. -- protocol=33276
  864. -- {
  865. -- c2s{
  866. -- sub_type :int16 // 活动子类型
  867. -- day :int16 // 第几天
  868. -- task_type :int16 // 任务类型id
  869. -- id :int16 // 任务id
  870. -- }
  871. -- s2c{
  872. -- sub_type :int16 // 活动子类型
  873. -- res :int32 // 返回码(1即成功否则返回错误码)
  874. -- }
  875. -- }
  876. function OperateActivityController:Handler33276()
  877. local scmd = {}
  878. if not OperateActivityController.Is_Debug then
  879. scmd = SCMD33276.New(true)
  880. else
  881. scmd = {
  882. res = 1,
  883. base_type = CustomActivityModel.CustomActBaseType.CAT_GOD_LUCKY,
  884. sub_type = 1,
  885. }
  886. end
  887. -- print("huangcong:OperateActivityController [130]: ",scmd)
  888. -- PrintTable(scmd)
  889. if scmd.res == 1 then
  890. Message.show("领取成功")
  891. self.model:Fire(OperateActivityModel.REQUEST_INFO,33275,scmd.sub_type)
  892. else
  893. ErrorCodeShow(scmd.res)
  894. end
  895. end
  896. -- ########## 三日作战物资购买 ###########
  897. -- protocol=33277
  898. -- {
  899. -- c2s{
  900. -- sub_type :int16 // 活动子类型
  901. -- day :int16 // 第几天
  902. -- }
  903. -- s2c{
  904. -- sub_type :int16 // 活动子类型
  905. -- res :int32 // 返回码(1即成功否则返回错误码)
  906. -- day :int16 // 第几天
  907. -- buy_times :int16 // 购买次数
  908. -- award_list:array{ // 展示奖励列表
  909. -- goods_kind :int8 // 奖励类型
  910. -- goods_id :int32 // 物品类型Id
  911. -- goods_num :int16 // 数量
  912. -- }
  913. -- }
  914. -- }
  915. function OperateActivityController:Handler33277()
  916. local scmd = {}
  917. if not OperateActivityController.Is_Debug then
  918. scmd = SCMD33277.New(true)
  919. else
  920. scmd = {
  921. res = 1,
  922. base_type = CustomActivityModel.CustomActBaseType.CAT_GOD_LUCKY,
  923. sub_type = 1,
  924. goods_kind = 0,
  925. day = 1,
  926. buy_times = 1,
  927. }
  928. scmd.award_list = {}
  929. for i=1,5 do
  930. local data = {
  931. goods_kind = 1,
  932. goods_id = 110011+1,
  933. goods_num = i*50,
  934. }
  935. scmd.award_list[#scmd.award_list + 1] = data
  936. end
  937. end
  938. -- print("huangcong:OperateActivityController [130]: ",scmd)
  939. -- PrintTable(scmd)
  940. if scmd.res == 1 then
  941. Message.show("购买成功","success")
  942. local new_award_list = {}
  943. for n,l in ipairs(scmd.award_list) do
  944. new_award_list[#new_award_list + 1] = {l.goods_kind, l.goods_id, l.goods_num}
  945. end
  946. local data = {}
  947. data.award = new_award_list
  948. GlobalEventSystem:Fire(EventName.OPEN_COM_AWARD_RESULT_VIEW, data)
  949. -- print("huangcong:HellSealController [497]: ",vo)
  950. -- PrintTable(show_data)
  951. self.model:Fire(OperateActivityModel.REQUEST_INFO,33275,scmd.sub_type)
  952. else
  953. ErrorCodeShow(scmd.res)
  954. end
  955. end
  956. --################ 抽奖树-基本信息 #################
  957. function OperateActivityController:Handler33280( )
  958. local scmd = SCMD33280.New(true)
  959. PrintTable(scmd)
  960. self.model:SetPrayTreeBaseInfo(scmd)
  961. end
  962. --################ 抽奖树-抽奖 #################
  963. function OperateActivityController:Handler33281( )
  964. local scmd = SCMD33281.New(true)
  965. PrintTable(scmd)
  966. if scmd.res == 1 then
  967. self.model:SetPrayTreeDrawnfo(scmd)
  968. else
  969. ErrorCodeShow(scmd.res)
  970. self:Fire(OperateActivityModel.PRAY_TREE_DRAW)
  971. end
  972. end
  973. --################ 抽奖树-领取积分奖励 #################
  974. function OperateActivityController:Handler33282( )
  975. local scmd = SCMD33282.New(true)
  976. PrintTable(scmd)
  977. if scmd.res == 1 then
  978. self.model:SetPrayTreeRewardInfo(scmd)
  979. else
  980. ErrorCodeShow(scmd.res)
  981. self.model:Fire(OperateActivityModel.PRAY_TREE_GET_REWARD)
  982. end
  983. end
  984. --------------------合成机-----------------start
  985. -- ################ 合成机-提问&反馈判断 #################
  986. function OperateActivityController:Handler33292( )
  987. local vo = SCMD33292.New(true)
  988. if vo.errcode == 1 then
  989. if vo.type == 0 then--可以进行提问
  990. local formula_cfg = OperateActivityModel:getInstance():GetComposeRobotFormulaCfgById(vo.sub_type, vo.id)
  991. if not formula_cfg then return end
  992. local formula_name = Trim(formula_cfg.name)
  993. local herf_copntent = string.format("<a@compose@%s@%s@%s><color=#2cf89a>[去告诉他]</color></a>",vo.sub_type, vo.id, vo.role_id)
  994. local content = string.format("麻烦有人能告诉我<color=#fec940>%s</color>的合成方式是什么吗? %s", formula_name, herf_copntent)
  995. ChatModel:getInstance():Fire(ChatModel.SEND_MSG,ChatModel.CHANNEL_WORLD,content,nil,nil,ChatModel.CHAT_COMMON_TYPE.SYSTEM)
  996. Message.show("已将询问发送至世界聊天!","success")
  997. elseif vo.type == 1 then--可以进行回答
  998. local material_list = OperateActivityModel:getInstance():GetComposeRobotMaterialList(vo.sub_type, vo.id)
  999. local formula_cfg = OperateActivityModel:getInstance():GetComposeRobotFormulaCfgById(vo.sub_type, vo.id)
  1000. if not material_list or not formula_cfg then return end
  1001. local name_1 = GoodsModel:getInstance():getGoodsName(material_list[1],true)
  1002. local name_2 = GoodsModel:getInstance():getGoodsName(material_list[2],true)
  1003. local name_3 = GoodsModel:getInstance():getGoodsName(material_list[3],true)
  1004. local formula_name = Trim(formula_cfg.name)
  1005. local content = string.format("<color=#fec940>%s</color>的合成方式是%s,%s,%s", formula_name, name_1, name_2, name_3)
  1006. ChatModel:getInstance():Fire(ChatModel.SEND_MSG,ChatModel.CHANNEL_WORLD,content,nil,nil,ChatModel.CHAT_COMMON_TYPE.SYSTEM)
  1007. Message.show("已将合成方式发送至世界聊天!","success")
  1008. end
  1009. else
  1010. ErrorCodeShow(vo.errcode)
  1011. end
  1012. end
  1013. -- ################ 合成机-收藏 ##################
  1014. function OperateActivityController:Handler33293( )
  1015. local vo = SCMD33293.New(true)
  1016. if vo.errcode == 1 then
  1017. self.model:UpdateComposeRobotCollectList(vo)
  1018. self.model:Fire(OperateActivityModel.UPDATE_COMPOSE_ROBOT_COLLECT_INFO)
  1019. else
  1020. ErrorCodeShow(vo.errcode)
  1021. end
  1022. end
  1023. -- ################ 合成机-查看我的收藏 ##################
  1024. function OperateActivityController:Handler33294( )
  1025. local vo = SCMD33294.New(true)
  1026. self.model:SetComposeRobotCollectList(vo)
  1027. self.model:Fire(OperateActivityModel.UPDATE_COMPOSE_ROBOT_COLLECT_INFO)
  1028. end
  1029. -- ################ 合成机-合成 ###################
  1030. function OperateActivityController:Handler33295( )
  1031. local vo = SCMD33295.New(true)
  1032. if vo.errcode == 1 then
  1033. --合成成功,直接展示获得的奖励
  1034. local reward_list = {}
  1035. for i,v in ipairs(vo.goods_list) do
  1036. reward_list[#reward_list+1] = {0, v.goods_id, v.num}
  1037. end
  1038. local data = {}
  1039. data.award = reward_list
  1040. GlobalEventSystem:Fire(EventName.OPEN_COM_AWARD_RESULT_VIEW,data)
  1041. --后端不主推了,前端主动请求刷新一下配方状态
  1042. self.model:Fire(OperateActivityModel.REQUEST_INFO, 33296, vo.sub_type)
  1043. self.model:MinusComposeMaterial(vo.sub_type, 1)
  1044. self.model:MinusComposeMaterial(vo.sub_type, 2)
  1045. self.model:MinusComposeMaterial(vo.sub_type, 3)
  1046. self.model:Fire(OperateActivityModel.MINUS_COMPOSE_ROBOT_MATERIAL, 1,true)
  1047. self.model:Fire(OperateActivityModel.MINUS_COMPOSE_ROBOT_MATERIAL, 2,true)
  1048. self.model:Fire(OperateActivityModel.MINUS_COMPOSE_ROBOT_MATERIAL, 3,true)
  1049. else
  1050. ErrorCodeShow(vo.errcode)
  1051. end
  1052. end
  1053. -- ################ 合成机-配方列表 #################
  1054. function OperateActivityController:Handler33296( )
  1055. local vo = SCMD33296.New(true)
  1056. if vo.type == 0 then--全量
  1057. self.model:SetComposeRobotFormulaData(vo)
  1058. elseif vo.type == 1 then--增量更新(有人或者自己解锁了新配方时候刷新自己的配方状态)
  1059. self.model:UpdateComposeRobotFormulaData(vo)
  1060. end
  1061. KfActivityModel:getInstance():IsNeedRed(KfActivityModel.TabID.ComposeRobot,nil,vo.sub_type)
  1062. self.model:Fire(OperateActivityModel.UPDATE_COMPOSE_ROBOT_FORMULA_INFO)
  1063. end
  1064. -- ################# 合成机-查看发明家 #################
  1065. function OperateActivityController:Handler33297( )
  1066. local vo = SCMD33297.New(true)
  1067. self.model:SetComposeRobotAnnounceData(vo)
  1068. self.model:Fire(OperateActivityModel.UPDATE_COMPOSE_ROBOT_ANNOUNCE_INFO)
  1069. end
  1070. -- ################# 合成机-发明家新增推送 ################
  1071. function OperateActivityController:Handler33298( )
  1072. local vo = SCMD33298.New(true)
  1073. self.model:UpdateComposeRobotAnnounceData(vo)
  1074. self.model:Fire(OperateActivityModel.UPDATE_COMPOSE_ROBOT_ANNOUNCE_INFO)
  1075. --后端不主推了,前端主动请求刷新一下配方状态
  1076. self.model:Fire(OperateActivityModel.REQUEST_INFO, 33296, vo.sub_type)
  1077. end
  1078. -- ################# 合成机-发明家新增推送 ################
  1079. function OperateActivityController:Handler33299( )
  1080. local vo = SCMD33299.New(true)
  1081. self.model:SetComposeRobotAskCd(vo)
  1082. self.model:Fire(OperateActivityModel.UPDATE_COMPOSE_ROBOT_ASK_CD)
  1083. end
  1084. --------------------合成机-----------------end
  1085. -- ###############面板信息#############
  1086. -- protocol=14100
  1087. -- {
  1088. -- c2s{
  1089. -- sub_type:int16 // 活动子类型
  1090. -- }
  1091. -- s2c{
  1092. -- sub_type:int16 // 活动子类型
  1093. -- server_pro:int16 //全服进度
  1094. -- role_pro:int16 //个人进度
  1095. -- server_awards:array{
  1096. -- dot:int8 //点位
  1097. -- }
  1098. -- buffs:array{
  1099. -- dot:int8 //点位
  1100. -- bid:int16 //buffID
  1101. -- stime:int32 //激活时间
  1102. -- etime:int32 //失效时间
  1103. -- used:array{
  1104. -- kdata:int8 //默认1 在boss_refresh中指的是boss类型
  1105. -- vdata:int8 //0
  1106. -- }
  1107. -- }
  1108. -- role_awards:array{
  1109. -- dot:int8 //点位
  1110. -- }
  1111. -- }
  1112. -- }
  1113. function OperateActivityController:Handler14100( )
  1114. local vo = SCMD14100.New(true)
  1115. print("huangcong:OperateActivityController [start:1145] vo:", vo)
  1116. PrintTable(vo)
  1117. print("huangcong:OperateActivityController [end]")
  1118. self.model:SetMaterialSubmitInfo(vo)
  1119. KfActivityModel:getInstance():IsNeedRed(KfActivityModel.TabID.MaterialSubmit,nil,vo.sub_type)
  1120. -- BossModel:GetInstance():UpdateDesertedBossHaveTimes( )--更新BOSS挑战次数BUFF
  1121. ExpDunModel:getInstance():UpdateQuickHangUpFreeBuffState()--是否存在活动加成buff 免费收取一次二倍
  1122. end
  1123. -- ##############材料提交############
  1124. -- protocol=14101
  1125. -- {
  1126. -- c2s{
  1127. -- sub_type:int16 // 活动子类型
  1128. -- opty:int8 //0道具提交
  1129. -- num:int8 //彩钻提交有效
  1130. -- }
  1131. -- s2c{
  1132. -- res:int32
  1133. -- sub_type:int16 // 活动子类型
  1134. -- server_pro:int16 //全服进度
  1135. -- role_pro:int16 //个人进度
  1136. -- }
  1137. -- }
  1138. function OperateActivityController:Handler14101( )
  1139. local vo = SCMD14101.New(true)
  1140. if vo.errcode == 1 then
  1141. Message.show("提交成功")
  1142. local server_info = self.model:GetMaterialSubmitInfo(vo.sub_type)
  1143. if server_info then
  1144. server_info.server_pro = vo.server_pro
  1145. server_info.role_pro = vo.role_pro
  1146. KfActivityModel:getInstance():IsNeedRed(KfActivityModel.TabID.MaterialSubmit,nil,vo.sub_type)
  1147. end
  1148. else
  1149. ErrorCodeShow(vo.errcode)
  1150. end
  1151. end
  1152. -- ###############领取#############
  1153. -- protocol=14102
  1154. -- {
  1155. -- c2s{
  1156. -- sub_type:int16 // 活动子类型
  1157. -- opty:int8 //0个人领取1全服领取
  1158. -- dot:int8
  1159. -- }
  1160. -- s2c{
  1161. -- errcode:int32
  1162. -- sub_type:int16 // 活动子类型
  1163. -- opty:int8 //0个人领取1全服领取
  1164. -- dot:int8
  1165. -- }
  1166. -- }
  1167. function OperateActivityController:Handler14102( )
  1168. local vo = SCMD14102.New(true)
  1169. if vo.errcode == 1 then
  1170. Message.show("领取成功")
  1171. self.model:Fire(OperateActivityModel.REQUEST_INFO, 14100, vo.sub_type)
  1172. else
  1173. ErrorCodeShow(vo.errcode)
  1174. end
  1175. end
  1176. -- ###############主推进度#############
  1177. -- protocol=14103
  1178. -- {
  1179. -- s2c{
  1180. -- sub_type:int16 // 活动子类型
  1181. -- server_pro:int16 //全服进度
  1182. -- }
  1183. -- }
  1184. function OperateActivityController:Handler14103( )
  1185. local vo = SCMD14103.New(true)
  1186. local server_info = self.model:GetMaterialSubmitInfo(vo.sub_type)
  1187. if server_info then
  1188. server_info.server_pro = vo.server_pro
  1189. KfActivityModel:getInstance():IsNeedRed(KfActivityModel.TabID.MaterialSubmit,nil,vo.sub_type)
  1190. end
  1191. end
  1192. -- ###############主推dot buff#############
  1193. -- protocol=14104
  1194. -- {
  1195. -- s2c{
  1196. -- sub_type:int16 // 活动子类型
  1197. -- dot:int8 //点位
  1198. -- bid:int16 //buffID
  1199. -- stime:int32 //激活时间
  1200. -- etime:int32 //失效时间
  1201. -- }
  1202. -- }
  1203. function OperateActivityController:Handler14104( )
  1204. local vo = SCMD14104.New(true)
  1205. local server_info = self.model:GetMaterialSubmitInfo(vo.sub_type)
  1206. if server_info and server_info.buffs_dot_list then
  1207. vo.used = {}
  1208. server_info.buffs_dot_list[vo.dot] = vo
  1209. server_info.buffs_bid_list[vo.bid] = vo
  1210. KfActivityModel:getInstance():IsNeedRed(KfActivityModel.TabID.MaterialSubmit,nil,vo.sub_type)
  1211. -- BossModel:GetInstance():UpdateDesertedBossHaveTimes( )--更新BOSS挑战次数BUFF
  1212. ExpDunModel:getInstance():UpdateQuickHangUpFreeBuffState()--是否存在活动加成buff 免费收取一次二倍
  1213. end
  1214. end
  1215. -- ###############个人单个buff次数更新#############
  1216. -- protocol=14105
  1217. -- {
  1218. -- s2c{
  1219. -- sub_type:int16 // 活动子类型
  1220. -- dot:int8 //点位
  1221. -- bid:int16 //buffID
  1222. -- stime:int32 //激活时间
  1223. -- etime:int32 //失效时间
  1224. -- used:array{
  1225. -- kdata:int8 //默认1 在boss_refresh中指的是boss类型
  1226. -- vdata:int8 //0
  1227. -- }
  1228. -- }
  1229. -- }
  1230. function OperateActivityController:Handler14105( )
  1231. local vo = SCMD14105.New(true)
  1232. print("huangcong:OperateActivityController [start:1272] vo:", vo)
  1233. PrintTable(vo)
  1234. print("huangcong:OperateActivityController [end]")
  1235. local server_info = self.model:GetMaterialSubmitInfo(vo.sub_type)
  1236. if server_info and server_info.buffs_dot_list then
  1237. server_info.buffs_dot_list[vo.dot] = vo
  1238. server_info.buffs_bid_list[vo.bid] = vo
  1239. KfActivityModel:getInstance():IsNeedRed(KfActivityModel.TabID.MaterialSubmit,nil,vo.sub_type)
  1240. -- BossModel:GetInstance():UpdateDesertedBossHaveTimes( )--更新BOSS挑战次数BUFF
  1241. ExpDunModel:getInstance():UpdateQuickHangUpFreeBuffState()--是否存在活动加成buff 免费收取一次二倍
  1242. end
  1243. end
  1244. --------------------自选扭蛋-----------------start
  1245. -- ############## 自选扭蛋-奖励信息 ##############
  1246. function OperateActivityController:Handler33600( )
  1247. local vo = SCMD33600.New(true)
  1248. -- print("==WQ==:SCMD33600 [start:1337] vo:", vo)
  1249. -- PrintTable(vo)
  1250. -- print("==WQ==:OperateActivityController [end]")
  1251. self.model:SetSelectEggServerData(vo)
  1252. self.model:Fire(OperateActivityModel.UPDATE_SELECT_EGG_VIEW)
  1253. KfActivityModel:getInstance():IsNeedRed(KfActivityModel.TabID.SelectEgg,nil,vo.sub_type)
  1254. end
  1255. -- ############## 自选扭蛋-选择奖励 ##############
  1256. function OperateActivityController:Handler33601( )
  1257. local vo = SCMD33601.New(true)
  1258. -- print("==WQ==:SCMD33601 [start:1346] vo:", vo)
  1259. -- PrintTable(vo)
  1260. -- print("==WQ==:OperateActivityController [end]")
  1261. self.model:UpdateSelectEggSelectRewardList(vo)
  1262. self.model:Fire(OperateActivityModel.UPDATE_SELECT_EGG_SELECT_REWARDS)
  1263. KfActivityModel:getInstance():IsNeedRed(KfActivityModel.TabID.SelectEgg,nil,vo.sub_type)
  1264. end
  1265. -- ############## 自选扭蛋-重置奖励 ##############
  1266. function OperateActivityController:Handler33602( )
  1267. local vo = SCMD33602.New(true)
  1268. -- print("==WQ==:SCMD33602 [start:1355] vo:", vo)
  1269. -- PrintTable(vo)
  1270. -- print("==WQ==:OperateActivityController [end]")
  1271. if vo.res == 1 then
  1272. --重置之后主动请求00协议刷新全部数据
  1273. self.model:Fire(OperateActivityModel.REQUEST_INFO, 33600, vo.sub_type)
  1274. else
  1275. ErrorCodeShow(vo.res)
  1276. end
  1277. end
  1278. -- ############## 自选扭蛋-抽奖 ##############
  1279. function OperateActivityController:Handler33603( )
  1280. local vo = SCMD33603.New(true)
  1281. -- print("==WQ==:SCMD33603 [start:1369] vo:", vo)
  1282. -- PrintTable(vo)
  1283. -- print("==WQ==:OperateActivityController [end]")
  1284. self.model:UpdateSelectEggDataAfterDraw(vo)
  1285. KfActivityModel:getInstance():IsNeedRed(KfActivityModel.TabID.SelectEgg,nil,vo.sub_type)
  1286. --通知主界面出扭蛋
  1287. local reward_vo = stringtotable(vo.rewards)
  1288. self.model:Fire(OperateActivityModel.AFTER_SELECT_EGG_DRAW,vo)
  1289. local function delay_method( )
  1290. self.model:Fire(OperateActivityModel.UPDATE_SELECT_EGG_VIEW_AFTER_DRAW)
  1291. --奖励弹窗
  1292. local new_award_list = {}
  1293. new_award_list[1] = reward_vo[1]
  1294. GiftModel:getInstance():Fire(GiftModel.OPEN_SHOW_ACT_GOODS_VIEW,new_award_list,true)
  1295. CustomActivityModel:getInstance():SetGoodsCanFly(true)
  1296. self.model.select_egg_is_in_drawing = false
  1297. end
  1298. setTimeout(delay_method, 1)
  1299. end
  1300. -- ############## 自选扭蛋-快速选奖励 ##############
  1301. function OperateActivityController:Handler33604( )
  1302. local vo = SCMD33604.New(true)
  1303. -- print("==WQ==:SCMD33604 [start:1378] vo:", vo)
  1304. -- PrintTable(vo)
  1305. -- print("==WQ==:OperateActivityController [end]")
  1306. Message.show("奖励已选满")
  1307. self.model:UpdateSelectEggDataAfterQuiclSelect(vo)
  1308. self.model:Fire(OperateActivityModel.UPDATE_SELECT_EGG_SELECT_REWARDS)
  1309. KfActivityModel:getInstance():IsNeedRed(KfActivityModel.TabID.SelectEgg,nil,vo.sub_type)
  1310. end
  1311. -- ############## 自选扭蛋-确认奖励 ##############
  1312. function OperateActivityController:Handler33605( )
  1313. local vo = SCMD33605.New(true)
  1314. -- print("==WQ==:SCMD33605 [start:1378] vo:", vo)
  1315. -- PrintTable(vo)
  1316. -- print("==WQ==:OperateActivityController [end]")
  1317. if vo.res == 1 then
  1318. vo.is_ensure = 1
  1319. self.model:UpdateSelectEggEnsureState(vo)
  1320. self.model:Fire(OperateActivityModel.UPDATE_SELECT_EGG_VIEW_AFTER_DRAW)
  1321. else
  1322. ErrorCodeShow(vo.res)
  1323. end
  1324. end
  1325. --------------------自选扭蛋-----------------end