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.

230 lines
7.5 KiB

  1. local MJDefine=MJFramework.MJImport("mj.luaScript.MJDefine")
  2. local MJWanFa=MJFramework.ImportWanFa("luaScript.SubGameDefine.MaJiang.MJWanFa")
  3. local MJRoomDaJuView = MJFramework.MJFrameworkClassImprot("mj.luaScript.Views.Room.MJRoomDaJuView")
  4. local hongzhongRoomDaJuView = class("hongzhongRoomDaJuView",MJRoomDaJuView)
  5. function hongzhongRoomDaJuView:ctor()
  6. hongzhongRoomDaJuView.super.ctor(self)
  7. end
  8. function hongzhongRoomDaJuView:loadUI()
  9. local ui = loadUI("hongzhong/res/ui_fangjian/hongzhong_ui_daju.ui")
  10. self.ui = ui
  11. self:addChild(ui)
  12. end
  13. function hongzhongRoomDaJuView:initPlayerInfo()
  14. local roomInfo = app.room.roomInfo
  15. --房间玩法
  16. local ruleAll = MJWanFa.getWanFaInfo(roomInfo.strGameInfo)
  17. self.ui.Items.Text_Rule:setText(ruleAll)
  18. -- 设置房间号和开始时间
  19. local tableId = roomInfo.nShowTableId
  20. self.ui.Items.Text_fanghao:setText("房号:"..tableId)
  21. self.ui.Items.Text_time:setText(os.date("%m-%d %X"))
  22. end
  23. function hongzhongRoomDaJuView:initPlayerInfo()
  24. local roomInfo=app.room.roomInfo
  25. -- local indexPlayer = 1
  26. local playerNum = table.nums(roomInfo.memberList)
  27. for i=1,4 do
  28. if i>playerNum then
  29. self.ui.Items["Layout_Player_"..i]:setVisible(false)
  30. end
  31. end
  32. --得到大赢家 土豪 炮友用户ID
  33. local myUserId=app.room:getMyUserId()--app.user.loginInfo.uid
  34. local maxTotalScore = 0--roomInfo.memberList[myUserId].nTotalMoney
  35. local minTotalScore = maxTotalScore--roomInfo.memberList[1].nTotalMoney
  36. local maxDianPaoCount = 0--roomInfo.memberList[myUserId].nTotalInfo.dianPaoCnt or 0--roomInfo.memberList[1].
  37. local maxUserId=-1--roomInfo.memberList[myUserId].nUserId
  38. local minUserId=maxUserId
  39. local maxDiaoPaoUserId=maxUserId
  40. for k,v in pairs(roomInfo.memberList) do
  41. -- local
  42. v.nTotalMoney = tonumber(v.nTotalMoney)
  43. if v.nTotalMoney>maxTotalScore and v.nTotalMoney>0 then
  44. maxTotalScore=v.nTotalMoney
  45. maxUserId=v.nUserId
  46. end
  47. if v.nTotalMoney<minTotalScore and v.nTotalMoney>0 then
  48. minTotalScore=v.nTotalMoney
  49. minUserId=v.nUserId
  50. end
  51. if v.nTotalInfo.dianPaoCnt>maxDianPaoCount and v.nTotalMoney>0 then
  52. maxDianPaoCount=v.nTotalInfo.dianPaoCnt
  53. maxDiaoPaoUserId=v.nUserId
  54. end
  55. end
  56. self.maxUserId=maxUserId
  57. --显示用户信息
  58. for k,v in pairs(roomInfo.memberList) do
  59. -- -- 玩家头像 名字
  60. local index=v.nSeatId+1
  61. local userInfo = app.room:getUserInfo(v.nUserId)
  62. local name = string.format("Text_name_%d",index)
  63. local uid = string.format("Text_uid_%d",index)
  64. local head = string.format("ImageView_headImg_%d",index)
  65. -- local tuhao = string.format("ImageView_tuhao_%d",index)
  66. local winer = string.format("ImageView_dayingjia_%d",index)
  67. local roomer = string.format("ImageView_roomer_%d",index)
  68. -- local paoyou = string.format("ImageView_PaoYou_%d",index)
  69. -- local ino = string.format("Text_HuPaiTimes_%d",index)
  70. -- local ziMoTimes = string.format("Text_ZiMoTimes_%d",index)
  71. -- local fangPaoTimes = string.format("Text_FangPaoTimes_%d",index)
  72. local score = string.format("Text_Total_Score_%d",index)
  73. --local zongFen = string.format("Text_Zongfen_%d",index)
  74. local bg = string.format("Layout_Player_%d",index)
  75. local jiesanItems = string.format("Text_Jiesan_%d",index)
  76. local nickname = ""
  77. if userInfo and userInfo.nickname then
  78. nickname = getSubStringNickname(userInfo.nickname)
  79. self:updateUserHead(self.ui.Items[head],v.nUserId, userInfo.sex, userInfo.headimgurl);
  80. end
  81. self.ui.Items[name]:setText(nickname)
  82. self.ui.Items[uid]:setText("ID:"..v.nUserId)
  83. --显示隐藏游戏内选手id(主办人和管理员不限制,只针对海选赛) -- todo lwq
  84. -- begin
  85. local ClubDefine = require("luaScript.Protocol.Club.ClubDefine")
  86. if app.club_php.clubID and app.club_php.clubID ~= 0 then
  87. if app.club_php:getCestIsOpen(app.club_php.clubID) then
  88. --隐私数据
  89. local clubInfo = app.club_php.clubList[app.club_php.clubID]
  90. self.cliext = clubInfo.groupext and clubInfo.groupext.cliext
  91. if not self.cliext or not self.cliext.is_hideUid or (self.cliext and self.cliext.is_hideUid == 1) then
  92. if clubInfo.role == ClubDefine.Job.Creator or clubInfo.role == ClubDefine.Job.Manager then
  93. self.ui.Items[uid]:setVisible(true)
  94. else
  95. self.ui.Items[uid]:setVisible(false)
  96. end
  97. end
  98. end
  99. end
  100. if v.nUserId == tonumber(app.user.loginInfo.uid) then
  101. self.ui.Items[uid]:setVisible(true)
  102. end
  103. -- end
  104. -- self.ui.Items[roomer]:setVisible(v.nUserId == roomInfo.nRoomOwnedUid)
  105. self.ui.Items[roomer]:setVisible(false) -- 始终隐藏房主
  106. -- if v.nUserId~=minUserId then
  107. -- self.ui.Items[tuhao]:setVisible(false)
  108. -- end
  109. if v.nUserId==maxUserId then
  110. self.ui.Items[bg]:setBackGroundImage("mj_img_game_over1_win_bg.png",cc.TextureResType.plistType)
  111. --self.ui.Items[zongFen]:setTextColor(cc.c4b(249,242,225,255))
  112. -- self.ui.Items[name]:setColor(cc.c3b(249,242,225))
  113. else
  114. self.ui.Items[winer]:setVisible(false)
  115. end
  116. -- if v.nUserId~=maxDiaoPaoUserId then
  117. -- self.ui.Items[paoyou]:setVisible(false)
  118. -- end
  119. --分数
  120. -- v.nTotalMoney=1
  121. if v.nTotalMoney > 0 then
  122. self.ui.Items[score]:setText(tostring("+"..v.nTotalMoney))
  123. self.ui.Items[score]:setFntFile("res/fonts/dt_jia_num.fnt")
  124. --self.ui.Items[score]:setTextColor(cc.c4b(178,34,34,255))
  125. -- local config = self.ui.Items[score]:getFontConfig()
  126. -- config.effectColor = cc.c4b(146,31,0,255)
  127. -- config.outlineSize = 1
  128. -- self.ui.Items[score]:setFontConfig(config)
  129. -- self.ui.Items[bg]:setBackGroundImage("mj_img_game_over_win_bg.png",cc.TextureResType.plistType)
  130. -- self.ui.Items[score]:setFntFile("res/fonts/jiesuan_all_win.fnt")
  131. else
  132. self.ui.Items[score]:setText(tostring(v.nTotalMoney))
  133. self.ui.Items[score]:setFntFile("res/fonts/dt_jian_num.fnt")
  134. -- self.ui.Items[score]:setColor(cc.c3b(255,110,22))
  135. -- self.ui.Items[bg]:setBackGroundImage("mj_img_game_over_bg.png",cc.TextureResType.plistType)
  136. -- self.ui.Items[score]:setFntFile("res/fonts/jiesuan_all_lose.fnt")
  137. end
  138. if v.nTotalInfo.jiesan then
  139. if v.nTotalInfo.jiesan >= 0 then
  140. local jiesan = v.nTotalInfo.jiesan
  141. if jiesan == 1 then
  142. self.ui.Items[jiesanItems]:setText("申请解散")
  143. elseif jiesan == 2 then
  144. self.ui.Items[jiesanItems]:setText("同意解散")
  145. elseif jiesan == 4 then
  146. self.ui.Items[jiesanItems]:setText("系统解散")
  147. elseif jiesan == 0 then
  148. self.ui.Items[jiesanItems]:setText("超时解散")
  149. end
  150. end
  151. end
  152. end
  153. self:updateItemPosition()
  154. end
  155. function hongzhongRoomDaJuView:initPlayerItemInfo()
  156. local roomInfo=app.room.roomInfo
  157. local itemNames={
  158. ["ziMoCnt"]="自摸次数 ",
  159. ["jiePaoCnt"]="接炮次数 ",
  160. ["dianPaoCnt"]="点炮次数 ",
  161. ["mingCnt"]="接杠次数 ",
  162. -- ["zhiCnt"]="直杠",
  163. ["baCnt"]="明杠次数 ",
  164. ["anCnt"]="暗杠次数 ",
  165. }
  166. --显示用户信息
  167. for _,player in pairs(roomInfo.memberList) do
  168. -- -- 玩家头像 名字
  169. local index=player.nSeatId+1
  170. local i=1
  171. for k,v in pairs(itemNames) do
  172. if player.nTotalInfo[k] then
  173. local info = string.format("Text_Info_%d_%d",index,i)
  174. print(info)
  175. local str =itemNames[k]..player.nTotalInfo[k] --string.format(itemNames[],index,i)
  176. self.ui.Items[info]:setText(str)
  177. if self.maxUserId==player.nUserId then
  178. self.ui.Items[info]:setTextColor(cc.c4b(255,255,255,255))
  179. local config = self.ui.Items[info]:getFontConfig()
  180. --config.effectColor = cc.c4b(255,255,255,255)
  181. --config.outlineSize = 1
  182. self.ui.Items[info]:setFontConfig(config)
  183. end
  184. i=i+1
  185. end
  186. end
  187. end
  188. end
  189. return hongzhongRoomDaJuView