|
EquipExamTaskItem = EquipExamTaskItem or BaseClass(BaseItem)
|
|
local EquipExamTaskItem = EquipExamTaskItem
|
|
|
|
function EquipExamTaskItem:__init()
|
|
self.base_file = "equipCollect"
|
|
self.layout_file = "EquipExamTaskItem"
|
|
self.model = EquipCollectModel:GetInstance()
|
|
self.item_list = {}
|
|
self:Load()
|
|
end
|
|
|
|
function EquipExamTaskItem:Load_callback()
|
|
self.nodes = {
|
|
"bg:img","item_con", "btn/btn_text:tmp", "btn:obj:imgex", "name_text:tmp", "finish_image:obj", "btn/btn_red:obj",
|
|
}
|
|
self:GetChildren(self.nodes)
|
|
lua_resM:setImageSprite(self, self.bg_img, "equipCollectOut_asset", "equipexam_task_bg")
|
|
|
|
self:AddEvents()
|
|
if self.need_refreshData then
|
|
self:UpdateView()
|
|
end
|
|
end
|
|
|
|
function EquipExamTaskItem:AddEvents( )
|
|
local function on_click( )
|
|
if self.is_finish then
|
|
self.model:Fire(EquipCollectConst.REQUEST_SCMD_EVENT, 14512, self.data.task_id)
|
|
else
|
|
if self.is_not_open then
|
|
Message.show("该任务"..self.not_open_str)
|
|
else
|
|
local jump = stringtotable(self.data.jump)
|
|
if TableSize(jump) > 0 then
|
|
OpenFun.Open(jump[1][1], jump[1][2])
|
|
end
|
|
end
|
|
end
|
|
end
|
|
AddClickEvent(self.btn_obj, on_click)
|
|
end
|
|
|
|
function EquipExamTaskItem:UpdateView( )
|
|
self.is_finish = false
|
|
self.can_receive = false
|
|
--判断是否开放
|
|
-- local condition_data = stringtotable(self.data.condition)
|
|
-- if TableSize(condition_data) > 0 then
|
|
-- for i,v in ipairs(condition_data) do
|
|
-- if v[1] == "lv" then
|
|
-- self.is_not_open = RoleManager.Instance.mainRoleInfo.level < v[2]
|
|
-- self.not_open_str = string.format("%s 级开启", v[2])
|
|
-- elseif v[1] == "turn" then
|
|
-- self.is_not_open = RoleManager.Instance.mainRoleInfo.turn < v[2]
|
|
-- self.not_open_str = string.format("%s转开启", ChineseNumber(v[2]))
|
|
-- end
|
|
-- end
|
|
-- else
|
|
-- self.is_not_open = false
|
|
-- end
|
|
self.is_not_open = false--判断取消
|
|
|
|
if self.server_data then
|
|
local color_str = ColorUtil.RED_DARK
|
|
if self.server_data.process >= self.data.limit_num then
|
|
color_str = ColorUtil.GREEN_DARK
|
|
self.is_finish = true
|
|
end
|
|
local str = string.format("%s(%s/%s)", self.data.desc, HtmlColorTxt(self.server_data.process, color_str), self.data.limit_num)
|
|
self.name_text_tmp.text = str
|
|
self.can_receive = self.server_data.status == 1
|
|
else
|
|
local color_str = ColorUtil.RED_DARK
|
|
local str = string.format("%s(%s/%s)", self.data.desc, HtmlColorTxt(0, color_str), self.data.limit_num)
|
|
self.name_text_tmp.text = str
|
|
end
|
|
local reward_data = stringtotable(self.data.award)
|
|
for i,v in ipairs(self.item_list) do
|
|
v:SetVisible(false)
|
|
end
|
|
for i,v in ipairs(reward_data) do
|
|
local item = self.item_list[i]
|
|
if not item then
|
|
item = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem, self.item_con)
|
|
item:SetItemSize(62,62)
|
|
item:SetPosition((i-1)*65, 0)
|
|
self.item_list[i] = item
|
|
end
|
|
item:SetDataWithMapId(v[2], v[3], v[1])
|
|
item:SetVisible(true)
|
|
end
|
|
self.btn_red_obj:SetActive(self.can_receive and not self.is_not_open)--可以领 并且开放领取 才有红点
|
|
self.btn_obj:SetActive(not (self.is_finish and not self.can_receive))--完成了又不能领 那就说明已经领了
|
|
self.finish_image_obj:SetActive(self.is_finish and not self.can_receive)
|
|
|
|
if self.is_finish then
|
|
if self.is_not_open then
|
|
lua_resM:setImageSprite(self, self.btn_imgex, "alphaCommon_asset", "tyui_btn_3")
|
|
self.btn_text_tmp.text = self.not_open_str
|
|
SetTMPSharedMaterial(self.btn_text_tmp,ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkGrayBtn)
|
|
else
|
|
lua_resM:setImageSprite(self, self.btn_imgex, "alphaCommon_asset", "tyui_btn_2")
|
|
self.btn_text_tmp.text = "领取"
|
|
SetTMPSharedMaterial(self.btn_text_tmp,ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkOrangeBtn)
|
|
end
|
|
else
|
|
local condition_data = stringtotable(self.data.condition)
|
|
if TableSize(condition_data) > 0 then
|
|
for i,v in ipairs(condition_data) do
|
|
if v[1] == "lv" then
|
|
self.is_not_open = RoleManager.Instance.mainRoleInfo.level < v[2]
|
|
self.not_open_str = string.format("%s 级开启", v[2])
|
|
elseif v[1] == "turn" then
|
|
self.is_not_open = RoleManager.Instance.mainRoleInfo.turn < v[2]
|
|
self.not_open_str = string.format("%s转开启", ChineseNumber(v[2]))
|
|
end
|
|
end
|
|
else
|
|
self.is_not_open = false
|
|
end
|
|
if self.is_not_open then
|
|
lua_resM:setImageSprite(self, self.btn_imgex, "alphaCommon_asset", "tyui_btn_3")
|
|
self.btn_text_tmp.text = self.not_open_str
|
|
SetTMPSharedMaterial(self.btn_text_tmp,ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkGrayBtn)
|
|
else
|
|
lua_resM:setImageSprite(self, self.btn_imgex, "alphaCommon_asset", "tyui_btn_1")
|
|
self.btn_text_tmp.text = "前往"
|
|
SetTMPSharedMaterial(self.btn_text_tmp,ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkBlueBtn)
|
|
end
|
|
end
|
|
end
|
|
|
|
function EquipExamTaskItem:SetData( data,index, server_data )
|
|
self.data = data
|
|
self.index = index
|
|
self.server_data = server_data
|
|
if self.is_loaded then
|
|
self.need_refreshData = false
|
|
self:UpdateView()
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function EquipExamTaskItem:__delete( )
|
|
for i,v in ipairs(self.item_list) do
|
|
UIObjPool:getInstance():PushItem(UIObjPool.UIType.AwardItem, v)
|
|
v = nil
|
|
end
|
|
self.item_list = {}
|
|
end
|