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.

225 lines
7.0 KiB

  1. -- 茶馆Layout
  2. local ClubMainItem = class("ClubMainItem");
  3. local ClubDefine = require("luaScript.Protocol.Club.ClubDefine")
  4. function ClubMainItem:ctor(index,data,selectCallback)
  5. self:loadUI()
  6. self.selectCallback = selectCallback;
  7. --初始化
  8. self.idx = index;
  9. self.clubInfo = data;
  10. --隐私数据
  11. self.cliext = self.clubInfo.groupext and self.clubInfo.groupext.cliext
  12. self:init();
  13. end
  14. function ClubMainItem:loadUI()
  15. self.ui = loadUI("core/res/ui/ui_club/ui_club_main_Item.ui")
  16. end
  17. function ClubMainItem:initButton()
  18. --邀请
  19. self.ui.Items.Button_invite:registerClick(handler(self , self.onInvite))
  20. --玩法设置
  21. self.ui.Items.Button_baojian:registerClick(handler(self , self.onManageClub))
  22. --进入茶馆
  23. self.ui.Items.ImageView_bg:registerClick(handler(self , self.onClickEnterClub))
  24. end
  25. function ClubMainItem:initStickButton()
  26. if not self:isOpenStick() then
  27. self.ui.Items.Button_Stick:setVisible(false)
  28. self.ui.Items.Button_Unstick:setVisible(false)
  29. return ;
  30. end
  31. --置顶
  32. self.ui.Items.Button_Stick:registerClick(handler(self , self.onBtnStickClicked))
  33. --取消置顶
  34. self.ui.Items.Button_Unstick:registerClick(handler(self , self.onBtnUnstickClicked))
  35. --是否置顶
  36. if self.clubInfo.stickyTime and tonumber(self.clubInfo.stickyTime) > 0 then
  37. self.ui.Items.Button_Stick:setVisible(false)
  38. self.ui.Items.Button_Unstick:setVisible(true)
  39. else
  40. self.ui.Items.Button_Stick:setVisible(true)
  41. self.ui.Items.Button_Unstick:setVisible(false)
  42. end
  43. end
  44. function ClubMainItem:isOpenStick()
  45. return true;
  46. end
  47. function ClubMainItem:init()
  48. self:initButton();
  49. self:initStickButton();
  50. --红点提示
  51. self.ui.Items.ImageView_dian:setVisible(false);
  52. --我的标签
  53. self.ui.Items.ImageView_icon_me:setVisible(false)
  54. self.ui.Items.Layout_Btn:setVisible(false)
  55. self.ui.Items.Button_enter:setVisible(false)
  56. self.ui.Items.Text_userid:setVisible(false)
  57. self.ui.Items.ImageView_match:setVisible(app.club_php:getMatchIsOpen(self.clubInfo.clubId))
  58. self.ui.Items.ImageView_cest:setVisible(app.club_php:getCestIsOpen(self.clubInfo.clubId))
  59. self:updateItem()
  60. end
  61. function ClubMainItem:updateItem()
  62. --按钮图片修改
  63. --[[if self.idx % 2 == 0 then
  64. self.ui.Items.Button_enter:loadTextureNormal("res/ui/zy_club/club_main/club_main_btn_enter.png")
  65. else
  66. self.ui.Items.Button_enter:loadTextureNormal("res/ui/zy_club/club_main/club_main_btn_enter_blue.png")
  67. end--]]
  68. --创建人头像
  69. local nodeHead = self.ui.Items.ImageView_head;
  70. if not self.cliext or not self.cliext.is_hideCreator or (self.cliext and self.cliext.is_hideCreator == 1) then
  71. nodeHead:loadTexture("res/ui/zy_club/club_main/club_main_default_img.png")
  72. else
  73. local headSize = nodeHead:getContentSize();
  74. setPlayerHeadImage(self.clubInfo.ownerId, self.clubInfo.strOwnerHeadUrl, nodeHead);
  75. end
  76. --茶馆名称
  77. self.ui.Items.Text_club_name:setText(self.clubInfo.clubName)
  78. --创建人名
  79. local nick = getSubStringNickname(self.clubInfo.ownerName)
  80. self.ui.Items.Text_create_name:setText(nick)
  81. if not self.cliext or not self.cliext.is_hideCreator or (self.cliext and self.cliext.is_hideCreator == 1) then
  82. self.ui.Items.Text_create_name:setText("昵称已隐藏")
  83. end
  84. --茶馆id
  85. self.ui.Items.Text_id:setText(self.clubInfo.clubId)
  86. -- 根据条件隐藏茶馆id
  87. if not self.cliext or not self.cliext.is_hideGid or (self.cliext and self.cliext.is_hideGid == 1) then
  88. if tonumber(self.clubInfo.role) ~= ClubDefine.Job.Manager and tonumber(self.clubInfo.role) ~= ClubDefine.Job.Creator then
  89. self.ui.Items.Text_id:setVisible(false)
  90. end
  91. end
  92. --ID
  93. self.ui.Items.Text_userid:setText("ID:"..self.clubInfo.ownerId)
  94. --在玩桌数
  95. --self.ui.Items.Text_table_count:setText(self.clubInfo.onlineRoomNum)
  96. --如果自己为管理员或创始人则显示邀请及包间设置按钮(1:成员 2:管理员 3:创始人)
  97. if tonumber(self.clubInfo.role) == 3 then
  98. self.ui.Items.ImageView_icon_me:setVisible(true)
  99. --成员数量
  100. self.ui.Items.Text_player_count:setText("在线:"..tostring(self.clubInfo.onlinePlayerNum).."人")
  101. else
  102. self.ui.Items.Text_player_count:setText("有人在线")
  103. end
  104. end
  105. --邀请
  106. function ClubMainItem:onInvite()
  107. playBtnEffect()
  108. local title = string.format("%s名称:%s",(app.club_php:getCestIsOpen(app.club_php.clubID) and PLN.CLUB_CEST_NAME or PLN.CLUB_NAME), self.clubInfo.clubName)
  109. local content = string.format("可视化牌桌,不用自己开房就可以玩牌。");
  110. local desc = string.format("%sID:%s\n%s",(app.club_php:getCestIsOpen(app.club_php.clubID) and PLN.CLUB_CEST_NAME or PLN.CLUB_NAME), self.clubInfo.clubId,content);
  111. local info = {}
  112. --info.ClubID = self.clubInfo.gid
  113. info.title = title
  114. info.description = desc
  115. print("用户开始分享")
  116. --需要显示的按钮(1:微信 2:复制 3:茶馆 )
  117. info.menuIdxs = {1,4,5,6}
  118. local view = import("luaScript.Views.Main.ShareView"):new(info)
  119. view:setAnchorPoint(cc.p(0.5, 0.5))
  120. app:showWaitDialog(view)
  121. end
  122. --包间管理
  123. function ClubMainItem:onManageClub()
  124. playBtnEffect()
  125. local view = import("luaScript.Views.Club.ClubBaojianManager"):new(self.clubInfo.clubId)
  126. view:setAnchorPoint(cc.p(0.5, 0.5))
  127. app:showWaitDialog(view)
  128. end
  129. function ClubMainItem:onClickEnterClub()
  130. playBtnEffect()
  131. if self.selectCallback then
  132. self.selectCallback(self.clubInfo.clubId, tonumber(self.clubInfo.stickyTime))
  133. end
  134. self:onEnterClub()
  135. end
  136. --进入茶馆
  137. function ClubMainItem:onEnterClub()
  138. if app.club_php:getCestIsOpen(self.clubInfo.clubId) then
  139. showTooltip("赛事结束,下一轮敬请期待!")
  140. return
  141. end
  142. local view = import("luaScript.Views.Club.ClubTable"):new(self.clubInfo.clubId)
  143. view:setAnchorPoint(cc.p(0.5, 0.5))
  144. app:showWaitDialog(view)
  145. end
  146. --更新茶馆玩法
  147. function ClubMainItem:updateClubRuleName(settings)
  148. if settings and table.nums(settings) > 0 then
  149. local ruleInfo = json.decode(settings.strGameRule);
  150. if ruleInfo and table.nums(ruleInfo) > 0 then
  151. -- local gameRule = ruleInfo.strGameRule
  152. local gameId = settings.gameId
  153. local ruleName = getSubGameName(tonumber(gameId))
  154. if ruleName == "nil" then
  155. local config = getSubGameConfig(tonumber(gameId))
  156. if config then
  157. ruleName = config.gameName or ""
  158. end
  159. end
  160. self.ui.Items.Text_game_rule:setText(ruleName or "");
  161. end
  162. else
  163. self.ui.Items.Text_game_rule:setText("未设置")
  164. end
  165. end
  166. --置顶
  167. function ClubMainItem:onBtnStickClicked()
  168. self.ui.Items.Button_Stick:setTouchEnabled(false)
  169. self.ui.Items.Button_Stick:runAction(cc.Sequence:create(cc.DelayTime:create(0.5),cc.CallFunc:create(function ()
  170. self.ui.Items.Button_Stick:setTouchEnabled(true)
  171. end)))
  172. if self.selectCallback then
  173. self.selectCallback(self.clubInfo.clubId, tonumber(self.clubInfo.stickyTime), true)
  174. end
  175. end
  176. --取消置顶
  177. function ClubMainItem:onBtnUnstickClicked()
  178. self.ui.Items.Button_Unstick:setTouchEnabled(false)
  179. self.ui.Items.Button_Unstick:runAction(cc.Sequence:create(cc.DelayTime:create(0.5),cc.CallFunc:create(function ()
  180. self.ui.Items.Button_Unstick:setTouchEnabled(true)
  181. end)))
  182. if self.selectCallback then
  183. self.selectCallback(self.clubInfo.clubId, tonumber(self.clubInfo.stickyTime), false)
  184. end
  185. end
  186. return ClubMainItem