You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

164 lines
5.1 KiB

  1. local DdzDef = require("luaScript.SubGameDefine.zgwrDdzDefine")
  2. local DdzSoundHelper = require("pk_zgwrddz.luaScript.Views.Room.zgwrDdzSoundHelper"):new()
  3. local DdzSettingView = class("DdzSettingView", cc.UIView)
  4. local CheckBox_Nor_Color = cc.c4b(21,99,97, 255)
  5. local CheckBox_Sel_Color = cc.c4b(213,46,11, 255)
  6. function DdzSettingView:ctor( o )
  7. self:loadUI();
  8. self:initViews();
  9. end
  10. function DdzSettingView:loadUI()
  11. self.ui = loadUI("pk_zgwrddz/res/ui/ui_room/ui_wrddz_settingview.ui")
  12. self:addChild(self.ui)
  13. end
  14. function DdzSettingView:onEnter()
  15. DdzSettingView.super.onEnter(self)
  16. end
  17. function DdzSettingView:initViews()
  18. self.ui.Items.ImageView_bg_select:setVisible(false)
  19. -- 关闭
  20. self.ui.Items.Button_Close:registerClick(handler(self , self.onClickClose))
  21. self:initSliders();
  22. self:initLanguageRadioManager();
  23. self:initDesktopRadioManager();
  24. self:initMusicRadioManager();
  25. end
  26. ---
  27. -- 初始化滑动条
  28. --
  29. function DdzSettingView:initSliders()
  30. --音乐
  31. self.ui.Items.CheckBox_Music:addEventListener(handler(self , self.onClickYinYue))
  32. self.ui.Items.CheckBox_Music:setSelectedState(app.systemSetting.info.music);
  33. -- 音效
  34. self.ui.Items.CheckBox_Effect:addEventListener(handler(self , self.onClickYinXiao))
  35. self.ui.Items.CheckBox_Effect:setSelectedState(app.systemSetting.info.sound);
  36. --音乐音量
  37. self.ui.Items.SliderMusic:setPercent(app.systemSetting.info.musicVolume * 100 or 100)
  38. self.ui.Items.SliderMusic:addEventListener(handler(self, self.onMusicVolumeClickSlider))
  39. --音效音量
  40. self.ui.Items.SliderEffect:setPercent(app.systemSetting.info.soundVolume * 100 or 100)
  41. self.ui.Items.SliderEffect:addEventListener(handler(self, self.onSoundVolumeClickSlider))
  42. end
  43. ---
  44. -- 初始化
  45. --
  46. function DdzSettingView:initLanguageRadioManager()
  47. local radioManager = import("luaScript.Tools.RadioManager"):new();
  48. radioManager:addItem(self.ui.Items.CheckBox_ChenZhou, DdzDef.Language.FANG_YAN);--泸州话
  49. radioManager:addItem(self.ui.Items.CheckBox_PuTongHua, DdzDef.Language.PU_TONG_HUA);
  50. local cacheLan = "LanguageType"..GAME_IDS.zgWuRenDouDiZhu
  51. local languageType = tonumber(loadUserInfo(cacheLan)) or DdzDef.Language.FANG_YAN
  52. radioManager:setDefault(languageType)
  53. local function callback(idx)
  54. saveUserInfo(cacheLan,idx)
  55. end
  56. radioManager:setCallback(callback)
  57. radioManager:setNormalColor(CheckBox_Nor_Color)
  58. radioManager:setSelectColor(CheckBox_Sel_Color)
  59. self.languageRadioManager = radioManager;
  60. end
  61. ---
  62. -- 初始化桌面背景
  63. --
  64. function DdzSettingView:initDesktopRadioManager()
  65. local cacheGameBgPic = "wrddz_setting_bg_idx"--"gameBgPicture"..app.gameId
  66. local radioManager = import("luaScript.Tools.RadioManager"):new()
  67. radioManager:addItem(self.ui.Items.CheckBox_zm_bg_1, 1)
  68. radioManager:addItem(self.ui.Items.CheckBox_zm_bg_2, 2)
  69. radioManager:addItem(self.ui.Items.CheckBox_zm_bg_3, 3)
  70. radioManager:addItem(self.ui.Items.CheckBox_zm_bg_4, 4)
  71. local defaultValue = tonumber(loadUserInfo(cacheGameBgPic)) or 3
  72. radioManager:setDefault(defaultValue)
  73. radioManager:setCallback(function ( value )
  74. saveUserInfo(cacheGameBgPic,value)
  75. --更换牌背
  76. app.room:dispatchEvent({name = "pdkNormalEvent_changeDesktop", idx=value})
  77. end)
  78. radioManager:setNormalColor(CheckBox_Nor_Color)
  79. radioManager:setSelectColor(CheckBox_Sel_Color)
  80. self.desktopRadioManager = radioManager;
  81. end
  82. ---
  83. -- 初始化背景音乐
  84. --
  85. function DdzSettingView:initMusicRadioManager()
  86. local cacheMusic = "gameBgMusic"..app.gameId
  87. local radioManager = import("luaScript.Tools.RadioManager"):new()
  88. radioManager:addItem(self.ui.Items.CheckBox_Music_1, 1)
  89. radioManager:addItem(self.ui.Items.CheckBox_Music_2, 2)
  90. --radioManager:addItem(self.ui.Items.CheckBox_Music_3, 1)
  91. local defaultValue = tonumber(loadUserInfo(cacheMusic)) or 2
  92. radioManager:setDefault(defaultValue)
  93. radioManager:setCallback(function ( value )
  94. saveUserInfo(cacheMusic,value)
  95. --更换背景音乐
  96. DdzSoundHelper:playBgMusic(value)
  97. end)
  98. radioManager:setNormalColor(CheckBox_Nor_Color)
  99. radioManager:setSelectColor(CheckBox_Sel_Color)
  100. self.musicRadioManager = radioManager
  101. end
  102. -- 关闭设置界面
  103. function DdzSettingView:onClickClose()
  104. playBtnEffect()
  105. self:removeFromParent()
  106. end
  107. -- 音乐
  108. function DdzSettingView:onClickYinYue()
  109. app.systemSetting.info.music = self.ui.Items.CheckBox_Music:getSelectedState();
  110. app.systemSetting:save()
  111. end
  112. -- 音效
  113. function DdzSettingView:onClickYinXiao()
  114. app.systemSetting.info.sound = self.ui.Items.CheckBox_Effect:getSelectedState();
  115. app.systemSetting:save()
  116. app:dispatchEvent({name = "onChangeYinXiao"});
  117. end
  118. -- 音乐音量设置回调
  119. function DdzSettingView:onMusicVolumeClickSlider()
  120. local percent = self.ui.Items.SliderMusic:getPercent();
  121. local curValue = percent / 100;
  122. app.systemSetting.info.musicVolume = curValue;
  123. app.systemSetting:save()
  124. end
  125. -- 音效音量设置回调
  126. function DdzSettingView:onSoundVolumeClickSlider()
  127. local percent = self.ui.Items.SliderEffect:getPercent();
  128. local curValue = percent / 100;
  129. app.systemSetting.info.soundVolume = curValue;
  130. app.systemSetting:save()
  131. end
  132. function DdzSettingView:onClickClose()
  133. playBtnEffect()
  134. self:removeFromParent()
  135. end
  136. return DdzSettingView