50 lines
1.5 KiB
Lua
50 lines
1.5 KiB
Lua
local PlayerHeadCell = class("PlayerHeadCell", BaseCell)
|
||
|
||
function PlayerHeadCell:init()
|
||
local uiMap = self.baseObject:genAllChildren()
|
||
|
||
self.imgFrame = uiMap["player_head_cell.img_frame"]
|
||
self.imgAvatar = uiMap["player_head_cell.img_avatar"]
|
||
|
||
self:bind(DataManager.PlayerData, "dirty", function()
|
||
if self.isSelf then
|
||
self:refresh()
|
||
end
|
||
end, true)
|
||
end
|
||
|
||
-- (avatarId:头像id,frameId:头像框id)
|
||
function PlayerHeadCell:refresh(avatarId, frameId)
|
||
if avatarId == nil or frameId == nil then
|
||
-- 是玩家自己
|
||
self.isSelf = true
|
||
avatarId = DataManager.PlayerData:getUsingAvatarId()
|
||
frameId = DataManager.PlayerData:getUsingFrameId()
|
||
end
|
||
|
||
-- 头像
|
||
local avatarName = DataManager.PlayerData:getAvatarIconId(avatarId)
|
||
if avatarName then
|
||
self.imgAvatar:setSprite(GConst.ATLAS_PATH.ICON_HERO, avatarName, function()
|
||
self.imgAvatar:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_IMAGE):SetNativeSize()
|
||
end)
|
||
end
|
||
|
||
-- 头像框
|
||
local frameName = DataManager.PlayerData:getFrameIconId(frameId)
|
||
if frameName then
|
||
self.imgFrame:setSprite(GConst.ATLAS_PATH.ICON_AVATAR, frameName, function()
|
||
self.imgFrame:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_IMAGE):SetNativeSize()
|
||
end)
|
||
end
|
||
|
||
-- 红点
|
||
if DataManager.PlayerData:hasNewAvatar() or DataManager.PlayerData:hasNewFrame() then
|
||
self.baseObject:addRedPoint(50, 50, 0.7)
|
||
else
|
||
self.baseObject:removeRedPoint()
|
||
end
|
||
end
|
||
|
||
|
||
return PlayerHeadCell |