c1_lua/lua/app/ui/player_info/avatar_cell.lua
2025-10-28 17:46:57 +08:00

41 lines
1.2 KiB
Lua

local AvatarCell = class("AvatarCell", BaseCell)
function AvatarCell:init()
self.uiMap = self:getUIMap()
self.imgAvatar = self.uiMap["avatar_cell.img_avatar"]
self.lock = self.uiMap["avatar_cell.lock"]
self.use = self.uiMap["avatar_cell.use"]
self.txUse = self.uiMap["avatar_cell.use.tx_use"]
self.select = self.uiMap["avatar_cell.select"]
self.txUse:setText(I18N:getGlobalText(I18N.GlobalConst.ON_USING_DESC))
self:addClickListener(function()
EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.PLAYER_INFO_CLICK_AVATAR, self.id)
end)
end
function AvatarCell:refresh(id, isSelect)
self.id = id
-- 红点
if DataManager.PlayerData:isNewAvatar(self.id) then
self.baseObject:addRedPoint(45, 45, 1)
else
self.baseObject:removeRedPoint()
end
-- 背景
-- local smallFrame = DataManager.PlayerData:getAvatarBg(self.id)
-- if smallFrame then
-- self.baseObject:setSprite(GConst.ATLAS_PATH.ICON_HERO, smallFrame)
-- end
self.select:setActive(isSelect)
self.imgAvatar:setSprite(GConst.ATLAS_PATH.ICON_AVATAR, DataManager.PlayerData:getAvatarIconId(self.id))
self.lock:setActive(not DataManager.PlayerData:isAvatarUnlock(self.id))
self.use:setActive(DataManager.PlayerData:getUsingAvatarId() == self.id)
end
return AvatarCell