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
|