CSGWarRewardItem = CSGWarRewardItem or BaseClass(BaseItem) local CSGWarRewardItem = CSGWarRewardItem function CSGWarRewardItem:__init() self.base_file = "CSGWar" self.layout_file = "CSGWarRewardItem" self.model = CSGWarModel:GetInstance() self.item_list = {} self:Load() end function CSGWarRewardItem:Load_callback() self.nodes = { "name_text:tmp", "item_scroll", "item_scroll/Viewport/item_con", } self:GetChildren(self.nodes) self:AddEvents() if self.need_refreshData then self:UpdateView() end end function CSGWarRewardItem:AddEvents( ) end function CSGWarRewardItem:UpdateView( ) local data = self.data == "left" and CSGWarConst.LEFT_REWARD or CSGWarConst.RIGHT_REWARD local cfg = data[self.index] local x_offset = 90 self.name_text_tmp.text = cfg.name for i,v in ipairs(cfg.reward) do local item = self.item_list[i] if not item then item = UIObjPool:PopItem(UIObjPool.UIType.AwardItem, self.item_con) item:SetItemSize(84,84) item:SetPosition((i-1)*x_offset, 0) self.item_list[i] = item end item:SetData(v[2],v[3]) --是否有主副战区标识 -- if v[4] == 1 then -- item:SetNumLimitVisible(true,10) -- elseif v[4] == 2 then -- item:SetNumLimitVisible(true,11) -- else -- item:SetNumLimitVisible(false) -- end end SetSizeDeltaX(self.item_con, #cfg.reward * x_offset) end function CSGWarRewardItem:SetData( data,index ) self.data = data self.index = index if self.is_loaded then self.need_refreshData = false self:UpdateView() else self.need_refreshData = true end end function CSGWarRewardItem:__delete( ) for i,v in ipairs(self.item_list) do UIObjPool:PushItem(UIObjPool.UIType.AwardItem, v) v = nil end self.item_list = {} end