---@class KLUnionActivityPanel:UIKmlLuaPanelBase ---@field view KLUnionActivityPanelView local KLUnionActivityPanel = class(UIKmlLuaPanelBase) local this =KLUnionActivityPanel ---创建时调用一次 function this:Init() SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_UNION_ACTIVITY_DATA) self.items = {} end ---创建或者刷新界面数据时调用 function this:Refresh() local tbl = SL:GetConfigTable("cfg_activity_rule") local itemPath = "dev/outui/Union/Item/KLUnionActivity/KLUnionActivityItem" ---@param v cfg_activity_rule_column for _ , v in pairs(tbl) do if v.initType == 2 then if table.isNullOrEmpty(self.items[v.id]) then --战盟活动 self.items[v.id] = GUI:UIPanel_Open(itemPath, self.view.layout3, self, {activityId = v.id}, true) end end end end ---注册UI事件和服务器消息 function this:RegistEvents() GUI:AddOnClickEvent(self.view.BtnClose, self, self.CloseSelf) SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_UNION_ACTIVITY_DATA, self.RES_UNION_ACTIVITY_DATA, self) end function this:RES_UNION_ACTIVITY_DATA(id, message) for k, v in pairs(message) do if self.items[v.activityid] then self.items[v.activityid]:SetOpen(v.open) end end end function this:CloseSelf() GUI:UIPanel_Close("dev/ui/Union/Panel/KLUnionToggleList/KLUnionToggleListPanel") GUI:UIPanel_Close(self.filePath) SL.ShowMainPanel() end function this:Close() self.items = {} GUI:UIPanel_Close("dev/outui/Union/Item/KLUnionActivity/KLUnionActivityItem") GUI:UIPanel_Close("dev/outui/Union/Panel/KLUnionBossMain/KLUnionBossMainPanel") end return this