|
|
- TaskAnnounceItem = TaskAnnounceItem or BaseClass(BaseItem)
-
- local TaskAnnounceItem = TaskAnnounceItem
-
- function TaskAnnounceItem:__init()
- self.base_file = "taskAnnounce"
- self.layout_file = "TaskAnnounceItem"
- self.layer_name = layer_name or "UI"
- self.is_delay_callback = true
- -- self.use_local_view = true
- self.model = TaskAnnounceModel:getInstance()
- self.is_select = false
- self.index = false
- self.item_list = {}
- self:Load()
- end
-
- function TaskAnnounceItem:Load_callback()
- local nodes = {
- "select:obj", "red_dot:obj", "title:tmp", "bg:obj:imgex", "lock:obj", "tips:tmp", "title_img:img",
- }
- self:GetChildren(nodes)
- self:InitEvent()
- if self.need_refreshData then
- self:SetData(self.index, self.data, self.mask_id)
- self:SetSelect(self.is_select)
- end
- end
-
- function TaskAnnounceItem:InitEvent()
- local function onBtnClickHandler(target)
- if target == self.bg_obj then
- if self.click_call_back then
- self.click_call_back(self.index)
- end
- end
- end
- AddClickEvent(self.bg_obj,onBtnClickHandler)
- end
-
- function TaskAnnounceItem:SetSelect(is_select)
- self.is_select = is_select
- if self.is_loaded then
- self.select_obj:SetActive(self.is_select)
- else
- self.need_refreshData = true
- end
- end
-
- function TaskAnnounceItem:SetData(index, data, mask_id)
- self.index = index
- self.data = data
- self.mask_id = mask_id
- if self.is_loaded then
- --self.title_tmp.text = Trim(self.data.name)
- self.bg_imgex.gray = not self.data.has_open
- self.lock_obj:SetActive(not self.data.has_open)
- self.select_obj:SetActive(self.is_select)
- self.tips_tmp.text = self.data.has_open and HtmlColorTxt(Trim(self.data.con_desc), "#ffffff") or Trim(self.data.con_desc)
- local icon_res = Trim(self.data.title_pic) .. "_item"
- local icon_title_res = Trim(self.data.title_pic)
-
- lua_resM:setOutsideImageSprite(self, self.bg_imgex, GameResPath.GetTaskAnnounce(icon_res), true)
- lua_resM:setOutsideImageSprite(self, self.title_img_img, GameResPath.GetTaskAnnounce(icon_title_res), true)
- local state = self.model:GetRewardData(self.data.id)
- self.red_dot_obj:SetActive(state == 1)
- else
- self.need_refreshData = true
- end
- end
-
- -- -- 设置物品的领取状态 可领取 已领取 不可领取
- -- function TaskAnnounceItem:SetStatue(state, has_open)
- -- if state and self.item_list[1] then
- -- local callback = function()
- -- self.model:Fire(TaskAnnounceModel.REQUEST_CCMD_EVENT, 18201, self.data.id)
- -- end
-
- -- self.awardCon.gameObject:SetActive(state ~= 2)
- -- if state == 0 or not has_open then --不可领取
- -- self.item_list[1]:SetEnableClick(false)
- -- self.item_list[1]:SetRedDot(false)
- -- self.item_list[1]:SetCallBack(nil)
- -- elseif state == 1 then --未领取
- -- self.item_list[1]:SetEnableClick(true)
- -- self.item_list[1]:SetRedDot(true)
- -- self.item_list[1]:SetCallBack(callback)
- -- elseif state == 2 then --已领取
- -- self.item_list[1]:SetEnableClick(true)
- -- self.item_list[1]:SetStatueTips(true, "tyui_ylq", nil, true)
- -- self.item_list[1]:SetRedDot(false)
- -- self.item_list[1]:SetCallBack(nil)
- -- end
- -- else
-
- -- end
- -- end
-
- function TaskAnnounceItem:__delete()
- -- for k,v in pairs(self.item_list) do
- -- if v then
- -- v:ReleaseObj()
- -- v = nil
- -- end
- -- end
-
- -- self:ClearUIEffect(self.rt_item)
- -- self.item_list = {}
- -- if self.is_load_rt then
- -- lua_resM:clearRoleMode(self)
- -- self.is_load_rt = false
- -- end
- -- self:StopOpenFunTweenAnimation()
- end
-
-
-
- function TaskAnnounceItem:GetItemIdx()
- return self.index
- end
-
- function TaskAnnounceItem:SetClickCallBack(cb)
- self.click_call_back = cb
- end
|