源战役客户端
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.

443 line
14 KiB

  1. require("game.proto.414.Require414")
  2. require("game.empower.EmpowerModel")
  3. require("game.empower.EmpowerConst")
  4. require("game.empower.EmpowerBaseView")
  5. require("game.empower.EmpowerShopView")
  6. require("game.empower.EmpowerShopItem")
  7. require("game.empower.EmpowerExchangeView")
  8. require("game.empower.EmpowerTreasureView")
  9. require("game.empower.EmpowerTipsView")
  10. require("game.empower.EmpowerGridWalkView")
  11. require("game.empower.EmpowerResetTipView")
  12. require("game.empower.EmpowerDoubleItem")
  13. EmpowerController = EmpowerController or BaseClass(BaseController, true)
  14. local EmpowerController = EmpowerController
  15. function EmpowerController:__init()
  16. EmpowerController.Instance = self
  17. self.model = EmpowerModel:GetInstance()
  18. self.mainVo = RoleManager.Instance.mainRoleInfo
  19. self:AddEvents()
  20. self:RegisterProtocals()
  21. end
  22. function EmpowerController:__delete()
  23. end
  24. function EmpowerController:RegisterProtocals( )
  25. self:RegisterProtocal(41400, "on41400")
  26. self:RegisterProtocal(41401, "on41401")
  27. self:RegisterProtocal(41402, "on41402")
  28. self:RegisterProtocal(41403, "on41403")
  29. self:RegisterProtocal(41404, "on41404")
  30. self:RegisterProtocal(41405, "on41405")
  31. self:RegisterProtocal(41406, "on41406")
  32. self:RegisterProtocal(41407, "on41407")
  33. self:RegisterProtocal(41408, "on41408")
  34. self:RegisterProtocal(41409, "on41409")
  35. self:RegisterProtocal(41410, "on41410")
  36. self:RegisterProtocal(41411, "on41411")
  37. end
  38. function EmpowerController:AddEvents()
  39. -- local function on_game_start()
  40. -- -- self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41400)
  41. -- -- self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41401)
  42. -- -- self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41402,1)
  43. -- self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41400)
  44. -- self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41405)
  45. -- end
  46. -- EventSystem.Bind(GlobalEventSystem,EventName.GAME_START, on_game_start)
  47. local function init_open_day( )--开服天数初始化
  48. if self.mainVo.level >= Config.Moduleid[414].open_lv then
  49. self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41400)
  50. self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41405)
  51. self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41409)
  52. ActivityIconManager:getInstance():addIcon(414, -1)
  53. end
  54. end
  55. GlobalEventSystem:Bind(EventName.OPEN_DAY_INIT,init_open_day)
  56. --升级
  57. local function onLevelUp(level)
  58. if level == Config.Moduleid[414].open_lv then
  59. self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41400)
  60. self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41405)
  61. self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41409)
  62. ActivityIconManager:getInstance():addIcon(414, -1)
  63. end
  64. end
  65. RoleManager.Instance.mainRoleInfo:Bind(EventName.CHANGE_LEVEL, onLevelUp)
  66. local func_update_red_dot = function(id)
  67. -- Message.show("EMPOWER_TREASURE_RED_DOT",tab_id)
  68. --if not tab_id then
  69. self.model:IsNeedRed(id)
  70. --else
  71. -- self.model:IsNeedRed(tab_id)
  72. --end
  73. end
  74. self.model:Bind(EmpowerConst.EMPOWER_RED_DOT,func_update_red_dot)
  75. -- 打开open_ranTest_baseView
  76. local function open_ranTest_baseView(show,index)
  77. print("============>>> YiRan:EmpowerController [start:79] show:",show,"index:",index)
  78. if show then
  79. if self.ranTest_base_view == nil then
  80. self.ranTest_base_view = EmpowerBaseView.New()
  81. end
  82. if not self.ranTest_base_view:HasOpen() then
  83. self.ranTest_base_view:Open(index or 1)
  84. else
  85. self.ranTest_base_view:SwitchTab(index or 1)
  86. end
  87. else
  88. if self.ranTest_base_view then
  89. self.ranTest_base_view:Close()
  90. end
  91. end
  92. end
  93. self.model:Bind(EmpowerConst.OPEN_SHOP_BASE_VIEW,open_ranTest_baseView)
  94. -- 打开升品寻宝界面
  95. local function open_emTreasure_baseView(show)
  96. if show then
  97. if self.emTreasureView == nil then
  98. self.emTreasureView = EmpowerGridWalkView.New() --EmpowerTreasureView 这个弹珠台感觉要消失= =、先顶掉
  99. if not self.emTreasureView:HasOpen() then
  100. self.emTreasureView:Open()
  101. end
  102. end
  103. else
  104. if self.emTreasureView then
  105. self.emTreasureView:Close()
  106. end
  107. end
  108. end
  109. self.model:Bind(EmpowerConst.OPEN_EMPOWER_TREASURE_VIEW,open_emTreasure_baseView)
  110. ---打开走格子界面
  111. --local function open_GridWalkView(show)
  112. -- if show then
  113. -- if self.emWalkView == nil then
  114. -- self.emWalkView = EmpowerGridWalkView.New()
  115. -- if not self.emWalkView:HasOpen() then
  116. -- self.emWalkView:Open()
  117. -- end
  118. -- end
  119. --- else
  120. -- if self.emWalkView then
  121. -- self.emWalkView:Close()
  122. -- end
  123. -- end
  124. --end
  125. --self.model:Bind(EmpowerConst.OPEN_EMPOWER_GRIDWALK_VIEW,open_GridWalkView)
  126. -- 打开Tips界面
  127. local function open_emTips_baseView(show,txt,callback)
  128. if show then
  129. if self.emTipsView == nil then
  130. self.emTipsView = EmpowerTipsView.New()
  131. if not self.emTipsView:HasOpen() then
  132. self.emTipsView:Open(txt,callback)
  133. end
  134. end
  135. else
  136. if self.emTipsView then
  137. self.emTipsView:Close()
  138. end
  139. end
  140. end
  141. self.model:Bind(EmpowerConst.OPEN_EMPOWER_TIPS_VIEW,open_emTips_baseView)
  142. ---
  143. local function func_OPEN_RESET_TIPVIEW_VIEW(vo)
  144. if self.EmpowerResetTipView == nil then
  145. self.EmpowerResetTipView = EmpowerResetTipView.New()
  146. end
  147. self.EmpowerResetTipView:Open(vo)
  148. end
  149. self.model:Bind(EmpowerConst.OPEN_RESET_TIPVIEW_VIEW,func_OPEN_RESET_TIPVIEW_VIEW)
  150. --请求协议
  151. local function ON_REQUEST_EVENT(...)
  152. local args = {...}
  153. if args[1] == 41401 then
  154. self:SendFmtToGame(args[1],"cci", args[2], args[3],args[4])
  155. elseif args[1] == 41402 then
  156. self:SendFmtToGame(args[1], "chs", args[2], args[3], args[4])
  157. elseif args[1] == 41403 or args[1] == 41406 then
  158. self:SendFmtToGame(args[1],"h",args[2])
  159. elseif args[1] == 41408 then
  160. self:SendFmtToGame(args[1],"ih",args[2], args[3])
  161. elseif args[1] == 41410 then
  162. self:SendFmtToGame(args[1],"c",args[2])
  163. else
  164. self:SendFmtToGame(args[1])
  165. end
  166. end
  167. self.model:Bind(EmpowerConst.EMPOWER_REQ_EVENT, ON_REQUEST_EVENT)
  168. end
  169. ----请求基本信息
  170. function EmpowerController:on41400( )
  171. local vo = SCMD41400.New(true)
  172. --print("=============>>> YiRan:EmpowerController [start:153] vo SCMD41400------------------------------------------")
  173. --PrintTable(vo)
  174. --print("=============>>> YiRan:EmpowerController [end] ------------------------------------------")
  175. if not vo then return end
  176. self.model:SetVo41400(vo)
  177. self.model:Fire(EmpowerConst.UPDATA_EMTREASURE_VIEW_INFO, vo)
  178. self.model:Fire(EmpowerConst.EMPOWER_RED_DOT,EmpowerConst.EmpowerViewType.EmpowerTreasure)
  179. self.model:Fire(EmpowerConst.UPDATA_EMTREASURE_QUALITYS_INFO) -- 在收到协议再刷新质量
  180. -- if vo then
  181. -- ErrorCodeShow(vo.errcode)
  182. -- end
  183. end
  184. function EmpowerController:on41401( )
  185. local vo = SCMD41401.New(true)
  186. if not vo then return end
  187. --print("=============>>> YiRan:EmpowerController [start:118] vo41401 ------------------------------------------")
  188. --PrintTable(vo)
  189. --print("=============>>> YiRan:EmpowerController [end] ------------------------------------------")
  190. if vo.errcode == 1 then
  191. Message.show("发射成功","success")
  192. else
  193. ErrorCodeShow(vo.errcode)
  194. end
  195. end
  196. function EmpowerController:on41402( )
  197. local vo = SCMD41402.New(true)
  198. --Message.show("vo.result:",vo.result)
  199. --print("=============>>> YiRan:EmpowerController [start:118] vo41402 ------------------------------------------")
  200. --PrintTable(vo)
  201. --print("=============>>> YiRan:EmpowerController [end] ------------------------------------------")
  202. if vo.errcode == 1 then
  203. --Message.show("发送41400")
  204. self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41400)
  205. else
  206. ErrorCodeShow(vo.errcode)
  207. end
  208. end
  209. --[[
  210. ################ #################
  211. protocol=41403
  212. {
  213. c2s{}
  214. s2c{
  215. errcode:int32 //
  216. goods_list:array{
  217. goods_type :int8
  218. goods_id :int32
  219. num :int16
  220. }
  221. }
  222. }
  223. ]]
  224. function EmpowerController:on41403( )
  225. local vo = SCMD41403.New(true)
  226. if vo.errcode == 1 then
  227. local list = {}--vo.goods_list
  228. for k,v in pairs( vo.goods_list) do
  229. local list_s = {}
  230. list_s[1] = v.goods_type
  231. list_s[2] = v.goods_id
  232. list_s[3] = v.num
  233. table.insert(list,list_s)
  234. end
  235. data.award = list
  236. data.not_show_anim = true
  237. print("=============>>> YiRan:EmpowerController [start:256] data ------------------------------------------")
  238. PrintTable(data)
  239. print("=============>>> YiRan:EmpowerController [end] ------------------------------------------")
  240. GlobalEventSystem:Fire(EventName.OPEN_COM_AWARD_RESULT_VIEW,data)
  241. else
  242. ErrorCodeShow(vo.errcode)
  243. end
  244. -- print("=============>>> YiRan:EmpowerController [start:172] vo41403 ------------------------------------------")
  245. -- PrintTable(vo)
  246. -- print("=============>>> YiRan:EmpowerController [end] ------------------------------------------")
  247. end
  248. function EmpowerController:on41404( )
  249. local vo = SCMD41404.New(true)
  250. if vo.errcode == 1 then
  251. self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41400)
  252. elseif vo.errcode == 4140006 then
  253. local function ok()
  254. OpenFun.Open(450,1)
  255. end
  256. Alert.show("重置次数不足,是否前往提升VIP等级?",Alert.Type.Two,ok)
  257. else
  258. ErrorCodeShow(vo.errcode)
  259. end
  260. --print("=============>>> YiRan:EmpowerController [start:172] vo41404 ------------------------------------------")
  261. --PrintTable(vo)
  262. --print("=============>>> YiRan:EmpowerController [end] ------------------------------------------")
  263. end
  264. --[[
  265. ################ #################
  266. protocol=41405
  267. {
  268. c2s{}
  269. s2c{
  270. reset_count:int16 //
  271. shop_list:array{
  272. index:int16 //
  273. state:int8 // 0|1
  274. }
  275. time:int32 //
  276. }
  277. }
  278. ]]
  279. function EmpowerController:on41405( )
  280. local vo = SCMD41405.New(true)
  281. if vo and vo.shop_list then
  282. self.model:SetEquipShopList(vo)
  283. self.model:Fire(EmpowerConst.UPDATA_EMTREASURE_SHOP_INFO) -- 刷新商店状态
  284. self.model:Fire(EmpowerConst.EMPOWER_RED_DOT,EmpowerConst.EmpowerViewType.EmpowerShop)
  285. end
  286. --print("=============>>> YiRan:EmpowerController [start:224] vo41405 ------------------------------------------")
  287. --PrintTable(vo)
  288. --print("=============>>> YiRan:EmpowerController [end] ------------------------------------------")
  289. end
  290. function EmpowerController:on41406( )
  291. local vo = SCMD41406.New(true)
  292. --print("=============>>> YiRan:EmpowerController [start:224] on41406 ------------------------------------------")
  293. --PrintTable(vo)
  294. --print("=============>>> YiRan:EmpowerController [end] ------------------------------------------")
  295. if vo.errcode == 1 then
  296. Message.show("购买成功","success")
  297. self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41405)
  298. else
  299. ErrorCodeShow(vo.errcode)
  300. end
  301. end
  302. function EmpowerController:on41407( )
  303. local vo = SCMD41407.New(true)
  304. --print("=============>>> YiRan:EmpowerController [start:224] on41407 ------------------------------------------")
  305. --PrintTable(vo)
  306. --print("=============>>> YiRan:EmpowerController [end] ------------------------------------------")
  307. if vo.errcode == 1 then
  308. Message.show("刷新成功")
  309. self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41405)
  310. else
  311. ErrorCodeShow(vo.errcode)
  312. end
  313. end
  314. function EmpowerController:on41408( )
  315. local vo = SCMD41408.New(true)
  316. --print('Msh:EmpowerController.lua[351] vo', vo.errcode)
  317. if vo.errcode == 1 then
  318. Message.show("兑换成功","success")
  319. self.model:Fire(EmpowerConst.UPDATE_EXCHANGE_VIEW)
  320. else
  321. ErrorCodeShow(vo.errcode)
  322. end
  323. end
  324. --[[
  325. ############# ##############
  326. protocol=41409
  327. {
  328. c2s{}
  329. s2c{
  330. turn :int8 //
  331. step :int16 //
  332. reset_count:int8 //
  333. free_count :int8 //
  334. show_reward:array{ //
  335. step_id:int16
  336. is_double:int8 // 1 2
  337. step_reward:array{
  338. good_id:int32
  339. good_num:int32
  340. }
  341. }
  342. }
  343. }
  344. ]]
  345. function EmpowerController:on41409( )
  346. local vo = SCMD41409.New(true)
  347. --print("=============>>> YiRan:EmpowerController [start:224] on41409 ------------------------------------------")
  348. --PrintTable(vo)
  349. --print("=============>>> YiRan:EmpowerController [end] ------------------------------------------")
  350. if vo.errcode == 1 then
  351. self.model:SetGridGameInfo(vo)
  352. self.model:Fire(EmpowerConst.UPDATA_EMGRIDWALK_INFO)
  353. self.model:SetIsDoubleTime(vo.times)
  354. self.model:UpdateMainIconState()
  355. else
  356. ErrorCodeShow(vo.errcode)
  357. end
  358. end
  359. --[[
  360. ############## ###############
  361. protocol=41410
  362. {
  363. c2s{
  364. type:int8 // 使 0使|1使
  365. }
  366. s2c{
  367. res:int32 // 1 0
  368. walk:int8 //
  369. new_step:int16 //
  370. }
  371. }]]
  372. function EmpowerController:on41410( )
  373. local vo = SCMD41410.New(true)
  374. --print("=============>>> YiRan:EmpowerController [start:224] on41410 ------------------------------------------")
  375. --PrintTable(vo)
  376. --print("=============>>> YiRan:EmpowerController [end] ------------------------------------------")
  377. if vo.res == 1 then
  378. self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41409)
  379. self.model:Fire(EmpowerConst.UPDATA_EMGRIDWALK_INFO41410,vo)
  380. --self.model.41410_INFO = vo
  381. else
  382. ErrorCodeShow(vo.res)
  383. end
  384. end
  385. --[[
  386. ############### ###############
  387. protocol=41411
  388. {
  389. c2s{}
  390. s2c{
  391. res:int32 //1 0 4050040501
  392. }
  393. }]]
  394. function EmpowerController:on41411( )
  395. local vo = SCMD41411.New(true)
  396. print("=============>>> YiRan:EmpowerController [start:224] on41411 ------------------------------------------")
  397. PrintTable(vo)
  398. print("=============>>> YiRan:EmpowerController [end] ------------------------------------------")
  399. if vo.res == 1 then
  400. self.model:Fire(EmpowerConst.RESET_EMGRIDWALK_SUCCESS)
  401. else
  402. ErrorCodeShow(vo.res)
  403. end
  404. end