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.

97 lines
3.0 KiB

  1. local ZPDef = ZPFramework.ZPImport("zp_base.luaScript.ZPDef")
  2. local ZPMessage = ZPFramework.ZPImport("zp_base.luaScript.Protocol.ZPMessage")
  3. local ZPRoomToolView = ZPFramework.ZPFrameworkClassImprot("zp_base.luaScript.Views.Room.ZPRoomToolView")
  4. local doushisiRoomToolView = class("doushisiRoomToolView", ZPRoomToolView)
  5. function doushisiRoomToolView:ctor( ... )
  6. doushisiRoomToolView.super.ctor(self)
  7. end
  8. function doushisiRoomToolView:loadUi()
  9. local ui = loadUI("zp_doushisi/res/ui/ui_fangjian/doushisi_ui_Tool.ui")
  10. self.ui = ui;
  11. self:addChild(ui);
  12. end
  13. ---
  14. -- 初始化托管
  15. -- @return
  16. --
  17. function doushisiRoomToolView:initTuoGuan ()
  18. if self.ui.Items.Layout_tuoguan then
  19. self.ui.Items.Button_guoguan:registerClick(handler(self , self.onClickQXTuoGuan))
  20. self.ui.Items.Layout_tuoguan:setTouchEnabled(true)
  21. self.ui.Items.Layout_tuoguan:setLocalZOrder(1000)
  22. self:showTuoGuan(false)
  23. end
  24. end
  25. function doushisiRoomToolView:onEnter()
  26. doushisiRoomToolView.super.onEnter(self)
  27. --self:showFastStart(false)
  28. self:initVoiceComponent()
  29. self:initTuoGuan()
  30. end
  31. function doushisiRoomToolView:showFastStart(is)
  32. local roomInfo = app.room.roomInfo
  33. local curCount = roomInfo.nGameStartCount or 0
  34. if curCount > 0 or (roomInfo.nStatus and roomInfo.nStatus>=ZPDef.ReconnectState.GAME_STATUS_WAIT_OUT_CARDS and roomInfo.nStatus<=ZPDef.ReconnectState.GAME_STATUS_GAME_OVER) then
  35. self.ui.Items.Button_EarlyStart:setVisible(false)
  36. else
  37. local gameInfo=json.decode(roomInfo.strGameInfo)
  38. local playnum = gameInfo.playnum or 0
  39. if playnum == -1 then
  40. playnum = 4
  41. end
  42. local isShowEarlyStart = table.nums(app.room.roomInfo.memberList) < playnum and table.nums(app.room.roomInfo.memberList) > 2
  43. if true == is and isShowEarlyStart and curCount<=0 then
  44. --local playerCount = app.room:getPlayerCount()
  45. self.ui.Items.Button_EarlyStart:setVisible(true)
  46. else
  47. self.ui.Items.Button_EarlyStart:setVisible(false)
  48. end
  49. if gameInfo.startMode and gameInfo.startMode == 0 then--不是快速组局
  50. self.ui.Items.Button_EarlyStart:setVisible(false)
  51. end
  52. end
  53. end
  54. function doushisiRoomToolView:onClickFace()
  55. local chatView = import("luaScript.Views.Room.RoomChatView"):new(ZPDef.DOUSHISI_GAME_CHAT_TXT)
  56. chatView:setAnchorPoint(cc.p(0.5, 0.5))
  57. app:showWaitDialog(chatView,0,true)
  58. end
  59. function doushisiRoomToolView:initVoiceComponent()
  60. local voiceComponentView = import("luaScript.Views.Room.RoomVoiceComponentView"):new(self.ui.Items.Button_Voice)
  61. self:addChild(voiceComponentView)
  62. end
  63. ---
  64. -- 点击取消托管
  65. -- @param sender
  66. -- @return
  67. --
  68. function doushisiRoomToolView:onClickQXTuoGuan( sender )
  69. playBtnEffect()
  70. --
  71. local request = ZPMessage.HostingRequest:new()
  72. request.nUserId = 0
  73. request.status = 0 --1托管 0取消托管
  74. self.ui:sendMsg(app.room, ZPDef.ZPEvent.HostingRequest, request)
  75. end
  76. ---
  77. -- 显示托管
  78. -- @param is
  79. -- @return
  80. --
  81. function doushisiRoomToolView:showTuoGuan( is )
  82. self.ui.Items.Layout_tuoguan:setVisible(is==true)
  83. end
  84. return doushisiRoomToolView