123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- ---@class KLUnionTaskItem:UIKmlLuaPanelBase
- ---@field view KLUnionTaskItemView
- local KLUnionTaskItem = class(UIKmlLuaPanelBase)
- local this =KLUnionTaskItem
- ---创建时调用一次
- function this:Init()
- GUI:DataListInitData(self.view.getList, function()
- local taskId = self.args.info.taskid
- local taskCfg = SL:GetConfig('cfg_gard_task', taskId)
- return table.count(taskCfg.rewardItem) + table.count(taskCfg.rewardSpecial)
- end,function()
- end,function(realIndex)
- local taskId = self.args.info.taskid
- local taskCfg = SL:GetConfig('cfg_gard_task', taskId)
- local rewardItemCount = table.count(taskCfg.rewardItem)
- local itemControl = GUI:GetChildControl(self.view.getList,realIndex,'item12')
- local itemId
- local itemCount
- if realIndex+1<=rewardItemCount then
- itemId = taskCfg.rewardItem[realIndex+1][1]
- itemCount = taskCfg.rewardItem[realIndex+1][2]
- else
- itemId = taskCfg.rewardSpecial[realIndex+1-rewardItemCount][1]
- itemCount = taskCfg.rewardSpecial[realIndex+1-rewardItemCount][2]
- end
- GUI:Item_UpdataData(itemControl,{
- itemid = itemId,
- itemcount = itemCount,
- } )
- GUI:AddOnClickEvent(itemControl,self,function()
- SL:OpenTips(nil, itemId)
- end)
- end,function(realIndex)
- end)
-
- GUI:DataListUpdateData(self.view.getList)
- end
- ---注册UI事件和服务器消息
- function this:RegistEvents()
- SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_SUBMIT_UNION_TASK, self.ResSubmitUnionTask, self)
- end
- function this:ResSubmitUnionTask(_, finishTaskId)
- if self.args.info.taskid == finishTaskId then
- GUI:setVisible(self.view.Img_Received_1, true)
- GUI:setVisible(self.view.taskButton, false)
- local taskCfg = SL:GetConfig('cfg_gard_task', finishTaskId)
- local reward = {}
- for _, v in pairs(taskCfg.rewardItem) do
- reward[tonumber(v[1])] = tonumber(v[2])
- end
- SL:OpenRewardTips(reward)
- end
- end
- ---创建或者刷新界面数据时调用
- function this:Refresh()
- local taskInfo = self.args.info
- local finish = self.args.finish
- if taskInfo then
- local taskId = taskInfo.taskid
- local taskCfg = SL:GetConfig('cfg_gard_task', taskId)
- GUI:Text_setString(self.view.taskTarget, taskCfg.taskName)
- GUI:setGrey(self.view.taskButton, false)
- local haveCount = taskInfo.taskcount
- local totalCount = taskCfg.taskContent[2] and taskCfg.taskContent[2] or taskCfg.taskContent[1]
- if haveCount < totalCount then
- GUI:Text_setString(self.view.TextProgress, string.format('<color="#ff0000">%d</color>/%d', haveCount, totalCount))
- GUI:Button_setTitleText(self.view.taskButton, "前往")
- if string.isNullOrEmpty(taskCfg.panel[1]) then
- GUI:setGrey(self.view.taskButton, true)
- GUI:Button_setBright(self.view.taskButton, false)
- else
- GUI:setGrey(self.view.taskButton, false)
- GUI:Button_setBright(self.view.taskButton, true)
- end
- GUI:AddOnClickEvent(self.view.taskButton, self, function()
- if taskCfg.panel[2] and string.contains( taskCfg.panel[2], 'KLUnionActivityPanel') then
- local panel = GUI:GetUI("dev/ui/Union/Panel/KLUnionToggleList/KLUnionToggleListPanel")
- if panel then
- GUI:SetTogDefaultThis(panel.view.activityToggle)
- end
- else
- GUI:UIPanel_Close("dev/ui/Union/Panel/KLUnionToggleList/KLUnionToggleListPanel")
- GUI:UIPanel_Close("dev/outui/Union/Panel/KLUnionTask/KLUnionTaskPanel")
- end
- shortcutOutMgr.DO(taskCfg.panel)
- end)
- else
- GUI:Text_setString(self.view.TextProgress, string.format('%d/%d', haveCount, totalCount))
- if finish then
- GUI:setVisible(self.view.taskButton, false)
- GUI:setVisible(self.view.Img_Received_1, true)
- else
- GUI:Button_setTitleText(self.view.taskButton, "领取")
- GUI:AddOnClickEvent(self.view.taskButton, self, function()
- SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_SUBMIT_UNION_TASK, taskId)
- end)
- end
- end
- end
- end
- function this:Close()
- end
- return this
|