您不能選擇超過 %s 個話題 話題必須以字母或數字為開頭,可包含連接號 ('-') 且最長為 35 個字

262 行
7.7 KiB

  1. local MJDefine=MJFramework.MJImport("mj.luaScript.MJDefine")
  2. local MJRoomPlayerView = MJFramework.MJFrameworkClassImprot("mj.luaScript.Views.Room.MJRoomPlayerView")
  3. local zigongRoomPlayerView = class("zigongRoomPlayerView", MJRoomPlayerView)
  4. function zigongRoomPlayerView:ctor()
  5. zigongRoomPlayerView.super.ctor(self);
  6. end
  7. function zigongRoomPlayerView:loadUI()
  8. local ui = loadUI("mj_zigong/res/ui_fangjian/mj_zigong_playerView.ui");
  9. self.ui = ui;
  10. self:addChild(ui);
  11. end
  12. function zigongRoomPlayerView:onEnter()
  13. self:loadUI()
  14. self:init()
  15. self:resetTuoGuanShow()
  16. end
  17. -- 托管显示
  18. function zigongRoomPlayerView:resetTuoGuanShow()
  19. for i=1,4 do
  20. self.ui.Items["ImageView_tuoguan_"..i]:setVisible(false)
  21. end
  22. end
  23. function zigongRoomPlayerView:showTuoGuanByViewId(viewId,bVisible)
  24. self.ui.Items["ImageView_tuoguan_"..viewId]:setVisible(bVisible)
  25. end
  26. function zigongRoomPlayerView:init()
  27. local names =
  28. {
  29. player = "Layout_player_%d", -- 头像绿圈根节点
  30. head = "ImageView_head_%d", -- 头像
  31. -- headBoarder = "ImageView_head_border_%d", --头像边
  32. name = "Text_Name_%d", -- 名字
  33. score = "Text_Score_%d", -- 总分数
  34. banker = "ImageView_banker_%d", -- 庄家
  35. readyState = "ImageView_ready_%d", -- 准备
  36. headInfo = "Layout_PlayerInfo_%d", --个人信息点击触发框
  37. offLine = "ImageView_offLine_%d", --离线标志
  38. --其他节点
  39. arrow = "ImageView_arrow_%d", -- 指示器
  40. tip = "ImageView_tip_%d", --提示操作图
  41. huxi = "Text_huxi_%d", --胡息
  42. qihu = "ImageView_qihu_%d", --弃胡
  43. bao = "ImageView_bao_%d", --爆
  44. piao = "ImageView_piao_%d", --飘
  45. bozimo = "ImageView_bozimo_%d", --博自摸
  46. }
  47. self.allNodes = {}
  48. self.headSize = {}
  49. for i = 1,4 do--LHQ_GAME_CONST.LHQ_GAME_CONST_PLAYER do
  50. local nodes = {}
  51. --玩家根节点
  52. local namePlayer = string.format(names.player,i)
  53. local nodePlayer = self.ui.Items[namePlayer]
  54. -- nodePlayer:setVisible(false)
  55. nodes.player = nodePlayer
  56. --头像
  57. local nameHead = string.format(names.head,i)
  58. local nodeHead = self.ui.Items[nameHead]
  59. nodes.head = nodeHead
  60. nodeHead:setTouchEnabled(true)
  61. nodeHead:registerClick(function()
  62. self:onClickHead(i)
  63. end)
  64. -- 需要记录头像的原始尺寸
  65. if not self.headSize.width then
  66. self.headSize.width = nodeHead:getContentSize().width
  67. self.headSize.height = nodeHead:getContentSize().height
  68. end
  69. --昵称
  70. local nickName = string.format(names.name,i)
  71. local nodeName = self.ui.Items[nickName]
  72. nodes.name = nodeName
  73. nodeName:setText("")
  74. --总分
  75. local nickScore = string.format(names.score,i)
  76. local nodeScore = self.ui.Items[nickScore]
  77. nodes.score = nodeScore
  78. --庄家
  79. local nameBanker = string.format(names.banker,i)
  80. local nodeBanker = self.ui.Items[nameBanker]
  81. nodeBanker:setVisible(false)
  82. nodes.banker = nodeBanker
  83. --准备
  84. local nameReadyState = string.format(names.readyState,i)
  85. local nodeReadyState = self.ui.Items[nameReadyState]
  86. nodes.readyState = nodeReadyState
  87. --头像信息
  88. local headInfo = string.format(names.headInfo,i)
  89. local nodeheadInfo = self.ui.Items[headInfo]
  90. nodes.headInfo = nodeheadInfo
  91. --离线信息
  92. local offLine = string.format(names.offLine,i)
  93. local nodeoffLine = self.ui.Items[offLine]
  94. nodes.offLine = nodeoffLine
  95. --指示器
  96. -- local nameArrow = string.format(names.arrow,i)
  97. -- local nodeArrow = self.ui.Items[nameArrow]
  98. -- nodes.arrow = nodeArrow
  99. --tip
  100. local nameTip = string.format(names.tip,i)
  101. local nodeTip = self.ui.Items[nameTip]
  102. nodes.tip = nodeTip
  103. --huxi
  104. local nameHuxi = string.format(names.huxi,i)
  105. local nodeHuxi = self.ui.Items[nameHuxi]
  106. nodes.huxi = nodeHuxi
  107. --弃胡
  108. local nameQiHu = string.format(names.qihu,i)
  109. local nodeQiHu = self.ui.Items[nameQiHu]
  110. nodeQiHu:setVisible(false)
  111. nodes.qihu = nodeQiHu
  112. --飘
  113. local namePiao = string.format(names.piao,i)
  114. local nodePiao = self.ui.Items[namePiao]
  115. nodePiao:setVisible(false)
  116. nodes.piao = nodePiao
  117. --爆
  118. local nameBao = string.format(names.bao,i)
  119. local nodeBao = self.ui.Items[nameBao]
  120. nodeBao:setVisible(false)
  121. nodes.bao = nodeBao
  122. --博自摸
  123. local nameBoZiMo = string.format(names.bozimo,i)
  124. local nodeBoZiMo = self.ui.Items[nameBoZiMo]
  125. nodeBoZiMo:setVisible(false)
  126. nodes.bozimo = nodeBoZiMo
  127. self.allNodes[i] = nodes
  128. end
  129. self:initChatComponent()
  130. self.PropAniManager = import("luaScript.Tools.PropAniPlayer"):new(self.ui)
  131. --发送道具
  132. self:bindEvent(app.room,"showProp" , handler(self , self.showProp));
  133. self:bindEvent(app , MJDefine.MJEvent.ChangeChatEnable , handler(self , self.onChangeChatEnable))
  134. end
  135. function zigongRoomPlayerView:initChatComponent()
  136. zigongRoomPlayerView.super.initChatComponent(self);
  137. local voiceEnable = tonumber(loadUserInfo("zigongPingBiYuYinKG")) or 1
  138. local propEnable = tonumber(loadUserInfo("zigongHuDongBiaoQingKG")) or 1
  139. self.chatComponentView:setVoiceEnabled(voiceEnable==1)
  140. self.chatComponentView:setPropEnabled(propEnable==1)
  141. end
  142. function zigongRoomPlayerView:onChangeChatEnable()
  143. if not self.chatComponentView or tolua.isnull(self.chatComponentView) then
  144. return
  145. end
  146. local voiceEnable = tonumber(loadUserInfo("zigongPingBiYuYinKG")) or 1
  147. local propEnable = tonumber(loadUserInfo("zigongHuDongBiaoQingKG")) or 1
  148. self.chatComponentView:setVoiceEnabled(voiceEnable==1)
  149. self.chatComponentView:setPropEnabled(propEnable==1)
  150. end
  151. function zigongRoomPlayerView:playBaoAnim(view)
  152. if self.allNodes[view] and self.allNodes[view].bao then
  153. self.allNodes[view].bao:setVisible(true)
  154. --自贡不播爆动画了
  155. --[[-- 加载第一张图片
  156. local nodeImage = cc.ImageView:createNode()
  157. nodeImage:loadTexture(string.format("luzhou_bao_%d",1))
  158. self.allNodes[view].bao:addChild(nodeImage)
  159. local baoSize = self.allNodes[view].bao:getContentSize()
  160. nodeImage:setPosition(cc.p(baoSize.width/2-1,baoSize.height/2-2))
  161. -- 循环修改图片
  162. local everyFrame = 0.1
  163. local indexFace = 0
  164. local indexMax = 7
  165. local action1 = cc.Sequence:create(cc.DelayTime:create(everyFrame),cc.CallFunc:create(function ()
  166. indexFace = indexFace + 1
  167. if 0 < indexFace and indexFace <= indexMax then
  168. else
  169. indexFace = 1
  170. end
  171. local name = string.format("luzhou_bao_%d.png",indexFace)
  172. if not tolua.isnull(nodeImage) then
  173. nodeImage:loadTexture(name, cc.TextureResType.plistType)
  174. end
  175. end))
  176. local action2 = cc.Repeat:create(action1, indexMax)
  177. nodeImage:stopAllActions()
  178. nodeImage:runAction(cc.RepeatForever:create(action2));
  179. nodeImage:setVisible(true)--]]
  180. end
  181. end
  182. function zigongRoomPlayerView:clearBao()
  183. for i=1,4 do
  184. if self.allNodes[i] and self.allNodes[i].bao then
  185. self.allNodes[i].bao:setVisible(false)
  186. self.allNodes[i].bao:removeAllChildren()
  187. end
  188. end
  189. end
  190. -- 显示飘标志
  191. function zigongRoomPlayerView:showPiao(viewId,bVisible)
  192. if self.allNodes[viewId] and self.allNodes[viewId].piao then
  193. self.allNodes[viewId].piao:setVisible(bVisible)
  194. else
  195. logE("zigongRoomPlayerView:showPiao ->viewId is not exit"..viewId)
  196. end
  197. end
  198. -- 清理所有飘标志
  199. function zigongRoomPlayerView:clearAllPiao()
  200. for i=1,4 do
  201. if self.allNodes[i] and self.allNodes[i].piao then
  202. self.allNodes[i].piao:setVisible(false)
  203. end
  204. end
  205. end
  206. -- 显示博自摸
  207. function zigongRoomPlayerView:showBoZiMo(viewId,bVisible)
  208. if self.allNodes[viewId] and self.allNodes[viewId].bozimo then
  209. self.allNodes[viewId].bozimo:setVisible(bVisible)
  210. else
  211. logE("zigongRoomPlayerView:showBoZiMo ->viewId is not exit"..viewId)
  212. end
  213. end
  214. -- 清理所有博自摸
  215. function zigongRoomPlayerView:clearAllBoZiMo()
  216. for i=1,4 do
  217. if self.allNodes[i] and self.allNodes[i].bozimo then
  218. self.allNodes[i].bozimo:setVisible(false)
  219. end
  220. end
  221. end
  222. return zigongRoomPlayerView