KLUITeamMainPanel.lua 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. ---@class KLUITeamMainPanel:UIKmlLuaPanelBase
  2. ---@field view KLUITeamMainPanelView
  3. local KLUITeamMainPanel = class(UIKmlLuaPanelBase)
  4. local this =KLUITeamMainPanel
  5. ---创建时调用一次
  6. function this:Init()
  7. self.subPanel = {
  8. "dev/ui/Team/Panel/KLUIMyTeam/KLUIMyTeamPanel",
  9. "dev/ui/Team/Panel/KLUINearTeam/KLUINearTeamPanel",
  10. "dev/ui/Team/Panel/KLUINearPlayer/KLUINearPlayerPanel",
  11. "dev/ui/Team/Panel/KLUITeamApplication/KLUITeamApplicationPanel",
  12. "dev/ui/Team/Panel/KLUINearPlayer/KLUINearPlayerPanel",
  13. "dev/ui/Team/Panel/KLUINearPlayer/KLUINearPlayerPanel",
  14. }
  15. end
  16. ---创建或者刷新界面数据时调用
  17. function this:Refresh()
  18. SL.HideMainPanel()
  19. if self.args then
  20. self.panelType = self.args.panelType
  21. GUI:UIPanel_Open(self.subPanel[self.panelType], nil, nil, {basePanel = self})
  22. self:SetToggleDefault(self.panelType)
  23. else
  24. self.panelType = 1
  25. GUI:UIPanel_Open(self.subPanel[self.panelType], nil, nil, {basePanel = self})
  26. end
  27. end
  28. ---注册UI事件和服务器消息
  29. function this:RegistEvents()
  30. GUI:SetToggleOnValueChange(self.view.my_team, self, self.TeamToggleChange, 1)
  31. GUI:SetToggleOnValueChange(self.view.near_team, self, self.TeamToggleChange, 2)
  32. GUI:SetToggleOnValueChange(self.view.near_player, self, self.TeamToggleChange, 3)
  33. GUI:SetToggleOnValueChange(self.view.request_list, self, self.TeamToggleChange, 4)
  34. GUI:SetToggleOnValueChange(self.view.my_friend, self, self.TeamToggleChange, 5)
  35. GUI:SetToggleOnValueChange(self.view.my_union, self, self.TeamToggleChange, 6)
  36. GUI:AddOnClickEvent(self.view.closeBtn, self, self.ClosePanel)
  37. GUI:AddOnClickEvent(self.view.HelpButton, self, self.OnClickHelpButton)
  38. end
  39. function this:OnClickHelpButton()
  40. local helpCfg=SL:GetConfig("cfg_rule_text",8)
  41. if helpCfg then
  42. SL:CommonStrTipsMessage({title =helpCfg.menutxt,str=helpCfg.location})
  43. end
  44. --SL:CommonStrTipsMessage({title = "队伍说明",str="1、队伍最大人数为5人。\n2、队伍人数越多,经验加成越高。\n3、申请队伍后需队长同意才能入队。"})
  45. end
  46. function this:TeamToggleChange(control, eventData)
  47. if eventData ~= self.panelType then
  48. self:CloseTeamOtherPanel()
  49. self.panelType = eventData
  50. local myPlayerType = 1
  51. if self.panelType == 5 then--好友
  52. myPlayerType = 2
  53. elseif self.panelType == 6 then--战盟
  54. myPlayerType = 3
  55. end
  56. GUI:UIPanel_Open(self.subPanel[self.panelType], nil, nil, {basePanel = self,myPlayerType = myPlayerType})
  57. end
  58. end
  59. function this:SetToggleDefault(type)
  60. if type == 1 then
  61. GUI:Toggle_setIsOn(self.view.my_team,1)
  62. elseif type == 2 then
  63. GUI:Toggle_setIsOn(self.view.near_team,1)
  64. elseif type == 3 then
  65. GUI:Toggle_setIsOn(self.view.near_player,1)
  66. elseif type == 4 then
  67. GUI:Toggle_setIsOn(self.view.request_list,1)
  68. elseif type == 5 then
  69. GUI:Toggle_setIsOn(self.view.my_friend,1)
  70. elseif type == 6 then
  71. GUI:Toggle_setIsOn(self.view.my_union,1)
  72. end
  73. end
  74. function this:CloseTeamOtherPanel()
  75. GUI:UIPanel_Close(self.subPanel[self.panelType])
  76. end
  77. function this:ClosePanel()
  78. GUI:UIPanel_Close("dev/ui/Team/Panel/KLUITeamMain/KLUITeamMainPanel")
  79. SL.ShowMainPanel()
  80. end
  81. function this:Close()
  82. self:CloseTeamOtherPanel()
  83. self.panelType = 0
  84. end
  85. return this