RoleListItemCtr.lua 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. local RoleListItemCtr = {}
  2. local RedPointItemCtr = require("Common/RedPointItemCtr")
  3. function RoleListItemCtr:SetData(wnd, item, data, onClickOwner, onClickCB)
  4. local idx = data[1]
  5. local logicData = data[2]
  6. local cfgData = data[3]
  7. item.labelLead:SetActive(idx == 1)
  8. item.labelUp:SetActive(idx ~= 1 and logicData.isBattle)
  9. CommonUtil.SetTotalChildrenGray(item.gameObject, idx ~= 1 and not logicData.owned)
  10. if cfgData == nil then
  11. LogError("partner cfg id "..logicData.configId.." error")
  12. return
  13. end
  14. local quality = logicData.strengthLevel
  15. local frameIcon = Constant.Quality_Role_Frame_Default_Icons
  16. if quality == 100 then
  17. frameIcon = Constant.Quality_Lead_Role_Icon
  18. elseif quality > 0 then
  19. frameIcon = Constant.Quality_Role_Frame_Icons[math.min(quality, #Constant.Quality_Role_Frame_Icons)]
  20. end
  21. CommonUtil.LoadIcon(wnd, frameIcon, function (sprite)
  22. item.frame.image.sprite = sprite
  23. --item.frame.image:SetNativeSize()
  24. --local size = Constant.Quality_Role_Frame_Size[quality] or Constant.Quality_Role_Frame_Size[1]
  25. --if size then
  26. -- item.frame.rectTransform.sizeDelta = Vector2(size[1], size[2])
  27. --end
  28. end)
  29. CommonUtil.LoadIcon(wnd, cfgData.Avatar, function (sprite)
  30. item.head.image.sprite = sprite
  31. end)
  32. CommonUtil.LoadIcon(wnd, cfgData.JobIcon2, function (sprite)
  33. item.job.image.sprite = sprite
  34. end)
  35. item.numLv.text.text = logicData.baseLevel
  36. if onClickOwner and onClickCB then
  37. wnd.uiBase:AddButtonUniqueEventListener(item.head.button, onClickOwner, onClickCB, idx, logicData.id)
  38. end
  39. end
  40. return RoleListItemCtr