選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

254 行
7.8 KiB

  1. local MJDefine=MJFramework.MJImport("mj.luaScript.MJDefine")
  2. local MJRoomDaJuView=MJFramework.MJFrameworkClassImprot("mj.luaScript.Views.Room.MJRoomDaJuView")
  3. local MJWanFa=MJFramework.ImportWanFa("luaScript.SubGameDefine.MaJiang.MJWanFa")
  4. local zigong7zRoomDaJuView = class("zigong7zRoomDaJuView", MJRoomDaJuView)
  5. local MAX_PLAYER_COUNT = 6
  6. --人数条目位置配置 4人默认使用UI位置
  7. local ITEM_PLAYER_NUM_POS_CONFIG={
  8. [3] = 1280 * 0.74 * g_radio_x,
  9. [2] = 1280 * 0.48 * g_radio_x,
  10. }
  11. local DISMISS_INFO = {
  12. [0] = "超时解散",
  13. [1] = "申请解散",
  14. [2] = "同意解散",
  15. [3] = "拒绝",
  16. }
  17. function zigong7zRoomDaJuView:ctor()
  18. zigong7zRoomDaJuView.super.ctor(self);
  19. self._playerItem = {}
  20. end
  21. function zigong7zRoomDaJuView:loadUI()
  22. local ui = loadUI("mj_zigong7z/res/ui_fangjian/mj_zigong_daju_jiesuan.ui");
  23. self.ui = ui;
  24. self:addChild(ui);
  25. end
  26. function zigong7zRoomDaJuView:onEnter()
  27. zigong7zRoomDaJuView.super.onEnter(self);
  28. end
  29. function zigong7zRoomDaJuView:initPlayerInfo()
  30. -- zigong7zRoomDaJuView.super.initPlayerInfo(self);
  31. self:initPlayerInfoOld()
  32. local roomInfo=app.room.roomInfo
  33. --显示用户信息
  34. for k,v in pairs(roomInfo.memberList) do
  35. local viewId = app.room:getViewIdByUserId(v.nUserId)
  36. local nSeatId = app.room:getSeatIdByViewId(viewId)
  37. -- -- 玩家头像 名字
  38. local index=nSeatId+1
  39. local item = self._playerItem[v.nUserId]
  40. local difenjiafen = string.format("Text_DiFenJiaFen_Num")
  41. local difenjiafenLab = string.format("Text_DiFenJiaFen")
  42. local dismiss = string.format("Text_Dismiss")
  43. local gameInfo =json.decode(app.room.roomInfo.strGameInfo);
  44. if gameInfo.diFenLimit and gameInfo.diFenLimit > 0 and app.room:getPlayerCount()==2 then --and v.roomCard ~= 0
  45. item.Items[difenjiafen]:setText(v.roomCard)--低分加分
  46. else
  47. item.Items[difenjiafenLab]:setVisible(false)
  48. item.Items[difenjiafen]:setVisible(false)
  49. end
  50. --解散状态
  51. if item.Items[dismiss] then
  52. if roomInfo.stopFlag==9 then --9正常解散
  53. if app.room.dismissInfo and app.room.dismissInfo[v.nUserId] then
  54. local status = app.room.dismissInfo[v.nUserId]
  55. local strInfo = DISMISS_INFO[status]
  56. if strInfo then
  57. item.Items[dismiss]:setText(strInfo)
  58. end
  59. if status == 1 then--申请解散
  60. item.Items[dismiss]:setColor(cc.c3b(255,101,26))
  61. else
  62. item.Items[dismiss]:setColor(cc.c3b(255,224,99))
  63. end
  64. end
  65. elseif roomInfo.stopFlag==8 then --8系统解散
  66. item.Items[dismiss]:setText("系统解散")
  67. item.Items[dismiss]:setColor(cc.c3b(255,224,99))
  68. end
  69. end
  70. end
  71. end
  72. function zigong7zRoomDaJuView:initPlayerInfoOld()
  73. local roomInfo=app.room.roomInfo
  74. local playerNum = table.nums(roomInfo.memberList)
  75. -- for i=1,MAX_PLAYER_COUNT do
  76. -- if i>playerNum then
  77. -- self.ui.Items["Layout_Player_"..i]:setVisible(false)
  78. -- end
  79. -- end
  80. --得到大赢家 土豪 炮友用户ID
  81. local myUserId=app.room:getMyUserId()--app.user.loginInfo.uid
  82. local maxTotalScore = 0
  83. local minTotalScore = maxTotalScore--roomInfo.memberList[1].nTotalMoney
  84. local maxDianPaoCount = 0
  85. local maxUserId=-1
  86. local minUserId=maxUserId
  87. local maxDiaoPaoUserId=maxUserId
  88. for k,v in pairs(roomInfo.memberList) do
  89. v.nTotalMoney = tonumber(v.nTotalMoney)
  90. if v.nTotalMoney>maxTotalScore and v.nTotalMoney>0 then
  91. maxTotalScore=v.nTotalMoney
  92. maxUserId=v.nUserId
  93. end
  94. if v.nTotalMoney<minTotalScore and v.nTotalMoney>0 then
  95. minTotalScore=v.nTotalMoney
  96. minUserId=v.nUserId
  97. end
  98. end
  99. self.maxUserId=maxUserId
  100. --显示用户信息
  101. for k,v in pairs(roomInfo.memberList) do
  102. local item = self:createPlayerItem()
  103. self.ui.Items.ListView_Player:addChild(item)
  104. self._playerItem[v.nUserId] = item
  105. local userId = app.room:getViewIdByUserId(v.nUserId)
  106. local nSeatId = app.room:getSeatIdByViewId(userId)
  107. -- -- 玩家头像 名字
  108. local index=nSeatId+1
  109. local userInfo = app.room:getUserInfo(v.nUserId)
  110. local name = string.format("Text_name")
  111. local uid = string.format("Text_uid")
  112. local head = string.format("ImageView_headImg")
  113. local winer = string.format("ImageView_dayingjia")
  114. local roomer = string.format("ImageView_roomer")
  115. local score = string.format("Text_Total_Score")
  116. local winBg = string.format("ImageView_Win")
  117. local dismiss = string.format("Text_Dismiss")
  118. -- local fangka=string.format("ImageView_FangKa_%d",index)
  119. -- self.ui.Items[fangka]:setVisible(false)
  120. local nickname = ""
  121. if userInfo and userInfo.nickname then
  122. nickname = getSubStringNickname(userInfo.nickname)
  123. self:updateUserHead(item.Items[head],v.nUserId, userInfo.sex, userInfo.headimgurl);
  124. end
  125. item.Items[name]:setText(nickname)
  126. item.Items[uid]:setText("ID:"..v.nUserId)
  127. --显示隐藏游戏内选手id(主办人和管理员不限制,只针对海选赛) -- todo lwq
  128. -- begin
  129. local ClubDefine = require("luaScript.Protocol.Club.ClubDefine")
  130. if app.club_php.clubID and app.club_php.clubID ~= 0 then
  131. if app.club_php:getCestIsOpen(app.club_php.clubID) then
  132. --隐私数据
  133. local clubInfo = app.club_php.clubList[app.club_php.clubID]
  134. self.cliext = clubInfo.groupext and clubInfo.groupext.cliext
  135. if not self.cliext or not self.cliext.is_hideUid or (self.cliext and self.cliext.is_hideUid == 1) then
  136. if clubInfo.role == ClubDefine.Job.Creator or clubInfo.role == ClubDefine.Job.Manager then
  137. item.Items[uid]:setVisible(true)
  138. else
  139. item.Items[uid]:setVisible(false)
  140. end
  141. end
  142. end
  143. end
  144. if v.nUserId == tonumber(app.user.loginInfo.uid) then
  145. item.Items[uid]:setVisible(true)
  146. end
  147. -- end
  148. item.Items[roomer]:setVisible(v.nUserId == roomInfo.nRoomOwnedUid)
  149. item.Items[roomer]:setVisible(false)--隐藏房主
  150. item.Items[winer]:setVisible(false)
  151. item.Items[winBg]:setVisible(false)
  152. if v.nUserId==maxUserId or (v.nTotalMoney == maxTotalScore and maxTotalScore > 0) then
  153. item.Items[winer]:setVisible(true)
  154. item.Items[winBg]:setVisible(true)
  155. end
  156. --分数
  157. if v.nTotalMoney > 0 then
  158. item.Items[score]:setText(tostring("+"..v.nTotalMoney))
  159. else
  160. item.Items[score]:setText(tostring(v.nTotalMoney))
  161. item.Items[score]:setFntFile("res/fonts/dt_jian_num.fnt")
  162. end
  163. --解散状态
  164. if item.Items[dismiss] then
  165. if roomInfo.stopFlag==9 then --9正常解散
  166. if app.room.dismissInfo and app.room.dismissInfo[v.nUserId] then
  167. local status = app.room.dismissInfo[v.nUserId]
  168. local strInfo = DISMISS_INFO[status]
  169. if strInfo then
  170. item.Items[dismiss]:setText(strInfo)
  171. end
  172. end
  173. elseif roomInfo.stopFlag==8 then --8系统解散
  174. item.Items[dismiss]:setText("系统解散")
  175. end
  176. end
  177. end
  178. self:updateItemPosition()
  179. end
  180. function zigong7zRoomDaJuView:updateItemPosition()
  181. local playerItems = self.ui.Items.ListView_Player:getChildren()
  182. local playerNum = #playerItems
  183. -- if playerNum<MAX_PLAYER_COUNT and ITEM_PLAYER_NUM_POS_CONFIG[playerNum] then
  184. -- for i=1,playerNum do
  185. -- playerItems[i]:setPositionX(ITEM_PLAYER_NUM_POS_CONFIG[playerNum][i])
  186. -- end
  187. -- end
  188. local size = self.ui.Items.ListView_Player:getContentSize()
  189. if ITEM_PLAYER_NUM_POS_CONFIG[playerNum] then
  190. self.ui.Items.ListView_Player:setContentSize(cc.size(ITEM_PLAYER_NUM_POS_CONFIG[playerNum], size.height))
  191. self.ui.Items.ListView_Player:setTouchEnabled(false)
  192. end
  193. end
  194. function zigong7zRoomDaJuView:createPlayerItem()
  195. local ui=loadUI("mj_zigong7z/res/ui_fangjian/mj_zigong_daju_item.ui")
  196. autoAdapt(ui)
  197. return ui
  198. end
  199. function zigong7zRoomDaJuView:initPlayerItemInfo()
  200. local roomInfo=app.room.roomInfo
  201. --显示用户信息
  202. for _,player in pairs(roomInfo.memberList) do
  203. -- -- 玩家头像 名字
  204. local viewId = app.room:getViewIdByUserId(player.nUserId)
  205. local nSeatId = app.room:getSeatIdByViewId(viewId)
  206. local index=nSeatId+1
  207. local info = string.format("Text_ZsNum")
  208. if self._playerItem[player.nUserId] then
  209. self._playerItem[player.nUserId].Items[info]:setText("-"..tostring(player.costCard))
  210. end
  211. end
  212. end
  213. return zigong7zRoomDaJuView