KLUITeamHeadItem.lua 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. ---@class KLUITeamHeadItem:UIKmlLuaPanelBase
  2. ---@field view KLUITeamHeadItemView
  3. local KLUITeamHeadItem = class(UIKmlLuaPanelBase)
  4. local this =KLUITeamHeadItem
  5. ---创建时调用一次
  6. function this:Init()
  7. end
  8. ---创建或者刷新界面数据时调用
  9. function this:Refresh()
  10. end
  11. ---注册UI事件和服务器消息
  12. function this:RegistEvents()
  13. end
  14. ---显示数据
  15. ---@param info TeamProto.TeamMember
  16. ---@param leaderId number @队长id
  17. function this:ShowInfo(info,leaderId)
  18. self.data = info
  19. self.leaderId = leaderId
  20. self:SetHeadIcon(info.roleInfo.career)
  21. self:SetLevel(info.roleInfo.level)
  22. self:SetName(info.roleInfo.name)
  23. self:SetCaptainIcon(info.roleInfo.rid == leaderId)
  24. self:SetHpSlider(info.hp,info.maxHp)
  25. self:SetFar(false)
  26. self:SetLine(info.roleInfo.roleInfoExt.breakLineState == 1)
  27. end
  28. ---设置头像
  29. ---@param career CommonProtos.Career @职业数据
  30. function this:SetHeadIcon(career)
  31. GUI:Image_loadTexture(self.view.sp_careerIcon,"1"..career.baseCareer,"Atlas/MUIcon.spriteatlas")
  32. end
  33. ---设置等级
  34. ---@param level number @等级
  35. function this:SetLevel(level)
  36. GUI:Text_setString(self.view.lab_level,"Lv "..level)
  37. GUI:Text_setTextColor(self.view.lab_level,"#E6E600")
  38. end
  39. ---设置名字
  40. ---@param name string @名字
  41. function this:SetName(name)
  42. GUI:Text_setString(self.view.lab_name,name)
  43. GUI:Text_setTextColor(self.view.lab_name,"#4C98FF")
  44. end
  45. ---设置队长图标
  46. ---@param isCaptain boolean @是否是队长
  47. function this:SetCaptainIcon(isCaptain)
  48. GUI:SetActive(self.view.sp_captain,isCaptain)
  49. GUI:setPosition(self.view.lab_name,-3,10)
  50. if isCaptain then
  51. GUI:setPosition(self.view.lab_name,23,10)
  52. end
  53. end
  54. ---设置血量百分比
  55. ---@param hp number @当前血量
  56. ---@param maxHp number @当前最大血量
  57. function this:SetHpSlider(hp,maxHp)
  58. GUI:SetLoadingbar_startper(self.view.sl_hp,hp/maxHp*100)
  59. end
  60. ---设置远离显隐
  61. ---@param isFar boolean @是否远离
  62. function this:SetFar(isFar)
  63. GUI:SetActive(self.view.img_far,isFar)
  64. end
  65. ---设置离线显隐
  66. ---@param isLine boolean @是否离线
  67. function this:SetLine(isLine)
  68. GUI:SetActive(self.view.img_offLineBg,isLine)
  69. end
  70. ---设置选中
  71. function this:SetSelectImage(isSelect)
  72. GUI:SetActive(self.view.img_selectionEffect,isSelect)
  73. end
  74. function this:Close()
  75. end
  76. return this