123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- ---@class KLActivityComboProgressPanel:UIKmlLuaPanelBase
- ---@field view KLActivityComboProgressPanelView
- local KLActivityComboProgressPanel = class(UIKmlLuaPanelBase)
- local this =KLActivityComboProgressPanel
- function this:AsyncLoadUI()
- end
- ---创建时调用一次
- function this:Init()
- SL:KeepOpenPanel("KLActivityComboProgressPanel",true)
- self.trialsType = 24001
- ---@type cfg_rep_column
- self.trialsTbl = SL:GetConfig("cfg_rep", self.args["3"])
- self.trialsState = self.args["1"]
- GUI:DataListInitData( self.view.rewardItem_List,function()
- return self:ListItemCountFunc()
- end, function(realIndex)
- return self:ListItemGetFunc(realIndex)
- end, function(realIndex, kmlcontrol)
- return self:ListItemInitFunc(realIndex, kmlcontrol)
- end, function(realIndex, kmlcontrol)
- return self:ListItemUpdateFunc(realIndex, kmlcontrol)
- end)
- GUI:DataListInitData( self.view.rewardItem_finish_List,function()
- return self:ListItemCountFunc()
- end, function(realIndex)
- return self:ListItemGetFunc(realIndex)
- end, function(realIndex, kmlcontrol)
- return self:ListItemInitFunc(realIndex, kmlcontrol)
- end, function(realIndex, kmlcontrol)
- return self:FinishListItemUpdateFunc(realIndex, kmlcontrol)
- end)
- end
- function this:ListItemCountFunc()
- return #self.trialsTbl.reward
- end
- function this:ListItemGetFunc(realIndex)
- end
- function this:ListItemInitFunc(realIndex, kmlcontrol)
- end
- function this:ListItemUpdateFunc(realIndex, kmlcontrol)
- local item = GUI:GetChildControl(self.view.rewardItem_List, realIndex, "control_item")
- local count = GUI:GetChildControl(self.view.rewardItem_List, realIndex, "countTxt")
- local info = self.trialsTbl.reward[realIndex + 1]
- GUI:Item_setItemId(item, info[1])
- GUI:Text_setString(count, tostring(info[2]))
- GUI:AddOnClickEvent(item, self, self.ShowItemTips, info[1])
- end
- function this:FinishListItemUpdateFunc(realIndex, kmlcontrol)
- local item = GUI:GetChildControl(self.view.rewardItem_finish_List, realIndex, "control_finish_item")
- local count = GUI:GetChildControl(self.view.rewardItem_finish_List, realIndex, "countFinishTxt")
- local info = self.trialsTbl.reward[realIndex + 1]
- GUI:Item_setItemId(item, info[1])
- GUI:Text_setString(count, tostring(info[2]))
- GUI:AddOnClickEvent(item, self, self.ShowItemTips, info[1])
- end
- function this:ShowItemTips(_, id)
- SL:OpenTips(nil, id)
- end
- ---注册UI事件和服务器消息
- function this:RegistEvents()
- GUI:AddOnClickEvent(self.view.btn_reward, self, self.RewardOnClick)
- GUI:AddOnClickEvent(self.view.exitBtn_task, self, self.ExitBtnOnClick)
- SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_QUIT_DUPLICATE, self.RES_QUIT_DUPLICATE, self)
- SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_COMBO_TES_TASK_UPDATE, self.RES_COMBO_TES_TASK_UPDATE, self)
- end
- ---界面显示时调用一次
- function this:Show()
- end
- ---创建或者刷新界面数据时调用
- function this:Refresh()
- GUI:setVisible(self.view.exitBtn_task, true)
- GUI:Text_setString(self.view.title_task, self.trialsTbl.name[1])
- ---@type cfg_repTask_column
- local task = SL:GetConfig("cfg_repTask", tonumber(self.trialsTbl.repTarget))
- GUI:Text_setString(self.view.taskName_task, task.UItext)
- GUI:setVisible(self.view.panel_finish, false)
- GUI:setVisible(self.view.countDown_in_copy, false)
- --self.taskNum = task.param[2]
- GUI:Text_setString(self.view.taskProgress_task, "0/" .. task.param[1])
- --GUI:setPosition(self.view.rewardItem_layout, -27, -60)
- GUI:setVisible(self.view.rewardItem_layout, true)
- GUI:setVisible(self.view.rewardItem_finish_layout, false)
- GUI:DataListUpdateData(self.view.rewardItem_List)
- GUI:setVisible(self.view.panel_start, true)
- self:RefreshComboState(self.args)
- end
- function this:RefreshComboState(message)
- self.trialsState = message["1"]
- self.trialsNextStateTime = message["2"]
- if self.trialsState == 1 then
- ---准备阶段
- GUI:Text_setString(self.view.text_countdown_tips, "副本开始倒计时:")
- GUI:SetControl_time(self.view.countdown_out_copy, self.trialsTbl.prepareTime)
- GUI:setVisible(self.view.text_countdown_tips, true)
- elseif self.trialsState == 2 then
- ---战斗阶段
- GUI:setVisible(self.view.text_countdown_tips, false)
- local time = (self.trialsNextStateTime - Time.GetServerTime()) / 1000
- GUI:SetControl_time(self.view.countDown_in_copy, math.floor(time))
- GUI:setVisible(self.view.countDown_in_copy, true)
- elseif self.trialsState == 3 then
- ---完成阶段
- if message["4"] then
- self:RefreshFinishPanel()
- else
- self:ExitBtnOnClick()
- end
- end
- end
- function this:RefreshFinishPanel()
- GUI:setVisible(self.view.exitBtn_task, false)
- GUI:setVisible(self.view.panel_start, false)
- GUI:setVisible(self.view.text_countdown_tips, true)
- GUI:setVisible(self.view.countDown_in_copy, false)
- GUI:Text_setString(self.view.text_countdown_tips, "副本结束倒计时:")
- GUI:SetControl_time(self.view.countdown_out_copy, self.trialsTbl.save)
- GUI:setVisible(self.view.rewardItem_layout, false)
- GUI:setVisible(self.view.rewardItem_finish_layout, true)
- GUI:DataListUpdateData(self.view.rewardItem_finish_List)
- GUI:setVisible(self.view.panel_finish, true)
- end
- function this:RewardOnClick()
- SL:SendLuaNetMsg(LuaMessageIdToSever.COMBO_TEST_REWARD, self.trialsTbl.id)
- end
- function this:ExitBtnOnClick()
- if self.trialsState == 3 then
- SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_QUIT_DUPLICATE, self.trialsTbl.id)
- else
- SL:CommonTipsMessage({ stringTblID = 210, callback = function()
- SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_QUIT_DUPLICATE, self.trialsTbl.id)
- end })
- end
- end
- function this:RES_COMBO_TES_TASK_UPDATE(_, message)
- if tonumber(message.phase) == tonumber(self.trialsTbl.repTarget) then
- GUI:Text_setString(self.view.taskProgress_task, message.nowCount .. "/" .. message.totalCount)
- end
- end
- function this:RES_QUIT_DUPLICATE()
- GUI:UIPanel_Close("dev/outui/Activity/Panel/KLActivityComboProgress/KLActivityComboProgressPanel")
- end
- function this:SetVisible(isVisible)
- GUI:setVisible(self.view.root,isVisible)
- end
- function this:Hide()
- end
- function this:Close()
- InfoManager.copActivityInfo.hideTask = false
- end
- return this
|