SevenDayTargetScoreItem = SevenDayTargetScoreItem or BaseClass(BaseItem) local SevenDayTargetScoreItem = SevenDayTargetScoreItem function SevenDayTargetScoreItem:__init() self.base_file = "sevenDayTarget" self.layout_file = "SevenDayTargetScoreItem" self.model = SevenDayTargetModel:GetInstance() self:Load() end function SevenDayTargetScoreItem:Load_callback() self.nodes = { "progress_dot:obj", "num_text:tmp", "item_con", "get_image:img:obj", "click_con:obj" } self:GetChildren(self.nodes) self.awardItem = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem,self.item_con) self.awardItem:SetItemSize(62, 62) self.progress_dot_obj:SetActive(false) self:AddEvents() if self.need_refreshData then self:UpdateView() end end function SevenDayTargetScoreItem:AddEvents( ) local function on_click( ) if not self.is_receive then self.model:Fire(SevenDayTargetModel.REQUEST_SEVEN_DAY_TARGET_SCMD, 17602, 1, self.data.score) end end AddClickEvent(self.click_con_obj, on_click) end function SevenDayTargetScoreItem:UpdateView( ) if self.server_data then--有数据说明是已经领了 lua_resM:setImageSprite(self, self.get_image_img, "sevenDayTarget_asset", "sevenDayTarget_font3",true)--已领取 self.get_image_obj:SetActive(true) self.is_receive = true self.click_con_obj:SetActive(true) else self.is_receive = false if self.cur_score >= self.data.score then self.get_image_obj:SetActive(true) lua_resM:setImageSprite(self, self.get_image_img, "sevenDayTarget_asset", "sevenDayTarget_font5",true)--可领取 self.click_con_obj:SetActive(true) else self.get_image_obj:SetActive(false) self.click_con_obj:SetActive(false) end end -- self.num_text_tmp.text = self.data.score self.num_text_tmp.text = "" -- if self.index == 2 or self.index == 5 then -- lua_resM:setImageSprite(self, self.progress_dot_imgex, "sevenDayTarget_asset", "sevenDayTarget_item10",true)--大图标 -- else -- lua_resM:setImageSprite(self, self.progress_dot_imgex, "sevenDayTarget_asset", "sevenDayTarget_item11",true)--小图标 -- end -- self.progress_dot_imgex.gray = self.cur_score < self.data.score if not self.reward_data then self.reward_data = stringtotable(self.data.reward) end local typeId, lock = GoodsModel:getInstance():GetMappingTypeId(self.reward_data[1][1], self.reward_data[1][2]) self.awardItem:SetData(typeId, self.reward_data[1][3]) end function SevenDayTargetScoreItem:SetData( index, data, server_data, cur_score ) self.index = index self.data = data self.server_data = server_data self.cur_score = cur_score if self.is_loaded then self.need_refreshData = false self:UpdateView() else self.need_refreshData = true end end function SevenDayTargetScoreItem:__delete( ) if self.awardItem then UIObjPool:getInstance():PushItem(UIObjPool.UIType.AwardItem, self.awardItem) self.awardItem = nil end end