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.

109 lines
2.8 KiB

  1. -- 茶馆踢出房间操作按钮Layout
  2. local ClubTableKickMenu = class("ClubTableKickMenu" , cc.UIView);
  3. function ClubTableKickMenu:ctor(clubId, tableIndex ,callback)
  4. ClubTableKickMenu.super.ctor(self)
  5. self:loadUI()
  6. self.tableIndex = tableIndex
  7. self.clubId = clubId
  8. self.clubInfo = app.club_php.clubList[clubId]
  9. self.room = self.clubInfo.rooms[tableIndex]
  10. self.callback = callback
  11. end
  12. function ClubTableKickMenu:loadUI()
  13. local ui = loadUI("res/ui/ui_club/ui_club_table_kick_menu.ui")
  14. self.ui = ui
  15. self:addChild(ui)
  16. end
  17. function ClubTableKickMenu:onEnter()
  18. ClubTableKickMenu.super.onEnter(self)
  19. self.ui.Items.Layout_player:setVisible(false);
  20. self:bindAllEvent();
  21. self:showPlayerInfo();
  22. end
  23. function ClubTableKickMenu:bindAllEvent()
  24. self:bindEvent(app.club , "onClubKickResponse" , handler(self , self.onClubKickResponse));
  25. end
  26. function ClubTableKickMenu:showPlayerInfo()
  27. if not self.room then
  28. showTooltip("房间不存在!")
  29. return
  30. end
  31. local gameId = nil
  32. local baoJian = app.club_php:getBaoJian(self.clubId,self.room.baoJianId)
  33. gameId = baoJian.realGameId
  34. local menuList = self.ui.Items.Layout_btn_menu;
  35. local uiTemplate = self.ui.Items.Layout_player;
  36. for k, v in pairs(self.room.players) do
  37. local uiItem = uiTemplate:getCopied()
  38. uiItem.Items = getUIItems(uiItem)
  39. -- 准备状态
  40. -- 0未连接,可判断离线1已登陆,正常为坐下2准备3在玩4在玩过程中离线5准备但离线6坐下但离线
  41. if v.state == 2 or v.state == 5 then
  42. uiItem.Items.Text_status:setText("准备");
  43. elseif v.state == 3 or v.state == 4 then
  44. uiItem.Items.Text_status:setText("正在玩");
  45. else
  46. uiItem.Items.Text_status:setText("未准备");
  47. end
  48. -- 昵称
  49. local nickname = getSubStringNickname(v.nickname,uiItem.Items.Text_name)
  50. uiItem.Items.Text_name:setText(nickname);
  51. --踢出按钮
  52. uiItem.Items.Button_kick:registerClick(function ()
  53. local content = "是否将该玩家踢出房间?"
  54. if app.club_php:getCestIsOpen(self.clubId) then
  55. content = "是否将该选手踢出房间?"
  56. end
  57. --确认回调
  58. local function okCallback()
  59. local kickInfo = ClubKickRequest:new()
  60. --游戏id
  61. kickInfo.gameid = gameId
  62. --房间号
  63. kickInfo.tableid = self.room.roomId
  64. --茶馆id
  65. kickInfo.groupid = self.clubId
  66. --被踢玩家uid
  67. kickInfo.beKickUid = v.uid
  68. app.club:requestKickInClub(kickInfo)
  69. end
  70. local function onCancel()
  71. end
  72. showConfirmDialog(content, okCallback, onCancel, nil);
  73. end)
  74. menuList:addChild(uiItem);
  75. end
  76. -- 重新布局
  77. menuList:requestDoLayout()
  78. menuList:doLayout()
  79. end
  80. function ClubTableKickMenu:onClubKickResponse()
  81. if self.callback then
  82. self.callback(self.tableIndex)
  83. end
  84. self:removeFromParent()
  85. end
  86. return ClubTableKickMenu