UIIdolRankItemCtr.lua 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. local UIIdolRankItemCtr = {}
  2. function UIIdolRankItemCtr:SetData(wnd, item, logicData, enterType, onClickOwner, onClickCB)
  3. local selfRank = logicData.rank or 0
  4. local selfTicket = logicData.score or 0
  5. local enterType = logicData.enterType or 0
  6. item.rank:SetActive(selfRank ==0 or selfRank > 3)
  7. item.madel01:SetActive(selfRank == 1)
  8. item.madel02:SetActive(selfRank == 2)
  9. item.madel03:SetActive(selfRank == 3)
  10. local PlayerInfoMaxLimit = GlobalConfig.Instance:GetConfigIntValue(343) or 50
  11. if selfRank <= 0 or selfRank > PlayerInfoMaxLimit then
  12. item.rank.text.text = I18N.SetLanguageValue('NoRank')
  13. else
  14. item.rank.text.text = tostring(selfRank)
  15. end
  16. item.hotVal.text.text = selfTicket
  17. if enterType == 1 then --点击自己头像进入
  18. local vipLv = ManagerContainer.DataMgr.UserData:GetVipLv()
  19. local vipIcon = nil
  20. if vipLv and vipLv >= 0 then
  21. local vipCfg = ManagerContainer.CfgMgr:GetVipCfgById(vipLv)
  22. if vipCfg then
  23. vipIcon = vipCfg.SmallIcon
  24. end
  25. end
  26. CommonUtil.LoadIcon(wnd, vipIcon , function (sprite)
  27. item.vipIcon.image.sprite = sprite
  28. end)
  29. local name = CommonUtil.GetVaildNickName(ManagerContainer.DataMgr.UserData:GetUserNickname())
  30. item.playerName.text.text = name
  31. local playerName = ManagerContainer.DataMgr.UserData:GetRoleLv()
  32. local jobCfgId = ManagerContainer.DataMgr.UserData:GetJobCfgId()
  33. local jobCfgData = ManagerContainer.CfgMgr:GetJobDataById(jobCfgId)
  34. local headIcon = ManagerContainer.DataMgr.UserData:GetUserHeadIcon()
  35. local _fakerData = {Level = curRoleLv, ProfessionIcon = jobCfgData.JobIcon, HeadIcon = headIcon, IsHero = true};
  36. local _headFrameId = ManagerContainer.DataMgr.UserData:GetHeadFrameId()
  37. CommonUtil.SetPlayerHeadAndFrame(wnd, item.headItem, _fakerData,false, _headFrameId,wnd,wnd.OnClickOtherHeadBtn,logicData.uid);
  38. else
  39. local brief = ManagerContainer.DataMgr.IdolData:GetPlayerBriefInfoByUid(logicData.uid)
  40. if brief then
  41. local vipLv = brief.vip_level
  42. local vipIcon = nil
  43. if vipLv and vipLv >= 0 then
  44. local vipCfg = ManagerContainer.CfgMgr:GetVipCfgById(vipLv)
  45. if vipCfg then
  46. vipIcon = vipCfg.SmallIcon
  47. end
  48. end
  49. CommonUtil.LoadIcon(wnd, vipIcon , function (sprite)
  50. item.vipIcon.image.sprite = sprite
  51. end)
  52. local name = CommonUtil.GetVaildNickName(brief.nick_name)
  53. item.playerName.text.text = name
  54. local curRoleLv = brief.level
  55. local jobCfgId = brief.config_id
  56. local jobCfgData = ManagerContainer.CfgMgr:GetJobDataById(jobCfgId)
  57. local headIcon = CommonUtil.GetPlayerHeadIcon(brief)
  58. local _fakerData = {Level = curRoleLv, ProfessionIcon = jobCfgData.JobIcon, HeadIcon = headIcon, IsHero = true};
  59. local _headFrameId = brief.head_frame_id
  60. CommonUtil.SetPlayerHeadAndFrame(wnd, item.headItem, _fakerData,false, _headFrameId,wnd,wnd.OnClickOtherHeadBtn,brief.uid);
  61. end
  62. end
  63. if onClickOwner and onClickCB then
  64. item.btnSupport.button.enabled = true
  65. onClickOwner.uiBase:AddButtonUniqueEventListener(item.btnSupport.button, onClickOwner, onClickCB, logicData)
  66. else
  67. item.btnSupport.button.enabled = false
  68. end
  69. end
  70. return UIIdolRankItemCtr