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

281 linhas
9.5 KiB

  1. require("game.proto.459.Require459")
  2. require("game.jumpone.JumpOneModel")
  3. require("game.jumpone.view.JumpOneMainView")
  4. require("game.jumpone.view.JumpOneSceneView")
  5. require("game.jumpone.view.JumpOneRoleIconOne")
  6. require("game.jumpone.view.JumpOneRoleIconTwo")
  7. require("game.jumpone.view.JumpOneResultView")
  8. require("game.jumpone.view.JumpOneResultItem")
  9. JumpOneController = JumpOneController or BaseClass(BaseController)
  10. function JumpOneController:__init()
  11. JumpOneController.Instance = self
  12. self.model = JumpOneModel:getInstance()
  13. self:RegisterAllProtocals()
  14. self:AddAllEvents()
  15. end
  16. function JumpOneController:__delete()
  17. end
  18. function JumpOneController:AddAllEvents()
  19. local function game_start_func()
  20. end
  21. GlobalEventSystem:Bind(EventName.GAME_START,game_start_func)
  22. -- local updateInfo = function (base_type,sub_type)
  23. -- if base_type == CustomActivityModel.CustomActBaseType.HOPE_GIFT then
  24. -- self.model:Fire(HopeGiftModel.REQUEST_INFO,33136,sub_type)
  25. -- end
  26. -- end
  27. -- CustomActivityModel:getInstance():Bind(CustomActivityModel.UPDATE_ACTIVITY_INFO,updateInfo)
  28. --请求协议
  29. local function onRequestProtocal(...)
  30. local args = {...}
  31. if args[1] == 45901 or args[1] == 45919 then
  32. self:SendFmtToGame(args[1], "h", args[2])
  33. elseif args[1] == 45902 then
  34. self:SendFmtToGame(args[1], "hc", args[2], args[3])
  35. elseif args[1] == 45909 then
  36. self:SendFmtToGame(args[1], "ich", args[2], args[3],args[4])
  37. elseif args[1] == 45910 then
  38. self:SendFmtToGame(args[1], "iiichsh", args[2], args[3],args[4],args[5],args[6],args[7],args[8])
  39. else
  40. self:SendFmtToGame(args[1])
  41. end
  42. end
  43. self.model:Bind(JumpOneModel.REQUEST_INFO, onRequestProtocal)
  44. --升级
  45. local function onLevelUp(level)
  46. if Config.Modulesub["331@121"] and level == Config.Modulesub["331@121"].open_lv then
  47. end
  48. end
  49. RoleManager.Instance.mainRoleInfo:Bind(EventName.CHANGE_LEVEL, onLevelUp)
  50. --打开跳一跳主界面
  51. local function OPEN_JUMP_ONE_MAIN_VIEW()
  52. OpenFun.Open(331,121)
  53. end
  54. self.model:Bind(JumpOneModel.OPEN_JUMP_ONE_MAIN_VIEW,OPEN_JUMP_ONE_MAIN_VIEW)
  55. local function onSceneStartHandler()
  56. self:ChangeScene()
  57. end
  58. GlobalEventSystem:Bind(EventName.SCENE_LOAD_VIEW_COMPLETE,onSceneStartHandler)
  59. --打开跳一跳场景界面
  60. local function onOpenJumpOneSceneView(flag)
  61. self:OpenView("JumpOneSceneView", flag)
  62. end
  63. self.model:Bind(JumpOneModel.OPEN_JUMP_ONE_SCENE_VIEW, onOpenJumpOneSceneView)
  64. --打开跳一跳结算界面
  65. local function onOpenJumpOneResultView(flag)
  66. self:OpenView("JumpOneResultView", flag)
  67. end
  68. self.model:Bind(JumpOneModel.OPEN_JUMP_ONE_RESULT_VIEW, onOpenJumpOneResultView)
  69. end
  70. function JumpOneController:RegisterAllProtocals()
  71. self:RegisterProtocal(45900, "Handler45900") -- 跳一跳:活动状态
  72. self:RegisterProtocal(45901, "Handler45901") -- 跳一跳:活动数据
  73. self:RegisterProtocal(45902, "Handler45902") -- 跳一跳:匹配状态
  74. self:RegisterProtocal(45903, "Handler45903") -- 跳一跳:匹配队伍数据:每次全量:广播
  75. self:RegisterProtocal(45904, "Handler45904") -- 跳一跳:倒计时开始:广播
  76. self:RegisterProtocal(45905, "Handler45905") -- 跳一跳:比赛入场:广播
  77. self:RegisterProtocal(45906, "Handler45906") -- 跳一跳:新生成一个台子:广播
  78. self:RegisterProtocal(45907, "Handler45907") -- 跳一跳:当前操作玩家:广播
  79. --self:RegisterProtocal(45908, "Handler45908") -- 跳一跳:跳跃状态:广播
  80. self:RegisterProtocal(45909, "Handler45909") -- 跳一跳:跳跃状态:广播
  81. self:RegisterProtocal(45910, "Handler45910") -- 跳一跳:跳跃:广播
  82. self:RegisterProtocal(45911, "Handler45911") -- 跳一跳:积分变化:单播
  83. self:RegisterProtocal(45912, "Handler45912") -- 跳一跳:玩家命数减1:广播
  84. self:RegisterProtocal(45913, "Handler45913") -- 跳一跳:退出活动
  85. self:RegisterProtocal(45914, "Handler45914") -- 跳一跳:结算信息
  86. self:RegisterProtocal(45915, "Handler45915") -- 跳一跳:玩家离线
  87. self:RegisterProtocal(45916, "Handler45916") -- 跳一跳:玩家入场
  88. self:RegisterProtocal(45917, "Handler45917") -- 跳一跳:玩家离场
  89. self:RegisterProtocal(45918, "Handler45918") -- 跳一跳:游戏结束
  90. self:RegisterProtocal(45919, "Handler45919") -- 跳一跳:单人进入
  91. end
  92. --切换场景,打开对应的副本界面
  93. function JumpOneController:ChangeScene()
  94. local scene_mgr = SceneManager.Instance
  95. -- 判断社团驻地情况
  96. if scene_mgr:IsJumpOneScene(scene_mgr.last_scene_id) and not scene_mgr:IsJumpOneScene() then
  97. self:SetMainUIVisible(true)
  98. GlobalEventSystem:Fire(EventName.SHOW_MAIN_VIP_ROOT, false, MainUIModel.ACTIVITY_MODE) --vip充值入口
  99. if self.model.result_info then
  100. self.model:Fire(JumpOneModel.OPEN_JUMP_ONE_RESULT_VIEW, true)
  101. end
  102. elseif scene_mgr:IsJumpOneScene() then
  103. self:SetMainUIVisible(false)
  104. self.model:Fire(JumpOneModel.OPEN_JUMP_ONE_SCENE_VIEW, true)
  105. GlobalEventSystem:Fire(EventName.SHOW_MAIN_VIP_ROOT, false, MainUIModel.ACTIVITY_MODE) --vip充值入口
  106. end
  107. if not scene_mgr:IsJumpOneScene() then
  108. self.model:Fire(JumpOneModel.OPEN_JUMP_ONE_SCENE_VIEW, false)
  109. self.model:ClearAllStep()
  110. end
  111. end
  112. function JumpOneController:SetMainUIVisible( value ,mode)
  113. mode = mode or MainUIModel.ACTIVITY_MODE
  114. self:Fire(EventName.HIDE_TASK_TEAM_VIEW, not value, mode)--任务栏
  115. -- GlobalEventSystem:Fire(EventName.SHOW_MAIN_TASK_ANNOUNCE_ROOT, not value, mode) --功能预告
  116. GlobalEventSystem:Fire(EventName.CHANGE_RIGHT_TIP_ICON, not value, mode) --菜单伸展
  117. GlobalEventSystem:Fire(EventName.HIDE_MINI_MAP_VIEW, not value, mode) --地图
  118. GlobalEventSystem:Fire(EventName.HIDE_RIGHT_BOTTOM_VIEW, not value, mode) --技能
  119. GlobalEventSystem:Fire(EventName.HIDE_MAINROLE_HEAD_VIEW, not value, mode) --角色信息
  120. GlobalEventSystem:Fire(EventName.HIDE_MAIN_CHAT_VIEW, not value, mode) --聊天
  121. GlobalEventSystem:Fire(EventName.HIDE_LEFT_BOTTOM_VIEW, not value, mode) --背包
  122. GlobalEventSystem:Fire(EventName.HIDE_JOY_STICK_VIEW, not value, mode) --摇杆
  123. end
  124. --########### 跳一跳:活动状态 ##############
  125. function JumpOneController:Handler45900( )
  126. local vo = SCMD45900.New(true)
  127. self.model:SetOpenInfo(vo)
  128. end
  129. --########### 跳一跳: ##############
  130. function JumpOneController:Handler45901( )
  131. local vo = SCMD45901.New(true)
  132. PrintTable(vo)
  133. self.model:SetJumoOneInfo(vo)
  134. end
  135. --########### 跳一跳:匹配状态 ##############
  136. function JumpOneController:Handler45902( )
  137. local vo = SCMD45902.New(true)
  138. if vo.res == 1 then
  139. self.model:SetJumoOneMatchInfo(vo)
  140. else
  141. ErrorCodeShow(vo.res)
  142. end
  143. end
  144. --########### 跳一跳:匹配队伍数据:每次全量:广播 ##############
  145. function JumpOneController:Handler45903( )
  146. local vo = SCMD45903.New(true)
  147. self.model:SetJumoOneMatchMembers(vo)
  148. end
  149. --########### 跳一跳:倒计时开始:广播 ##############
  150. function JumpOneController:Handler45904( )
  151. local vo = SCMD45904.New(true)
  152. self.model:SetJumpOneReadyTIme(vo)
  153. end
  154. --########### 跳一跳:比赛入场:广播 ##############
  155. function JumpOneController:Handler45905( )
  156. local vo = SCMD45905.New(true)
  157. self.model:SetJumpOneGameInfo(vo)
  158. end
  159. --########### 跳一跳:新生成一个台子:广播 ##############
  160. function JumpOneController:Handler45906( )
  161. local vo = SCMD45906.New(true)
  162. if vo.picture ~= 0 then
  163. PrintTable(vo)
  164. self.model:JumpOneAddNewStep(vo)
  165. end
  166. end
  167. --########### 跳一跳:当前操作玩家:广播 ##############
  168. function JumpOneController:Handler45907( )
  169. local vo = SCMD45907.New(true)
  170. if vo.role_id ~= 0 then
  171. self.model:StartJump(vo)
  172. end
  173. end
  174. --########### 跳一跳:跳跃状态:广播 ##############
  175. function JumpOneController:Handler45909( )
  176. local vo = SCMD45909.New(true)
  177. if vo.status == 1 then
  178. self.model:JumpOneReadyJumpHandleFromServer(vo.role_id)
  179. end
  180. end
  181. --########### 跳一跳:跳跃:广播 ##############
  182. function JumpOneController:Handler45910( )
  183. local vo = SCMD45910.New(true)
  184. self.model:JumpOneDoJumpHandleFromServer(vo.role_id, vo.time,vo.status, vo.x, vo.y)
  185. end
  186. --########### 跳一跳:积分变化:单播 ##############
  187. function JumpOneController:Handler45911( )
  188. local vo = SCMD45911.New(true)
  189. PrintTable(vo)
  190. self.model:UpdateMemberInfo(vo)
  191. end
  192. --########### 跳一跳:下一个出生点 ##############
  193. function JumpOneController:Handler45912( )
  194. local vo = SCMD45912.New(true)
  195. self.model:SyncGameScene(vo)
  196. end
  197. --########### 跳一跳:退出活动 ##############
  198. function JumpOneController:Handler45913( )
  199. local vo = SCMD45913.New(true)
  200. end
  201. --########### 跳一跳:结算信息 ##############
  202. function JumpOneController:Handler45914( )
  203. local vo = SCMD45914.New(true)
  204. self.model:SetResultInfo(vo)
  205. self.model:ResetJumoOneMatchInfo()
  206. end
  207. --########### 跳一跳:玩家离线 ##############
  208. function JumpOneController:Handler45915( )
  209. local vo = SCMD45915.New(true)
  210. self.model:SetOffLinePlayer(vo)
  211. end
  212. --########### 跳一跳:玩家入场 ##############
  213. function JumpOneController:Handler45916( )
  214. local vo = SCMD45916.New(true)
  215. self.model:SetOnLinePlayer(vo)
  216. end
  217. --########### 跳一跳:玩家离场 ##############
  218. function JumpOneController:Handler45917( )
  219. local vo = SCMD45917.New(true)
  220. if vo.name ~= "" and not self.model.is_quit_game then
  221. Message.show(string.format("%s 已退赛,轮到下一位玩家!", vo.name))
  222. end
  223. end
  224. --########### 跳一跳:游戏结束 ##############
  225. function JumpOneController:Handler45918( )
  226. local vo = SCMD45918.New(true)
  227. self.model:SetGameEnd(vo)
  228. end
  229. --########### 跳一跳:单人进入 ##############
  230. function JumpOneController:Handler45919( )
  231. local vo = SCMD45919.New(true)
  232. if vo.res ~= 0 then
  233. ErrorCodeShow(vo.res)
  234. end
  235. end