-- <*
|
|
-- @Author: Saber
|
|
-- @Description: 跨服社团排行玩法排行奖励预览节点
|
|
-- *>
|
|
GuildCSGRRewardItem = GuildCSGRRewardItem or BaseClass(BaseItem)
|
|
local GuildCSGRRewardItem = GuildCSGRRewardItem
|
|
|
|
function GuildCSGRRewardItem:__init(parent_wnd,prefab_asset,layer_name)
|
|
self.base_file = "guildCSGR"
|
|
self.layout_file = "GuildCSGRRewardItem"
|
|
self.parent_wnd = parent_wnd
|
|
self.layer_name = layer_name
|
|
self.award_list = {}
|
|
self.model = GuildModel:getInstance()
|
|
self:Load()
|
|
end
|
|
|
|
function GuildCSGRRewardItem:Load_callback()
|
|
local nodes = {
|
|
"rank:tmp",
|
|
"item_con",
|
|
}
|
|
self:GetChildren(nodes)
|
|
|
|
self:AddEvents()
|
|
if self.need_refreshData then
|
|
self:UpdateView()
|
|
end
|
|
end
|
|
|
|
function GuildCSGRRewardItem:AddEvents( )
|
|
|
|
end
|
|
|
|
function GuildCSGRRewardItem:SetData( data, tab_index )
|
|
self.data = data
|
|
self.tab_index = tab_index
|
|
if self.is_loaded then
|
|
self.need_refreshData = false
|
|
self:UpdateView()
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function GuildCSGRRewardItem:UpdateView( )
|
|
if self.data then
|
|
self.rank_tmp.text = self.data.rank_min == self.data.rank_max
|
|
and string.format("%s第%s名", self.tab_index == 3 and "" or "社团排名", self.data.rank_min)
|
|
or string.format("第%s~%s名", self.data.rank_min, self.data.rank_max)
|
|
-- 加载奖励内容
|
|
local item
|
|
for k, v in ipairs(self.data.rewards) do
|
|
item = self.award_list[k]
|
|
if not item then
|
|
item = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem, self.item_con)
|
|
self.award_list[k] = item
|
|
end
|
|
item:SetVisible(true)
|
|
item:SetItemSize(62, 62)
|
|
item:SetAnchoredPosition(self.item_con.sizeDelta.x - 70 * k + 12, -2)
|
|
local typeId, lock = GoodsModel:getInstance():GetMappingTypeId(v[1], v[2])
|
|
item:SetData(typeId, v[3], nil, nil, lock)
|
|
end
|
|
if #self.award_list > #self.data.rewards then
|
|
for k = #self.data.rewards+1, #self.award_list do
|
|
self.award_list[k]:SetVisible(false)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
function GuildCSGRRewardItem:__delete( )
|
|
for k, v in pairs(self.award_list) do
|
|
UIObjPool:getInstance():PushItem(UIObjPool.UIType.AwardItem, v)
|
|
end
|
|
self.award_list = {}
|
|
end
|