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.

194 lines
5.5 KiB

  1. local MJDefine=MJFramework.MJImport("mj.luaScript.MJDefine")
  2. local MJRoomPlayerView = MJFramework.MJFrameworkClassImprot("mj.luaScript.Views.Room.MJRoomPlayerView")
  3. local NeiJiangMJRoomPlayerView = class("NeiJiangMJRoomPlayerView", MJRoomPlayerView)
  4. function NeiJiangMJRoomPlayerView:ctor()
  5. NeiJiangMJRoomPlayerView.super.ctor(self);
  6. end
  7. function NeiJiangMJRoomPlayerView:loadUI()
  8. local ui = loadUI("mj_neijiang/res/ui_fangjian/mj_neijiang_playerView.ui");
  9. self.ui = ui;
  10. self:addChild(ui);
  11. end
  12. function NeiJiangMJRoomPlayerView:onEnter()
  13. self:loadUI()
  14. self:init()
  15. end
  16. function NeiJiangMJRoomPlayerView:init()
  17. local names =
  18. {
  19. player = "Layout_player_%d", -- 头像绿圈根节点
  20. head = "ImageView_head_%d", -- 头像
  21. -- headBoarder = "ImageView_head_border_%d", --头像边
  22. name = "Text_Name_%d", -- 名字
  23. score = "Text_Score_%d", -- 总分数
  24. banker = "ImageView_banker_%d", -- 庄家
  25. readyState = "ImageView_ready_%d", -- 准备
  26. headInfo = "Layout_PlayerInfo_%d", --个人信息点击触发框
  27. offLine = "ImageView_offLine_%d", --离线标志
  28. --其他节点
  29. arrow = "ImageView_arrow_%d", -- 指示器
  30. tip = "ImageView_tip_%d", --提示操作图
  31. huxi = "Text_huxi_%d", --胡息
  32. qihu = "ImageView_qihu_%d", --弃胡
  33. piao = "ImageView_piao_tag_%d", -- 飘
  34. baojiao = "ImageView_bao_tag_%d", -- 报叫
  35. bozimo = "ImageView_bozimo_tag_%d", -- 博自摸
  36. }
  37. self.allNodes = {}
  38. self.headSize = {}
  39. for i = 1,4 do--LHQ_GAME_CONST.LHQ_GAME_CONST_PLAYER do
  40. local nodes = {}
  41. --玩家根节点
  42. local namePlayer = string.format(names.player,i)
  43. local nodePlayer = self.ui.Items[namePlayer]
  44. -- nodePlayer:setVisible(false)
  45. nodes.player = nodePlayer
  46. --头像
  47. local nameHead = string.format(names.head,i)
  48. local nodeHead = self.ui.Items[nameHead]
  49. nodes.head = nodeHead
  50. nodeHead:setTouchEnabled(true)
  51. nodeHead:registerClick(function()
  52. self:onClickHead(i)
  53. end)
  54. -- local headBoarder = string.format(names.headBoarder,i)
  55. -- local nodeheadBoarder = self.ui.Items[headBoarder]
  56. -- nodes.headBoarder = nodeheadBoarder
  57. -- 需要记录头像的原始尺寸
  58. if not self.headSize.width then
  59. self.headSize.width = nodeHead:getContentSize().width
  60. self.headSize.height = nodeHead:getContentSize().height
  61. end
  62. --昵称
  63. local nickName = string.format(names.name,i)
  64. local nodeName = self.ui.Items[nickName]
  65. nodes.name = nodeName
  66. nodeName:setText("")
  67. --总分
  68. local nickScore = string.format(names.score,i)
  69. local nodeScore = self.ui.Items[nickScore]
  70. nodes.score = nodeScore
  71. --庄家
  72. local nameBanker = string.format(names.banker,i)
  73. local nodeBanker = self.ui.Items[nameBanker]
  74. nodeBanker:setVisible(false)
  75. nodes.banker = nodeBanker
  76. --准备
  77. local nameReadyState = string.format(names.readyState,i)
  78. local nodeReadyState = self.ui.Items[nameReadyState]
  79. nodes.readyState = nodeReadyState
  80. --头像信息
  81. local headInfo = string.format(names.headInfo,i)
  82. local nodeheadInfo = self.ui.Items[headInfo]
  83. nodes.headInfo = nodeheadInfo
  84. --离线信息
  85. local offLine = string.format(names.offLine,i)
  86. local nodeoffLine = self.ui.Items[offLine]
  87. nodes.offLine = nodeoffLine
  88. --指示器
  89. -- local nameArrow = string.format(names.arrow,i)
  90. -- local nodeArrow = self.ui.Items[nameArrow]
  91. -- nodes.arrow = nodeArrow
  92. --tip
  93. local nameTip = string.format(names.tip,i)
  94. local nodeTip = self.ui.Items[nameTip]
  95. nodes.tip = nodeTip
  96. --huxi
  97. local nameHuxi = string.format(names.huxi,i)
  98. local nodeHuxi = self.ui.Items[nameHuxi]
  99. nodes.huxi = nodeHuxi
  100. --弃胡
  101. local nameQiHu = string.format(names.qihu,i)
  102. local nodeQiHu = self.ui.Items[nameQiHu]
  103. nodeQiHu:setVisible(false)
  104. nodes.qihu = nodeQiHu
  105. -- 飘
  106. local namePiao = string.format(names.piao, i);
  107. local nodePiao = self.ui.Items[namePiao];
  108. nodePiao:setVisible(false);
  109. nodes.piao = nodePiao;
  110. -- 报叫
  111. local nameBaoJiao = string.format(names.baojiao, i);
  112. local nodeBaoJiao = self.ui.Items[nameBaoJiao];
  113. nodeBaoJiao:setVisible(false);
  114. nodes.baojiao = nodeBaoJiao;
  115. -- 博自摸
  116. local nameBoZiMo = string.format(names.bozimo, i);
  117. local nodeBoZiMo = self.ui.Items[nameBoZiMo];
  118. nodeBoZiMo:setVisible(false);
  119. nodes.bozimo = nodeBoZiMo;
  120. self.allNodes[i] = nodes
  121. end
  122. self:initChatComponent()
  123. self.PropAniManager = import("luaScript.Tools.PropAniPlayer"):new(self.ui)
  124. --发送道具
  125. self:bindEvent(app.room,"showProp" , handler(self , self.showProp));
  126. end
  127. ---
  128. -- 显示对应玩家相关飘的标识或动画
  129. -- @param viewId 本地座位
  130. -- @param isVisible 是否显示
  131. -- @return
  132. --
  133. function NeiJiangMJRoomPlayerView:setPiaoVisible(viewId, isVisible)
  134. local node = self.allNodes[viewId];
  135. if not (node and node.piao) then
  136. return ;
  137. end
  138. node.piao:setVisible(isVisible);
  139. end
  140. ---
  141. -- 显示对应玩家相关报叫的标识或动画
  142. -- @param viewId 本地座位
  143. -- @param isVisible 是否显示
  144. -- @return
  145. --
  146. function NeiJiangMJRoomPlayerView:setBaoJiaoVisible(viewId, isVisible)
  147. local node = self.allNodes[viewId];
  148. if not (node and node.baojiao) then
  149. return ;
  150. end
  151. node.baojiao:setVisible(isVisible);
  152. end
  153. ---
  154. -- 显示对应玩家相关博自摸的标识或动画
  155. -- @param viewId 本地座位
  156. -- @param isVisible 是否显示
  157. -- @return
  158. --
  159. function NeiJiangMJRoomPlayerView:setBoZiMoVisible(viewId, isVisible)
  160. local node = self.allNodes[viewId];
  161. if not (node and node.bozimo) then
  162. return ;
  163. end
  164. node.bozimo:setVisible(isVisible);
  165. end
  166. return NeiJiangMJRoomPlayerView