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.

223 lines
6.7 KiB

  1. --茶馆包间管理Layout
  2. local ClubBaojianManager = class("ClubBaojianManager" , cc.UIView);
  3. function ClubBaojianManager:ctor(clubId)
  4. ClubBaojianManager.super.ctor(self)
  5. --单个茶馆数据
  6. self.clubId = clubId
  7. self.clubInfo = app.club_php.clubList[clubId]
  8. self:loadUI()
  9. end
  10. function ClubBaojianManager:loadUI()
  11. local ui = loadUI("res/ui/ui_club/ui_club_baojian_manager.ui");
  12. self.ui = ui;
  13. self:addChild(ui)
  14. end
  15. function ClubBaojianManager:onEnter()
  16. ClubBaojianManager.super.onEnter(self)
  17. self.ui.Items.Layout_item:setVisible(false);
  18. self.ui.Items.Button_add:setVisible(false);
  19. -- 关闭
  20. self.ui.Items.Button_close:registerClick(handler(self , self.onClose))
  21. self.ui.Items.Button_add:registerClick(handler(self , self.onClickAddBaoJian))
  22. --规则修改推送
  23. self:bindEvent(app.club_php , GAME_EVENT.CLUB_CHANGE_RULE_PUSH , handler(self , self.updateBaoJian))
  24. --无数据显示
  25. self.ui.Items.Layout_no_data:setVisible(false)
  26. self:updateBaoJian()
  27. end
  28. function ClubBaojianManager:onClose()
  29. playBtnCloseEffect()
  30. self:removeFromParent()
  31. end
  32. function ClubBaojianManager:updateBaoJian()
  33. local baoJians = self.clubInfo.baoJians
  34. --包间个数
  35. local baojianNum = table.nums(baoJians)
  36. self.ui.Items.Text_baojian_nums:setText(baojianNum)
  37. local groupView = self.ui.Items.ScrollView
  38. groupView:getInnerContainer():setAutoSize(true)
  39. groupView:hideAllBar()
  40. groupView:removeAllChildren()
  41. local uiTemplate = self.ui.Items.Layout_item
  42. local index = 1
  43. for baoJianId,baojian in pairsByKeys(baoJians) do
  44. self:addItem(baojian,index)
  45. index = index+1
  46. end
  47. --包间小于后台下发的个数 显示添加按钮
  48. local role = self.clubInfo.role;
  49. if self.clubInfo.config and self.clubInfo.config.gameRuleLimit and baojianNum < self.clubInfo.config.gameRuleLimit and (role == 2 or role == 3) then
  50. -- if baojianNum < 5 and (role == 2 or role == 3) then
  51. self.ui.Items.Button_add:setVisible(true)
  52. -- local uiAddItem = self.ui.Items.Layout_item_add:getCopied()
  53. -- uiAddItem.Items = getUIItems(uiAddItem)
  54. -- --新增包间
  55. -- uiAddItem.Items.Layout_add_touch:registerClick(function ()
  56. -- playBtnEffect()
  57. -- local view = import("luaScript.Views.Club.ClubChangeRule"):new(self.clubInfo.clubId)
  58. -- view:setAnchorPoint(cc.p(0.5, 0.5))
  59. -- app:showWaitDialog(view)
  60. -- end)
  61. -- groupView:addChild(uiAddItem);
  62. else
  63. self.ui.Items.Button_add:setVisible(false)
  64. end
  65. if baojianNum>0 then
  66. self.ui.Items.Layout_title:setVisible(true)
  67. self.ui.Items.Layout_no_data:setVisible(false)
  68. else
  69. self.ui.Items.Layout_title:setVisible(false)
  70. self.ui.Items.Layout_no_data:setVisible(true)
  71. end
  72. groupView:jumpToTopOnSizeChanged()
  73. end
  74. function ClubBaojianManager:onClickAddBaoJian()
  75. playBtnEffect()
  76. local view = import("luaScript.Views.Club.ClubChangeRule"):new(self.clubInfo.clubId)
  77. view:setAnchorPoint(cc.p(0.5, 0.5))
  78. app:showWaitDialog(view)
  79. end
  80. function ClubBaojianManager:addItem(baojian,index)
  81. local groupView = self.ui.Items.ScrollView
  82. local uiTemplate = self.ui.Items.Layout_item
  83. local uiItem = uiTemplate:getCopied()
  84. autoAdapt(uiItem)
  85. uiItem.Items = getUIItems(uiItem)
  86. local gameId = baojian.gameId
  87. local baoJianId = baojian.baoJianId
  88. --包间下标
  89. uiItem.Items.TextBMFont_idx:setText(index)
  90. --包间名
  91. local role = self.clubInfo.role;
  92. local baojianName = baojian.title
  93. if not baojianName or baojianName == "" then
  94. if role == 2 or role == 3 then
  95. baojianName = "设置包间名"
  96. if app.club_php:getCestIsOpen(self.clubInfo.clubId) then
  97. baojianName = "设置赛事名"
  98. end
  99. else
  100. baojianName = "管理员未设置名字"
  101. end
  102. end
  103. uiItem.Items.Text_baojian_name:setText(baojianName)
  104. -- 局数
  105. uiItem.Items.Text_jushu:setText(baojian.gameNum.."局")
  106. -- 玩法名
  107. local rules = json.decode(baojian.strGameRule);
  108. local gamerule = rules.gamerule
  109. if gamerule then
  110. local ruleName = getSubGameRuleName(gameId, gamerule)
  111. uiItem.Items.Text_wanfa_name:setText(ruleName)
  112. end
  113. --在线桌数
  114. -- if self.clubInfo.mode == 1 then
  115. -- uiItem.Items.Text_3:setVisible(false)
  116. -- else
  117. -- uiItem.Items.Text_3:setVisible(true)
  118. -- uiItem.Items.Text_online:setText(baojian.onlineRoomNum.."桌")
  119. -- end
  120. --(1:成员 2:管理员 3:创始人)
  121. if role == 2 or role == 3 then
  122. uiItem.Items.Button_name_set:setVisible(true)
  123. uiItem.Items.Button_change_rule:setVisible(true)
  124. uiItem.Items.Button_delete:setVisible(true)
  125. --包间名修改
  126. uiItem.Items.Text_baojian_name:registerClick(function ()
  127. playBtnEffect();
  128. local view = import("luaScript.Views.Club.ClubBaojianChangeName"):new(self.clubInfo.clubId, baoJianId, baojian.title)
  129. view:setAnchorPoint(cc.p(0.5, 0.5))
  130. app:showWaitDialog(view)
  131. end)
  132. --包间名修改
  133. uiItem.Items.Button_name_set:registerClick(function ()
  134. playBtnEffect()
  135. local view = import("luaScript.Views.Club.ClubBaojianChangeName"):new(self.clubInfo.clubId, baoJianId, baojian.title)
  136. view:setAnchorPoint(cc.p(0.5, 0.5))
  137. app:showWaitDialog(view)
  138. end)
  139. --修改玩法规则
  140. uiItem.Items.Button_change_rule:registerClick(function ()
  141. playBtnEffect()
  142. local view = import("luaScript.Views.Club.ClubChangeRule"):new(self.clubInfo.clubId, gameId, gamerule, baoJianId)
  143. view:setAnchorPoint(cc.p(0.5, 0.5))
  144. app:showWaitDialog(view)
  145. end)
  146. --删除包间
  147. uiItem.Items.Button_delete:registerClick(function ()
  148. playBtnEffect()
  149. local content = "是否将该游戏从列表中删除?"
  150. --确认回调
  151. local function okCallback()
  152. app.club_php:requestChangeRule(self.clubInfo.clubId, baoJianId, gameId, baojian.gameNum, baojian.strGameRule, 1)
  153. end
  154. local view = import("luaScript.Views.Club.ClubBaojianTips"):new(content, gameId, uiItem.Items.Text_wanfa_name:getString() , baojian.gameNum, okCallback, nil)
  155. view:setAnchorPoint(cc.p(0.5, 0.5))
  156. app:showWaitDialog(view)
  157. end)
  158. --查看玩法详情
  159. uiItem.Items.Button_look:registerClick(function ()
  160. playBtnEffect()
  161. --local view = import("luaScript.Views.Club.ClubBaojianRuleTips"):new(gameId, baojian.gameNum, baojian.strGameRule)
  162. local view = import("luaScript.Views.Club.ClubBaojianRule"):new(self.clubId, baoJianId)
  163. view:setAnchorPoint(cc.p(0.5, 0.5))
  164. --计算坐标
  165. local parentNode = uiItem.Items.Button_look
  166. local worldPos = parentNode:getWorldPosition()
  167. local viewContentSize = cc.size(425, 195)
  168. local x = worldPos.x - viewContentSize.width
  169. local y = worldPos.y - viewContentSize.height/2
  170. local newPos = cc.p(x, y)
  171. view:setPosition(newPos)
  172. app:showWaitDialog(view, 0, true)
  173. end)
  174. else
  175. uiItem.Items.Button_name_set:setVisible(false)
  176. uiItem.Items.Button_change_rule:setVisible(false)
  177. uiItem.Items.Button_delete:setVisible(false)
  178. end
  179. groupView:addChild(uiItem)
  180. end
  181. return ClubBaojianManager