2025-06-04 05:12:01 +08:00

113 lines
3.3 KiB
Plaintext

local BaseCell = autoImport("BaseCell");
SetViewHeadCell = class("SetViewHeadCell", BaseCell)
function SetViewHeadCell:Init()
self:initView()
end
function SetViewHeadCell:initView( )
-- body
self.lockedIcon = self:FindGO("noneProfession")
self.headCellObj = self:FindGO("PortraitCell")
self.LevelLabel = self:FindComponent("LevelLabel",UILabel)
self.deletingCt = self:FindGO("deletingCt")
self.LevelCt = self:FindGO("LevelCt")
self.deletingLabel = self:FindComponent("deletingLabel",UILabel)
self:AddClickEvent(self.gameObject,function ()
self:PassEvent(MouseEvent.MouseClick, self);
end)
end
function SetViewHeadCell:SetData( data )
-- body
self.data = data
if(data == nil )then
self:Show(self.lockedIcon)
self:Hide(self.LevelCt)
self:Hide(self.deletingCt)
else
self:Hide(self.lockedIcon)
self:Show(self.LevelCt)
self:SetHeadImgData()
end
if(data and data.deletetime ~= 0)then
local leftTime = ServerTime.ServerDeltaSecondTime(data.deletetime * 1000)
leftTime = math.floor(leftTime)
self.leftTime = leftTime
if self.tick == nil then
self.tick = TimeTickManager.Me():CreateTick(0, 1000, self.UpdateDeleteTime, self, 1)
end
self:Show(self.deletingCt)
self.LevelLabel.text = data.baselv
elseif(data)then
self:Hide(self.deletingCt)
TimeTickManager.Me():ClearTick(self, 1)
self.tick = nil
self.LevelLabel.text = data.baselv
end
end
function SetViewHeadCell:OnRemove( )
if self.tick ~= nil then
TimeTickManager.Me():ClearTick(self, 1)
self.tick = nil
end
end
function SetViewHeadCell:UpdateDeleteTime( )
autoImport("UIListItemViewControllerRoleSlot")
self.leftTime = self.leftTime - 1
local hour, minutes, seconds = UIListItemViewControllerRoleSlot.ToHMS(self.leftTime)
if hour >= 1 then
self.deletingLabel.text = string.format(ZhString.Boss_RefreshTimeH, hour,minutes)
else
self.deletingLabel.text = minutes .. ':' .. seconds
end
end
function SetViewHeadCell:SetHeadImgData( )
self:initHead()
local imgData = {}
local roleData = {}
roleData.hairID = self.data.hair
roleData.haircolor = self.data.haircolor
local gender = self.data.gender
if gender == ProtoCommon_pb.EGENDER_FEMALE then
roleData.gender = RoleConfig.Gender.Female
elseif gender == ProtoCommon_pb.EGENDER_MALE then
roleData.gender = RoleConfig.Gender.Male
end
roleData.bodyID = self.data.body
roleData.headID = self.data.head
roleData.faceID = self.data.face
roleData.mouthID = self.data.mouth
roleData.eyeID = self.data.eye
roleData.type = HeadImageIconType.Avatar
imgData.profession = self.data.profession
imgData.iconData = roleData
if self.data.portrait and self.data.portrait > 0 then
local itemConf = Table_HeadImage[self.data.portrait]
if itemConf then
roleData.type = HeadImageIconType.Simple
roleData.icon = itemConf.Picture
end
end
self.targetCell:SetData(imgData)
end
local tempVector3 = LuaVector3.zero
function SetViewHeadCell:initHead( )
-- body
self:Hide(self.lockedIcon)
local cellObj = Game.AssetManager_UI:CreateAsset(ResourcePathHelper.UICell("PlayerHeadCell"), self.headCellObj);
tempVector3:Set(0,0,0)
cellObj.transform.localPosition = tempVector3
self.targetCell = PlayerFaceCell.new(cellObj);
self.targetCell:HideHpMp()
self.targetCell:HideLevel()
self:AddClickEvent(cellObj,function ()
self:PassEvent(MouseEvent.MouseClick, self);
end)
end