|
|
- 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
|