---@class KLOpenServiceWingTaskItem:UIKmlLuaPanelBase ---@field view KLOpenServiceWingTaskItemView local KLOpenServiceWingTaskItem = class(UIKmlLuaPanelBase) local this = KLOpenServiceWingTaskItem ---创建时调用一次 function this:Init() end ---注册UI事件和服务器消息 function this:RegistEvents() GUI:AddOnClickEvent(self.view.GoBT,self,self.GoBTOnClick) end function this:GoBTOnClick() if self.taskInfo.state == E_ChapterState.ACCPT then local inst = SL:GetConfig('cfg_task_target', self.taskInfo.target_id).instruction self:ClosePanel() SL:ShortcutDO(inst[1]) elseif self.taskInfo.state == E_ChapterState.FINISH then SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_SUBMIT_WINGS_TASK,self.taskInfo.task_id) end end function this:ClosePanel() GUI:UIPanel_Close("dev/outui/MainActivity/Panel/KLMainActivity/KLMainActivityPanel") end ---界面显示时调用一次 function this:Show() end ---创建或者刷新界面数据时调用 function this:Refresh() end function this:RefreshItem(data) self.taskInfo = data local cfg = SL:GetConfig("cfg_wingstask", data.task_id) GUI:Item_setItemId(self.view.ItemPoint, cfg.rewardItem[1]) GUI:Item_setItemCount(self.view.ItemPoint, cfg.rewardItem[2]) GUI:AddOnClickEvent(self.view.ItemPoint, self, function() SL:OpenTips(nil, cfg.rewardItem[1]) end) GUI:Text_setString(self.view.TaskDes, cfg.text) GUI:setVisible(self.view.GoBT, data.state ~= E_ChapterState.REWARD) GUI:setVisible(self.view.IsGet, data.state == E_ChapterState.REWARD) if data.goal_count < data.max_count then GUI:Text_setString(self.view.CountText, string.format('%d/%d', data.goal_count, data.max_count)) else GUI:Text_setString(self.view.CountText, string.format('%d/%d', data.goal_count, data.max_count)) end if data.state == 1 then GUI:Text_setString(self.view.GoBT, "前往") elseif data.state == 2 then GUI:Text_setString(self.view.GoBT, "领取") end end function this:Close() end return this