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.

175 lines
6.5 KiB

  1. local PdkDef = require("luaScript.SubGameDefine.Poker.hejiangPdkWanFa")
  2. local PdkSoundHelper = require("pk_hejiangpdk.luaScript.Views.Room.hejiangPdkSoundHelper"):new()
  3. local PdkSettingView = class("PdkSettingView", cc.UIView)
  4. local CheckBox_Nor_Color = cc.c3b(21,99,97)
  5. local CheckBox_Sel_Color = cc.c3b(213,46,11)
  6. function PdkSettingView:ctor( o )
  7. self.desktopRadioManager = import("luaScript.Tools.RadioManager"):new()
  8. self.musicRadioManager = import("luaScript.Tools.RadioManager"):new()
  9. local ui = loadUI("pk_luzhoupdk/res/ui/ui_room/ui_lzpdk_settingview.ui")
  10. self.ui = ui
  11. self:addChild(ui)
  12. self:initUi()
  13. end
  14. function PdkSettingView:initUi()
  15. self.ui.Items.ImageView_bg_select:setVisible(false)
  16. -- 关闭
  17. self.ui.Items.Button_Close:registerClick(handler(self , self.onClickClose))
  18. --音乐
  19. self.ui.Items.CheckBox_Music:addEventListener(handler(self , self.onClickYinYue))
  20. self.ui.Items.CheckBox_Music:setSelectedState(app.systemSetting.info.music);
  21. -- 音效
  22. self.ui.Items.CheckBox_Effect:addEventListener(handler(self , self.onClickYinXiao))
  23. self.ui.Items.CheckBox_Effect:setSelectedState(app.systemSetting.info.sound);
  24. --音乐音量
  25. self.ui.Items.SliderMusic:setPercent(app.systemSetting.info.musicVolume * 100 or 100)
  26. self.ui.Items.SliderMusic:addEventListener(handler(self, self.onMusicVolumeClickSlider))
  27. --音效音量
  28. self.ui.Items.SliderEffect:setPercent(app.systemSetting.info.soundVolume * 100 or 100)
  29. self.ui.Items.SliderEffect:addEventListener(handler(self, self.onSoundVolumeClickSlider))
  30. self.languageRadioManager = import("luaScript.Tools.RadioManager"):new();
  31. self.languageRadioManager:addItem(self.ui.Items.CheckBox_ChenZhou, PdkDef.Language.FANG_YAN);--泸州话
  32. self.languageRadioManager:addItem(self.ui.Items.CheckBox_PuTongHua, PdkDef.Language.PU_TONG_HUA);
  33. local cacheLan = "LanguageType"..GAME_IDS.hejiangPaoDeKuai
  34. local languageType = tonumber(loadUserInfo(cacheLan)) or PdkDef.Language.PU_TONG_HUA
  35. self.languageRadioManager:setDefault(languageType)
  36. self:setYuColor(languageType)
  37. local function callback(idx)
  38. saveUserInfo(cacheLan,idx)
  39. self:setYuColor(idx)
  40. end
  41. self.languageRadioManager:setCallback(callback)
  42. local cacheGameBgPic = "hjpdk_setting_bg_idx"--"gameBgPicture"..app.gameId
  43. if self.desktopRadioManager then
  44. self.desktopRadioManager:addItem(self.ui.Items.CheckBox_zm_bg_1, 1)
  45. self.desktopRadioManager:addItem(self.ui.Items.CheckBox_zm_bg_2, 2)
  46. self.desktopRadioManager:addItem(self.ui.Items.CheckBox_zm_bg_3, 3)
  47. self.desktopRadioManager:addItem(self.ui.Items.CheckBox_zm_bg_4, 4)
  48. local defaultValue = tonumber(loadUserInfo(cacheGameBgPic)) or 2
  49. self.desktopRadioManager:setDefault(defaultValue)
  50. self:setZhuoColor(defaultValue)
  51. self.desktopRadioManager:setCallback(function ( value )
  52. self:setZhuoColor(value)
  53. saveUserInfo(cacheGameBgPic,value)
  54. --更换牌背
  55. app.room:dispatchEvent({name = "pdkNormalEvent_changeDesktop", idx=value})
  56. end)
  57. end
  58. local cacheMusic = "gameBgMusic"..app.gameId
  59. if self.musicRadioManager then
  60. self.musicRadioManager:addItem(self.ui.Items.CheckBox_Music_1, 1)
  61. self.musicRadioManager:addItem(self.ui.Items.CheckBox_Music_2, 2)
  62. --self.musicRadioManager:addItem(self.ui.Items.CheckBox_Music_3, 1)
  63. local defaultValue = tonumber(loadUserInfo(cacheMusic)) or 2
  64. self.musicRadioManager:setDefault(defaultValue)
  65. self:setYinColor(defaultValue)
  66. self.musicRadioManager:setCallback(function ( value )
  67. self:setYinColor(value)
  68. saveUserInfo(cacheMusic,value)
  69. --更换背景音乐
  70. PdkSoundHelper:playBgMusic(value)
  71. end)
  72. end
  73. --[[self.deskRadioManager = import("luaScript.Tools.RadioManager"):new()
  74. for i=1,4 do
  75. self.ui.Items["CheckBox_"..i]:addEventListener(handler(self , self.onClickChange))
  76. self.deskRadioManager:addItem(self.ui.Items["CheckBox_"..i], i)
  77. end
  78. local defaultValue = tonumber(loadUserInfo("hjpdk_setting_bg_idx")) or 2
  79. self.deskRadioManager:setDefault(defaultValue)--]]
  80. end
  81. function PdkSettingView:onClickChange( sender )
  82. playBtnEffect()
  83. local result = self.deskRadioManager:getResult()
  84. saveUserInfo("hjpdk_setting_bg_idx", result)
  85. app.room:dispatchEvent({name = "pdkNormalEvent_changeDesktop", idx=result})
  86. end
  87. function PdkSettingView:onEnter()
  88. PdkSettingView.super.onEnter(self)
  89. end
  90. -- 注销
  91. function PdkSettingView:onClickLogout()
  92. playBtnEffect()
  93. app.plugin:logout()
  94. end
  95. -- 关闭设置界面
  96. function PdkSettingView:onClickClose()
  97. playBtnEffect()
  98. self:removeFromParent()
  99. end
  100. -- 音乐
  101. function PdkSettingView:onClickYinYue()
  102. app.systemSetting.info.music = self.ui.Items.CheckBox_Music:getSelectedState();
  103. app.systemSetting:save()
  104. end
  105. -- 音效
  106. function PdkSettingView:onClickYinXiao()
  107. app.systemSetting.info.sound = self.ui.Items.CheckBox_Effect:getSelectedState();
  108. app.systemSetting:save()
  109. app:dispatchEvent({name = "onChangeYinXiao"});
  110. end
  111. -- 音乐音量设置回调
  112. function PdkSettingView:onMusicVolumeClickSlider()
  113. local percent = self.ui.Items.SliderMusic:getPercent();
  114. local curValue = percent / 100;
  115. app.systemSetting.info.musicVolume = curValue;
  116. app.systemSetting:save()
  117. end
  118. -- 音效音量设置回调
  119. function PdkSettingView:onSoundVolumeClickSlider()
  120. local percent = self.ui.Items.SliderEffect:getPercent();
  121. local curValue = percent / 100;
  122. app.systemSetting.info.soundVolume = curValue;
  123. app.systemSetting:save()
  124. end
  125. function PdkSettingView:onClickClose()
  126. playBtnEffect()
  127. self:removeFromParent()
  128. end
  129. --选择语言时,字体变颜色
  130. function PdkSettingView:setYuColor(ttype)
  131. self.ui.Items.Text_putonghua:setColor(ttype == 1 and CheckBox_Sel_Color or CheckBox_Nor_Color)--普通话
  132. self.ui.Items.Text_ChenZhou:setColor(ttype == 2 and CheckBox_Sel_Color or CheckBox_Nor_Color)--方言话
  133. end
  134. --选择桌布时,字体变颜色
  135. function PdkSettingView:setZhuoColor(ttype)
  136. self.ui.Items.Text_zm_bg_1:setColor(ttype == 1 and CheckBox_Sel_Color or CheckBox_Nor_Color)--颜色1
  137. self.ui.Items.Text_zm_bg_2:setColor(ttype == 2 and CheckBox_Sel_Color or CheckBox_Nor_Color)--颜色2
  138. self.ui.Items.Text_zm_bg_3:setColor(ttype == 3 and CheckBox_Sel_Color or CheckBox_Nor_Color)--颜色3
  139. self.ui.Items.Text_zm_bg_4:setColor(ttype == 4 and CheckBox_Sel_Color or CheckBox_Nor_Color)--颜色4
  140. end
  141. --选择背景音乐时,字体变颜色
  142. function PdkSettingView:setYinColor(ttype)
  143. self.ui.Items.Text_Music_1:setColor(ttype == 1 and CheckBox_Sel_Color or CheckBox_Nor_Color)--
  144. self.ui.Items.Text_Music_2:setColor(ttype == 2 and CheckBox_Sel_Color or CheckBox_Nor_Color)--
  145. --self.ui.Items.Text_Music_3:setColor(ttype == 1 and CheckBox_Sel_Color or CheckBox_Nor_Color)--
  146. end
  147. return PdkSettingView