2025-06-04 05:02:57 +08:00

67 lines
1.8 KiB
Plaintext

autoImport("SocialBaseCell")
local baseCell = autoImport("BaseCell")
FriendBaseCell = class("FriendBaseCell", SocialBaseCell)
function FriendBaseCell:Init()
self:FindObjs()
self:InitShow()
end
function FriendBaseCell:FindObjs()
FriendBaseCell.super.FindObjs(self)
self.mask = self:FindGO("Mask")
self.offlinetime = self:FindGO("Offlinetime"):GetComponent(UILabel)
self.offlineTip = self:FindGO("OfflineTip"):GetComponent(UILabel)
self.zone = self:FindGO("Zone"):GetComponent(UILabel)
end
function FriendBaseCell:InitShow()
FriendBaseCell.super.InitShow(self)
self:AddGameObjectComp()
self.offlinetime.gameObject:SetActive(false)
self.timeTick = TimeTickManager.Me():CreateTick(0,60000,self.RefreshOfflinetime,self)
end
function FriendBaseCell:SetData(data)
FriendBaseCell.super.SetData(self, data)
if data then
if data.offlinetime == 0 then
self.offlinetime.gameObject:SetActive(false)
self.mask:SetActive(false)
self.headIcon:SetActive(true,true)
if data.zoneid and MyselfProxy.Instance:GetZoneId() ~= data.zoneid then
self.zone.gameObject:SetActive(true)
self.zone.text = ChangeZoneProxy.Instance:ZoneNumToString(data.zoneid); -- ZhString.Friend_Zone
self.offlineTip.text = ""
else
self.zone.gameObject:SetActive(false)
self.offlineTip.text = ZhString.Friend_MapOnline
end
else
self.offlinetime.gameObject:SetActive(true)
self.mask:SetActive(true)
self.headIcon:SetActive(false,true)
self.zone.gameObject:SetActive(false)
self.offlineTip.text = ZhString.Friend_MapOffline
end
self:RefreshOfflinetime()
end
end
function FriendBaseCell:RefreshOfflinetime()
if self.data and self.data.offlinetime ~= 0 then
self.offlinetime.text = ClientTimeUtil.GetFormatOfflineTimeStr(self.data.offlinetime)
end
end
function FriendBaseCell:OnDestroy()
TimeTickManager.Me():ClearTick(self)
end