CSMainExploitRankDailyRewardItem = CSMainExploitRankDailyRewardItem or BaseClass(BaseItem) local CSMainExploitRankDailyRewardItem = CSMainExploitRankDailyRewardItem function CSMainExploitRankDailyRewardItem:__init() self.base_file = "csMain" self.layout_file = "CSMainExploitRankDailyRewardItem" self.model = CSMainModel:getInstance() self:Load() end function CSMainExploitRankDailyRewardItem:Load_callback() self.nodes = { "des:tmp", "ScrollView/Viewport/Content", "ScrollView", "getBtn:obj:img", "getBtn/red:obj", "getBtn/Text:tmp", } self:GetChildren(self.nodes) self:AddEvents() if self.need_refreshData then self:UpdateView() end end function CSMainExploitRankDailyRewardItem:AddEvents( ) local on_click = function ( click_obj ) if self.getBtn_obj == click_obj then if self.data.is_top == 1 then self.model:Fire(CSMainConst.REQUEST_CCMD_EVENT,60310) else Message.show("不可领取") end end end AddClickEvent(self.getBtn_obj, on_click) end function CSMainExploitRankDailyRewardItem:UpdateView( ) if self.data.min_rank == self.data.max_rank then self.des_tmp.text = string.format("排名 <#fdffc2>%s 奖励",self.data.min_rank) elseif self.data.min_rank == self.model.exploit_can_get_reward_rank then self.des_tmp.text = string.format("排名 <#fdffc2>%s 后奖励",self.data.min_rank) else self.des_tmp.text = string.format("排名 <#fdffc2>%s-%s 奖励",self.data.min_rank,self.data.max_rank) end if self.data.is_top == 1 then SetImageGray(self.getBtn_img,false) self.red_obj:SetActive(true) SetTMPSharedMaterial(self.Text_tmp, ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkOrangeBtn) else SetImageGray(self.getBtn_img,true) self.red_obj:SetActive(false) SetTMPSharedMaterial(self.Text_tmp, ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkGrayBtn) end self.getBtn_obj:SetActive(true) local reward_cfg = stringtotable(self.data.awards) if not self.item_list_com then self.item_list_com = self:AddUIComponent(UI.ItemListCreator) end local info = { data_list = reward_cfg, item_con = self.Content, obj_pool_type = UIObjPool.UIType.AwardItem, item_width = 62, space_x = 7, -- space_y = 0, start_x = 5, start_y = -5, scroll_view = self.ScrollView, create_frequency = 0.01, on_update_item = function(item, i, v) item:SetItemSize(62, 62) SetLocalScale(item.transform,0.7,0.7,0.7) item:SetData(v[2], v[3]) end, } self.item_list_com:UpdateItems(info) end function CSMainExploitRankDailyRewardItem:SetData( data ) self.data = data if self.is_loaded then self.need_refreshData = false self:UpdateView() else self.need_refreshData = true end end function CSMainExploitRankDailyRewardItem:__delete( ) end