源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

124 lines
3.6 KiB

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