-- <*
|
|
-- @Author: Saber
|
|
-- @Description: 经验副本路线排行界面前三名节点
|
|
-- *>
|
|
ExpDunWaveRankTopItem = ExpDunWaveRankTopItem or BaseClass(BaseItem)
|
|
local ExpDunWaveRankTopItem = ExpDunWaveRankTopItem
|
|
|
|
function ExpDunWaveRankTopItem:__init(parent_wnd, prefab_asset, layer_name)
|
|
self.base_file = "expDun"
|
|
self.layout_file = "ExpDunWaveRankTopItem"
|
|
self.parent_wnd = parent_wnd
|
|
self.layer_name = layer_name
|
|
|
|
self.model = ExpDunModel:getInstance()
|
|
self:Load()
|
|
end
|
|
|
|
function ExpDunWaveRankTopItem:Load_callback()
|
|
local nodes = {
|
|
"bg:img",
|
|
"head_con",
|
|
"info_con",
|
|
"info_con/vip_con",
|
|
"info_con/name:tmp",
|
|
}
|
|
self:GetChildren(nodes)
|
|
|
|
self.role_head_item = HeadRoleItem.New(self.head_con)
|
|
self.role_head_item:SetAnchoredPosition(0, 0)
|
|
self.vipItem = RoleVipItem.New(self.vip_con)
|
|
self.vipItem:SetAnchoredPosition(0, 0)
|
|
|
|
self:AddEvents()
|
|
if self.need_refreshData then
|
|
self:UpdateView()
|
|
end
|
|
end
|
|
|
|
function ExpDunWaveRankTopItem:AddEvents( )
|
|
|
|
end
|
|
|
|
function ExpDunWaveRankTopItem:SetData(rank, data)
|
|
self.rank = rank
|
|
self.data = data
|
|
if self.is_loaded then
|
|
self.need_refreshData = false
|
|
self:UpdateView()
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function ExpDunWaveRankTopItem:UpdateView( )
|
|
lua_resM:setImageSprite(self, self.bg_img, "expDun_asset", "exp_wave_rank_top" .. self.rank, true)
|
|
-- 根据排名数据更新节点位置及头像大小
|
|
local size = self.rank == 1 and 78 or 70
|
|
SetAnchoredPosition(self.head_con, self.rank == 1 and 41.5 or 37.5, self.rank == 1 and 20.5 or 11.5)
|
|
self.role_head_item:SetItemSize(size, size)
|
|
SetSizeDeltaY(self.info_con, self.rank == 1 and 38 or 33)
|
|
-- 更新数据
|
|
if self.data then
|
|
local head_data = {
|
|
vo = {
|
|
role_id = self.data.role_id,
|
|
turn = self.data.turn,
|
|
picture_ver = self.data.picture_ver,
|
|
picture = self.data.picture,
|
|
profile_photo_id = self.data.profile_photo_id,
|
|
level = self.data.level,
|
|
dress_board_id = self.data.dress_id,
|
|
empty_head = false,
|
|
},
|
|
show_tip = true,
|
|
}
|
|
self.role_head_item:SetData(head_data)
|
|
self.role_head_item:SetVisible(true)
|
|
self.vipItem:SetData(self.data.vip_flag, self.data.sup_vip_type)
|
|
self.name_tmp.text = self.data.name
|
|
else
|
|
self.role_head_item:SetVisible(false)
|
|
self.vipItem:SetData(0, 0)
|
|
self.name_tmp.text = "虚位以待"
|
|
end
|
|
local vip_size_x = self.data and self.data.vip_flag > 0 and 40 or 0
|
|
local total_len = self.name_tmp.preferredWidth + vip_size_x
|
|
local x_offset = (self.info_con.sizeDelta.x - total_len) * 0.5
|
|
SetAnchoredPositionX(self.vip_con, x_offset)
|
|
SetAnchoredPositionX(self.name, x_offset + vip_size_x)
|
|
end
|
|
|
|
function ExpDunWaveRankTopItem:__delete( )
|
|
if self.role_head_item then
|
|
self.role_head_item:DeleteMe()
|
|
self.role_head_item = nil
|
|
end
|
|
if self.vipItem then
|
|
self.vipItem:DeleteMe()
|
|
self.vipItem = nil
|
|
end
|
|
end
|