源战役客户端
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 rivejä
14 KiB

1 kuukausi sitten
  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