源战役客户端
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 
 

151 行
5.1 KiB

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