源战役客户端
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

120 rindas
3.2 KiB

pirms 4 nedēļām
  1. SocialityAddFriendItem = SocialityAddFriendItem or BaseClass(BaseItem)
  2. function SocialityAddFriendItem:__init()
  3. self.base_file = "sociality"
  4. self.layout_file = "SocialityAddFriendItem"
  5. self.model = SocialityModel:getInstance()
  6. self:Load()
  7. end
  8. function SocialityAddFriendItem:Load_callback()
  9. self.name_con = self:GetChild("name_con")
  10. self.role_name = self:GetChild("name_con/name"):GetComponent("TextMeshProUGUI")
  11. self.vip = self:GetChild("vip")
  12. self.addBtn = self:GetChild("addBtn").gameObject
  13. self.headCon = self:GetChild("headCon")
  14. self.sex = self:GetChild("name_con/sex"):GetComponent("Image")
  15. self.checkImg = self:GetChild("checkImg")
  16. self.attackPower = self:GetChild("attackText"):GetComponent("TextMeshProUGUI")
  17. self.roleItem = HeadRoleItem.New(self.headCon)
  18. self.roleItem:SetItemSize(73,73)
  19. self.vipItem = RoleVipItem.New(self.vip)
  20. self:InitEvent()
  21. self:LoadSuccess()
  22. end
  23. function SocialityAddFriendItem:LoadSuccess( ... )
  24. if self.needUpdate then
  25. self:SetData(self.info)
  26. end
  27. end
  28. function SocialityAddFriendItem:InitEvent()
  29. local function onClickBtnHandler(target)
  30. if target == self.addBtn then
  31. if self.info and not self.has_click then
  32. self.has_click = true
  33. self.model:Fire(SocialityModel.REQUEST_CCMD_EVENT, 14003, self.info.role_id)
  34. end
  35. end
  36. end
  37. AddClickEvent(self.addBtn,onClickBtnHandler)
  38. local function update_add_friend_btn_state()
  39. self:UpdateAddBtnState()
  40. end
  41. self:BindEvent(self.model,SocialityModel.UPDATE_ADD_FRIEND_BTN_STATE,update_add_friend_btn_state)
  42. end
  43. function SocialityAddFriendItem:UpdateAddBtnState( )
  44. local is_friend = self.model:IsRelaviveType(self.info.role_id,Config.ConfigSocial.RelativeType.friend)
  45. if is_friend then
  46. self.addBtn:SetActive(false)
  47. self.checkImg.gameObject:SetActive(true)
  48. else
  49. self.addBtn:SetActive(true)
  50. self.checkImg.gameObject:SetActive(false)
  51. end
  52. end
  53. function SocialityAddFriendItem:SetData(info)
  54. self.info = info
  55. if not info then return end
  56. if self.is_loaded then
  57. local head_data = {
  58. vo = {
  59. id = info.role_id,
  60. server_id = info.ser_id,
  61. career = info.career,
  62. sex = info.sex,
  63. turn = info.turn,
  64. picture_ver = info.picture_ver,
  65. picture = info.picture,
  66. profile_photo_id = info.profile_photo_id,
  67. dress_board_id = info.dress_board,
  68. level = info.lv,
  69. empty_head = false, -- 是否是空数据头像
  70. }
  71. }
  72. self.roleItem:SetData(head_data)
  73. self:UpdateAddBtnState()
  74. self.has_click = false
  75. self.attackPower.text = tostring(info.power)
  76. -- self.levelTxt.text = info.lv
  77. self.vipItem:SetData(info.vip,info.sup_vip_type)
  78. if info.vip > 0 then
  79. SetAnchoredPositionX(self.name_con,53)
  80. else
  81. SetAnchoredPositionX(self.name_con,13)
  82. end
  83. self.role_name.text = info.role_name
  84. local sex_res = info.sex == 1 and "com_boy" or "com_girl"
  85. lua_resM:setImageSprite(self, self.sex, "common_asset", sex_res, true)
  86. SetAnchoredPositionX(self.sex.transform,self.role_name.preferredWidth+4)
  87. else
  88. self.needUpdate = true
  89. end
  90. end
  91. function SocialityAddFriendItem:__delete( )
  92. if self.roleItem then
  93. self.roleItem:DeleteMe()
  94. self.roleItem = nil
  95. end
  96. if self.vipItem then
  97. self.vipItem:DeleteMe()
  98. self.vipItem = nil
  99. end
  100. end