KLFriendInfoItem.lua 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. ---@class KLFriendInfoItem:UIKmlLuaPanelBase
  2. ---@field view KLFriendInfoItemView
  3. local KLFriendInfoItem = class(UIKmlLuaPanelBase)
  4. local this =KLFriendInfoItem
  5. ---创建时调用一次
  6. function this:Init()
  7. end
  8. ---@param friend FriendProto.FriendInfo
  9. function this:SetFriend(friend)
  10. self.friend = friend
  11. GUI:Image_loadTexture(self.view.Icon,"1"..friend.career,"Atlas/MUIcon.spriteatlas")
  12. GUI:Text_setString(self.view.friend_level, "LV."..friend.level)
  13. GUI:Text_setString(self.view.friend_name, friend.name)
  14. GUI:Text_setString(self.view.friend_union_name, "战盟:"..(string.isNullOrEmpty(friend.unionName) and "无" or friend.unionName))
  15. if friend.online == 1 then
  16. GUI:Text_setString(self.view.TextOnline, "在线")
  17. GUI:Text_setTextColor(self.view.TextOnline, "#1ADD1F")
  18. GUI:Image_setGrey(self.view.Icon, false)
  19. GUI:Image_setGrey(self.view.friend_select, false)
  20. else
  21. GUI:Text_setString(self.view.TextOnline, "离线")
  22. GUI:Text_setTextColor(self.view.TextOnline, "#C8C8C8")
  23. GUI:Image_setGrey(self.view.Icon, true)
  24. GUI:Image_setGrey(self.view.friend_select, true)
  25. end
  26. GUI:Text_setString(self.view.friend_value, (self.type == EFriendRelation.Friend and "亲密度:" or "仇恨值:")..friend.friendLove)
  27. end
  28. ---创建或者刷新界面数据时调用
  29. function this:Refresh()
  30. self.type = self.args.type
  31. local friend = self.args.info
  32. self:SetFriend(friend)
  33. local toggleGroup = self.args.toggleGroup
  34. GUI:SetToggleGroup(self.view.KmlFriendListItem, toggleGroup)
  35. end
  36. function this:SetChoose()
  37. --self.view.KmlFriendListItem:SetTogDefaultThis()
  38. GUI:SetTogDefaultThis(self.view.KmlFriendListItem)
  39. end
  40. ---注册UI事件和服务器消息
  41. function this:RegistEvents()
  42. GUI:AddOnClickEvent(self.view.friend_message, self, self.OperateFriend)
  43. --[[ SL:RegisterLuaNetMsg(LuaMessageIdToClient.FRIEND_LIKE_CHANGE, self.ON_FRIEND_LIKE_CHANGE, self)]]
  44. SL:RegisterLuaNetMsg(LuaMessageIdToSever.SET_FRIEND_DEGREE, self.ON_FRIEND_LIKE_CHANGE, self)
  45. end
  46. function this:ON_FRIEND_LIKE_CHANGE(id, message)
  47. if self.friend.rid == message.targetfriendid then
  48. GUI:Text_setString(self.view.friend_value, (message.type == EFriendRelation.Friend and "亲密度:" or "仇恨值:")
  49. ..message.likevalue)
  50. if message.likevalue <= 0 then
  51. SL:onLUAEvent(FRIEND_LIKE_ZERO_EVENT, message.type)
  52. end
  53. end
  54. end
  55. function this:OperateFriend()
  56. GUI:UIPanel_Open("dev/ui/FriendSys/Panel/KLFriendOperate/KLFriendOperatePanel", _, _, {rid = self.friend.rid})
  57. end
  58. function this:Close()
  59. end
  60. return this