源战役客户端
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 
 

78 líneas
2.4 KiB

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