|
|
- -- <*
- -- @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
|