KLUnionActivityPanel.lua 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. ---@class KLUnionActivityPanel:UIKmlLuaPanelBase
  2. ---@field view KLUnionActivityPanelView
  3. local KLUnionActivityPanel = class(UIKmlLuaPanelBase)
  4. local this =KLUnionActivityPanel
  5. ---创建时调用一次
  6. function this:Init()
  7. SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_UNION_ACTIVITY_DATA)
  8. self.items = {}
  9. end
  10. ---创建或者刷新界面数据时调用
  11. function this:Refresh()
  12. local tbl = SL:GetConfigTable("cfg_activity_rule")
  13. local itemPath = "dev/outui/Union/Item/KLUnionActivity/KLUnionActivityItem"
  14. ---@param v cfg_activity_rule_column
  15. for _ , v in pairs(tbl) do
  16. if v.initType == 2 then
  17. if table.isNullOrEmpty(self.items[v.id]) then
  18. --战盟活动
  19. self.items[v.id] = GUI:UIPanel_Open(itemPath, self.view.layout3, self, {activityId = v.id}, true)
  20. end
  21. end
  22. end
  23. end
  24. ---注册UI事件和服务器消息
  25. function this:RegistEvents()
  26. GUI:AddOnClickEvent(self.view.BtnClose, self, self.CloseSelf)
  27. SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_UNION_ACTIVITY_DATA, self.RES_UNION_ACTIVITY_DATA, self)
  28. end
  29. function this:RES_UNION_ACTIVITY_DATA(id, message)
  30. for k, v in pairs(message) do
  31. if self.items[v.activityid] then
  32. self.items[v.activityid]:SetOpen(v.open)
  33. end
  34. end
  35. end
  36. function this:CloseSelf()
  37. GUI:UIPanel_Close("dev/ui/Union/Panel/KLUnionToggleList/KLUnionToggleListPanel")
  38. GUI:UIPanel_Close(self.filePath)
  39. SL.ShowMainPanel()
  40. end
  41. function this:Close()
  42. self.items = {}
  43. GUI:UIPanel_Close("dev/outui/Union/Item/KLUnionActivity/KLUnionActivityItem")
  44. GUI:UIPanel_Close("dev/outui/Union/Panel/KLUnionBossMain/KLUnionBossMainPanel")
  45. end
  46. return this