KLBasicPanel.lua 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. ---@class KLBasicPanel:UIKmlLuaPanelBase
  2. ---@field view KLBasicPanelView
  3. local KLBasicPanel = class(UIKmlLuaPanelBase)
  4. local this = KLBasicPanel
  5. ---创建时调用一次
  6. function this:Init()
  7. end
  8. ---创建或者刷新界面数据时调用
  9. function this:Refresh()
  10. local bgSound = SL:GetMetaValue(EMetaVarGetKey.GET_BACKGROUND_SOUND)
  11. local soundEffect = SL:GetMetaValue(EMetaVarGetKey.GET_SOUND_EFFECT)
  12. local voice = SL:GetMetaValue(EMetaVarGetKey.GET_VOICE)
  13. local rockerType = SL:GetMetaValue(EMetaVarGetKey.GET_ROCKER_TYPE)
  14. --第一次进游戏没有设置默认勾选
  15. local clickFloorMove = SL:GetMetaValue(EMetaVarGetKey.GET_CLICK_FLOOR_IS_SELECT)
  16. GUI:Slider_setPercent(self.view.bgSlider, bgSound)
  17. GUI:Slider_setPercent(self.view.soundSlider, soundEffect)
  18. --GUI:Slider_setPercent(self.view.voiceSlider,voice)
  19. GUI:SetIsOnWithoutNotify(self.view.fixedJoyStick, rockerType == ETickModel.fixed)
  20. GUI:SetIsOnWithoutNotify(self.view.moveJoyStick, rockerType == ETickModel.Move)
  21. GUI:SetIsOnWithoutNotify(self.view.clickFloor, clickFloorMove == EScreen.True)
  22. end
  23. ---注册UI事件和服务器消息
  24. function this:RegistEvents()
  25. GUI:SetToggleOnValueChange(self.view.fixedJoyStick, self, self.FixedJoyStickOnValueChange)
  26. GUI:SetToggleOnValueChange(self.view.moveJoyStick, self, self.MoveJoyStickOnValueChange)
  27. GUI:SetToggleOnValueChange(self.view.clickFloor, self, self.ClickFloorValueChange)
  28. GUI:AddOnClickEvent(self.view.BtnLock, self, self.BtnLockOnClick)
  29. GUI:AddOnClickEvent(self.view.BtnRoleChose, self, self.BtnRoleChoseOnClick)
  30. GUI:AddOnClickEvent(self.view.BtnExitGame, self, self.BtnExitGameOnClick)
  31. GUI:AddOnClickEvent(self.view.BtnReDefault, self, self.BtnReDefaultOnClick)
  32. GUI:SetSliderOnValueChange(self.view.bgSlider, self, self.BgSliderOnValueChange)
  33. GUI:SetSliderOnValueChange(self.view.soundSlider, self, self.SoundSliderOnValueChange)
  34. --GUI:SetSliderOnValueChange(self.view.voiceSlider,self,self.VoiceSliderOnValueChange)
  35. end
  36. function this:ClickFloorValueChange(control, _, data)
  37. local isToggle = data[1]
  38. if isToggle then
  39. SL:SetMetaValue(EMetaVarSetKey.SET_IS_CLICK_FLOOR_MOVE, EScreen.True)
  40. else
  41. SL:SetMetaValue(EMetaVarSetKey.SET_IS_CLICK_FLOOR_MOVE, EScreen.False)
  42. end
  43. end
  44. function this:FixedJoyStickOnValueChange(control, _, data)
  45. local isToggle = data[1]
  46. if isToggle then
  47. SL:SetMetaValue(EMetaVarSetKey.SET_ROCKER_TYPE, ETickModel.fixed)
  48. end
  49. end
  50. function this:MoveJoyStickOnValueChange(control, _, data)
  51. local isToggle = data[1]
  52. if isToggle then
  53. SL:SetMetaValue(EMetaVarSetKey.SET_ROCKER_TYPE, ETickModel.Move)
  54. end
  55. end
  56. function this:BtnLockOnClick()
  57. GUI:UIPanel_Open("dev/ui/Setting/Panel/KLLock/KLLockPanel")
  58. end
  59. function this:BtnRoleChoseOnClick()
  60. SL:QuitSelectRoleUI()
  61. end
  62. function this:BtnExitGameOnClick()
  63. if SL.LoginInfo:IsSDK()then
  64. if SL.Main.IsWindows() then
  65. SL:QuitGame()
  66. else
  67. if SL.LoginInfo:IsOutSDK() then
  68. MuInterface.Instance:LogoutAccount()
  69. else
  70. SL:QuitGame()
  71. end
  72. end
  73. else
  74. SL:QuitGame()
  75. end
  76. end
  77. function this:BtnReDefaultOnClick()
  78. SL:ReplyDefaultBaseSetting()
  79. self:Refresh()
  80. end
  81. function this:BgSliderOnValueChange(control, _, data)
  82. local value = math.ceil(data[1])
  83. SL:SetMetaValue(EMetaVarSetKey.SET_BACKGROUND_SOUND, value)
  84. end
  85. function this:SoundSliderOnValueChange(control, _, data)
  86. local value = math.ceil(data[1])
  87. SL:SetMetaValue(EMetaVarSetKey.SET_SOUND_EFFECT, value)
  88. end
  89. function this:VoiceSliderOnValueChange(control, _, data)
  90. local value = math.ceil(data[1])
  91. SL:SetMetaValue(EMetaVarSetKey.SET_VOICE, value)
  92. end
  93. function this:Close()
  94. end
  95. return this