25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

119 satır
3.2 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.PDKDefine")
  7. local PdkDanJuItem = require("pk_paodekuai.luaScript.Views.ZhanJi.PdkDanJuItem")
  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_paodekuai/res/ui/ui_zhanji/ui_pdk_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,3 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:loadData()
  33. end
  34. function PdkDanJuView:onClickButtonClose( sender )
  35. playBtnEffect()
  36. self:removeFromParent()
  37. end
  38. function PdkDanJuView:loadData()
  39. local mScrollView = self.ui.Items.ScrollView
  40. mScrollView:getInnerContainer():setAutoSize(true)
  41. mScrollView:removeAllChildren()
  42. mScrollView:hideAllBar()
  43. local count = 0
  44. --[[for uid, score in pairs(self.zhanjiInfo.tscore) do
  45. local playerInfo = app.playerInfoManager:getPlayerInfo(uid)
  46. if playerInfo then
  47. count = count + 1
  48. self.playerNicks[count]:setString(getSubStringNickname(playerInfo.name) or "")
  49. end
  50. end--]]
  51. -- 记录玩家ID
  52. self.userSeats = {}
  53. if self.zhanjiInfo and self.zhanjiInfo.tscore then
  54. local idx = 0
  55. for userId, score in pairs(self.zhanjiInfo.tscore) do
  56. idx = idx + 1
  57. self.userSeats[idx] = tostring(userId)
  58. end
  59. end
  60. for idx, userId in ipairs(self.userSeats) do
  61. -- 玩家总得分
  62. local score = self.zhanjiInfo.tscore[tostring(userId)]
  63. local txtScore = ""
  64. local colorScore = colorWin
  65. if score >= 0 then
  66. txtScore = "+"..tostring(score)
  67. colorScore = colorWin
  68. else
  69. txtScore = tostring(score)
  70. colorScore = colorLose
  71. end
  72. local uiScoreName = string.format("Text_score_count%d", idx)
  73. local uiScoreNode = self.ui.Items[uiScoreName]
  74. if uiScoreNode then
  75. uiScoreNode:setText(txtScore or "+0");
  76. uiScoreNode:setColor(colorScore)
  77. end
  78. end
  79. local totalSize = table.nums(self.zhanjiInfo.detail)
  80. if totalSize > 0 then
  81. local infos = {}
  82. for k,info in pairsByKeys(self.zhanjiInfo.detail) do
  83. for _,detail in pairsByKeys(info) do
  84. detail.idx = tonumber(k)
  85. detail.pid = self.zhanjiInfo.pid
  86. detail.roomid = self.zhanjiInfo.roomid
  87. detail.nbound = self.zhanjiInfo.nbound
  88. local item = PdkDanJuItem:new(detail, self.isFromClub)
  89. mScrollView:addChild(item:getRoot())
  90. end
  91. end
  92. end
  93. mScrollView:jumpToTopOnSizeChanged()
  94. end
  95. function PdkDanJuView:onEnter()
  96. PdkDanJuView.super.onEnter()
  97. end
  98. function PdkDanJuView:onExit()
  99. end
  100. return PdkDanJuView