FuliSignRewardItem = FuliSignRewardItem or BaseClass(BaseItem) local FuliSignRewardItem = FuliSignRewardItem function FuliSignRewardItem:__init() self.base_file = "fuli" self.layout_file = "FuliSignRewardItem" self.model = FuliModel:GetInstance() self:Load() end function FuliSignRewardItem:Load_callback() self.nodes = { "next_image:obj", "click_con:obj", "item_con", "day_text:tmp", "red_dot:obj", } self:GetChildren(self.nodes) self.awardItem = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem,self.item_con) self.awardItem:SetItemSize(84, 84) self.awardItem:SetVisible(false) self:AddEvents() if self.need_refreshData then self:UpdateView() end end function FuliSignRewardItem:AddEvents( ) local function on_click( target ) self.model:Fire(FuliConst.REQ_FULI_SCMD, 16010, self.data[1]) end AddClickEvent(self.click_con_obj, on_click) end function FuliSignRewardItem:UpdateView( ) self.day_text_tmp.text = string.format("%s 天", self.data[2]) local reward_list = self.data[3] self.next_image_obj:SetActive(self.index ~= 5) self.awardItem:SetData(reward_list[1][2], reward_list[1][3],nil) self.awardItem:SetVisible(true) self.click_con_obj:SetActive(false) self.awardItem:SetGray(false) if TableSize(self.server_data) > 0 then if self.data[2] <= self.server_data.days and self.server_data.total_state[self.index] ~= 1 then self.red_dot_obj:SetActive(true) self.click_con_obj:SetActive(true) else self.red_dot_obj:SetActive(false) end self.awardItem:SetGray(self.server_data.total_state[self.index] == 1) else self.red_dot_obj:SetActive(false) end end function FuliSignRewardItem:SetData( data, server_data, index ) self.data = data self.server_data = server_data self.index = index if self.is_loaded then self.need_refreshData = false self:UpdateView() else self.need_refreshData = true end end function FuliSignRewardItem:__delete( ) end