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