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

120 行
3.3 KiB

  1. --
  2. -- xx : 2018 3 27
  3. -- 跑得快战绩单局详情界面
  4. local colorWin = cc.c3b(186,57,57)
  5. local colorLose = cc.c3b(44,179,60)
  6. local PdkDef = require("luaScript.SubGameDefine.Poker.luzhouPdkWanFa")
  7. local PdkDanJuItem = require("pk_luzhoupdk.luaScript.Views.ZhanJi.luzhouPdkDanJuItem")
  8. local PdkDanJuView = class("PdkDanJuView", cc.UIView)
  9. -- 传入参数是某个房间的战绩信息,这里需要显示这个房间内的每一局的信息
  10. -- 标记是否来自俱乐部的作用是:在获取回放数据的时候,确定是使用俱乐部的协议还是子游戏的协议
  11. function PdkDanJuView:ctor(zhanjiInfo, isFromClub)
  12. PdkDanJuView.super.ctor(self)
  13. -- 本局详细信息
  14. self.zhanjiInfo = zhanjiInfo
  15. -- 是否来自俱乐部
  16. self.isFromClub = isFromClub
  17. self.ui = loadUI("pk_luzhoupdk/res/ui/ui_zhanji/ui_lzpdk_zhanji_danju.ui")
  18. self:addChild(self.ui)
  19. self.ui.Items.Button:registerClick(handler(self , self.onClickButtonClose))
  20. --[[ self.playerNicks = {}
  21. for i=1,3 do
  22. self.playerNicks[i] = self.ui.Items["Text_nick_"..i]
  23. self.playerNicks[i]:setString("")
  24. end--]]
  25. for i = 1,4 do
  26. local uiScoreName = string.format("Text_score_count%d", i)
  27. local uiScoreNode = self.ui.Items[uiScoreName]
  28. if uiScoreNode then
  29. uiScoreNode:setText("");
  30. end
  31. end
  32. self.ui.Items.Layout_3:setVisible(false)
  33. self:loadData()
  34. end
  35. function PdkDanJuView:onClickButtonClose( sender )
  36. playBtnEffect()
  37. self:removeFromParent()
  38. end
  39. function PdkDanJuView:loadData()
  40. local mScrollView = self.ui.Items.ScrollView
  41. mScrollView:getInnerContainer():setAutoSize(true)
  42. mScrollView:removeAllChildren()
  43. mScrollView:hideAllBar()
  44. local count = 0
  45. --[[for uid, score in pairs(self.zhanjiInfo.tscore) do
  46. local playerInfo = app.playerInfoManager:getPlayerInfo(uid)
  47. if playerInfo then
  48. count = count + 1
  49. self.playerNicks[count]:setString(getSubStringNickname(playerInfo.name) or "")
  50. end
  51. end--]]
  52. -- 记录玩家ID
  53. self.userSeats = {}
  54. if self.zhanjiInfo and self.zhanjiInfo.tscore then
  55. local idx = 0
  56. for userId, score in pairs(self.zhanjiInfo.tscore) do
  57. idx = idx + 1
  58. self.userSeats[idx] = tostring(userId)
  59. end
  60. end
  61. for idx, userId in ipairs(self.userSeats) do
  62. -- 玩家总得分
  63. local score = self.zhanjiInfo.tscore[tostring(userId)]
  64. local txtScore = ""
  65. local colorScore = colorWin
  66. if score >= 0 then
  67. txtScore = "+"..tostring(score)
  68. colorScore = colorWin
  69. else
  70. txtScore = tostring(score)
  71. colorScore = colorLose
  72. end
  73. local uiScoreName = string.format("Text_score_count%d", idx)
  74. local uiScoreNode = self.ui.Items[uiScoreName]
  75. if uiScoreNode then
  76. uiScoreNode:setText(txtScore or "+0");
  77. uiScoreNode:setColor(colorScore)
  78. end
  79. end
  80. local totalSize = table.nums(self.zhanjiInfo.detail)
  81. if totalSize > 0 then
  82. local infos = {}
  83. for k,info in pairsByKeys(self.zhanjiInfo.detail) do
  84. for _,detail in pairsByKeys(info) do
  85. detail.idx = tonumber(k)
  86. detail.pid = self.zhanjiInfo.pid
  87. detail.roomid = self.zhanjiInfo.roomid
  88. detail.nbound = self.zhanjiInfo.nbound
  89. local item = PdkDanJuItem:new(detail, self.isFromClub)
  90. mScrollView:addChild(item:getRoot())
  91. end
  92. end
  93. end
  94. mScrollView:jumpToTopOnSizeChanged()
  95. end
  96. function PdkDanJuView:onEnter()
  97. PdkDanJuView.super.onEnter()
  98. end
  99. function PdkDanJuView:onExit()
  100. end
  101. return PdkDanJuView