KLSanctuaryBossActivityPanel.lua 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. ---@class KLSanctuaryBossActivityPanel:UIKmlLuaPanelBase
  2. ---@field view KLSanctuaryBossActivityPanelView
  3. local KLSanctuaryBossActivityPanel = class(UIKmlLuaPanelBase)
  4. local this = KLSanctuaryBossActivityPanel
  5. function this:AsyncLoadUI()
  6. end
  7. ---创建时调用一次
  8. function this:Init()
  9. ---@type cfg_activity_rule_column
  10. local tab = SL:GetConfig("cfg_activity_rule", 25001)
  11. if tab then
  12. ---@type cfg_map_info_column
  13. local mapTab = SL:GetConfig("cfg_map_info", tab.mapid[1])
  14. local message = ""
  15. self.level_lock = false
  16. self.strength_lock = false
  17. self.append_lock = false
  18. self.open_level = 0
  19. if mapTab and #mapTab.condition > 0 then
  20. local condition = mapTab.condition
  21. local level = condition[1]
  22. local strength_level = condition[2]
  23. local append_level = condition[3]
  24. local player_level = SL:GetMetaValue("LEVEL")
  25. local all_strength_level = EquipFunc.GetAllStrengthLevel()
  26. local all_append_level = EquipFunc.GetAllAppendLevel()
  27. if player_level < level then
  28. message = message .. "等级" .. level .. "级"
  29. self.level_lock = true
  30. self.open_level = level
  31. end
  32. if all_strength_level < strength_level then
  33. if not string.isNullOrEmpty(message) then
  34. message = message .. ","
  35. end
  36. message = message .. "强化总等级" .. strength_level
  37. self.strength_lock = true
  38. end
  39. if all_append_level < append_level then
  40. if not string.isNullOrEmpty(message) then
  41. message = message .. ","
  42. end
  43. message = message .. "追加总等级" .. append_level
  44. self.append_lock = true
  45. end
  46. if not string.isNullOrEmpty(message) then
  47. message = message .. "可进入"
  48. end
  49. end
  50. GUI:Text_setString(self.view.tishi, message)
  51. end
  52. end
  53. ---注册UI事件和服务器消息
  54. function this:RegistEvents()
  55. GUI:AddOnClickEvent(self.view.join_btn, self, self.JoinOnclick)
  56. end
  57. function this:JoinOnclick()
  58. if self.level_lock then
  59. SL:TipMessage(self.open_level .. "级开启,无法进入", 1, NoticeType.NoticeMid)
  60. return
  61. end
  62. if self.strength_lock then
  63. SL:TipMessage(SL:GetConfig('cfg_string', 257).text, 1, NoticeType.NoticeMid)--"全身强化等级不足,无法进入",
  64. return
  65. end
  66. if self.append_lock then
  67. SL:TipMessage(SL:GetConfig('cfg_string', 257).text, 1, NoticeType.NoticeMid)--"全身追加等级不足,无法进入",
  68. return
  69. end
  70. GUI:UIPanel_Close("dev/outui/CrossServer/Panel/KLCrossServerMain/KLCrossServerPanel")
  71. GUI:UIPanel_Close("dev/outui/CrossServer/Panel/KLSanctuaryBossActivity/KLSanctuaryBossActivityPanel")
  72. SL.ShowMainPanel()
  73. SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_GOTO_CROSS_MAP, {})
  74. end
  75. function this:Close()
  76. end
  77. return this