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