您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

147 行
5.5 KiB

  1. -- 房间设置界面
  2. local ZPDef = ZPFramework.ZPImport("zp_base.luaScript.ZPDef")
  3. local ZPFuc = ZPFramework.ZPImport("zp_base.luaScript.ZPFunctions")
  4. local ZPSound = ZPFramework.ZPImport("zp_base.luaScript.ZPSound")
  5. local ZPRoomSettingView = class("ZPRoomSettingView", cc.UIView)
  6. function ZPRoomSettingView:ctor()
  7. ZPRoomSettingView.super.ctor(self);
  8. self.desktopRadioManager = import("luaScript.Tools.RadioManager"):new()
  9. self.musicRadioManager = import("luaScript.Tools.RadioManager"):new()
  10. end
  11. local CheckBox_Nor_Color = cc.c4b(21,99,97,255)
  12. local CheckBox_Sel_Color = cc.c4b(213,46,11,255)
  13. function ZPRoomSettingView:loadUI()
  14. local ui = loadUI("zp_base/res/ui/ui_fangjian/zipai_ui_shezhi.ui");
  15. self.ui = ui;
  16. self:addChild(ui);
  17. end
  18. function ZPRoomSettingView:onEnter()
  19. ZPRoomSettingView.super.onEnter(self)
  20. self:loadUI()
  21. self:setDefaultColor()
  22. self.ui.Items.ImageView_bg_select:setVisible(false)
  23. -- 关闭
  24. self.ui.Items.Button_guanbi:registerClick(handler(self , self.onClickClose))
  25. --音乐
  26. self.ui.Items.CheckBox_Music:addEventListener(handler(self , self.onClickYinYue))
  27. self.ui.Items.CheckBox_Music:setSelectedState(app.systemSetting.info.music);
  28. -- 音效
  29. self.ui.Items.CheckBox_Effect:addEventListener(handler(self , self.onClickYinXiao))
  30. self.ui.Items.CheckBox_Effect:setSelectedState(app.systemSetting.info.sound);
  31. --音乐音量
  32. self.ui.Items.SliderMusic:setPercent(app.systemSetting.info.musicVolume * 100 or 100)
  33. self.ui.Items.SliderMusic:addEventListener(handler(self, self.onMusicVolumeClickSlider))
  34. --音效音量
  35. self.ui.Items.SliderEffect:setPercent(app.systemSetting.info.soundVolume * 100 or 100)
  36. self.ui.Items.SliderEffect:addEventListener(handler(self, self.onSoundVolumeClickSlider))
  37. self.languageRadioManager = import("luaScript.Tools.RadioManager"):new();
  38. self.languageRadioManager:addItem(self.ui.Items.CheckBox_ChenZhou, ZPDef.GameLanguageType.FANG_YAN);
  39. self.languageRadioManager:addItem(self.ui.Items.CheckBox_PuTongHua, ZPDef.GameLanguageType.PU_TONG_HUA);
  40. local cacheLan = "LanguageType"..(ZPDef.GameID or app.gameId)
  41. local languageType = tonumber(loadUserInfo(cacheLan)) or ZPDef.GameLanguageType.PU_TONG_HUA
  42. self.languageRadioManager:setNormalColor(CheckBox_Nor_Color)
  43. self.languageRadioManager:setSelectColor(CheckBox_Sel_Color)
  44. local function callback(idx)
  45. saveUserInfo(cacheLan,idx)
  46. end
  47. self.languageRadioManager:setCallback(callback)
  48. self.languageRadioManager:setDefault(languageType)
  49. local cacheGameBgPic = "gameBgPicture"..(ZPDef.GameID or app.gameId)
  50. if self.desktopRadioManager then
  51. self.desktopRadioManager:addItem(self.ui.Items.CheckBox_zm_bg_1, 1)
  52. self.desktopRadioManager:addItem(self.ui.Items.CheckBox_zm_bg_2, 2)
  53. self.desktopRadioManager:addItem(self.ui.Items.CheckBox_zm_bg_3, 3)
  54. self.desktopRadioManager:addItem(self.ui.Items.CheckBox_zm_bg_4, 4)
  55. local defaultValue = tonumber(loadUserInfo(cacheGameBgPic)) or 4
  56. self.desktopRadioManager:setNormalColor(CheckBox_Nor_Color)
  57. self.desktopRadioManager:setSelectColor(CheckBox_Sel_Color)
  58. self.desktopRadioManager:setCallback(function ( value )
  59. --更换牌背
  60. app:dispatchEvent({name = "onChangeTable", idx = value});
  61. end)
  62. self.desktopRadioManager:setDefault(defaultValue)
  63. end
  64. local cacheMusic = "gameBgMusic"..(ZPDef.GameID or app.gameId)
  65. if self.musicRadioManager then
  66. self.musicRadioManager:addItem(self.ui.Items.CheckBox_Music_1, 2)
  67. self.musicRadioManager:addItem(self.ui.Items.CheckBox_Music_2, 3)
  68. self.musicRadioManager:addItem(self.ui.Items.CheckBox_Music_3, 1)
  69. local defaultValue = tonumber(loadUserInfo(cacheMusic)) or 1
  70. self.musicRadioManager:setNormalColor(CheckBox_Nor_Color)
  71. self.musicRadioManager:setSelectColor(CheckBox_Sel_Color)
  72. self.musicRadioManager:setCallback(function ( value )
  73. saveUserInfo(cacheMusic,value)
  74. --更换背景音乐
  75. ZPSound.PlayGameBGM(value)
  76. end)
  77. self.musicRadioManager:setDefault(defaultValue)
  78. end
  79. end
  80. -- 关闭
  81. function ZPRoomSettingView:onClickClose()
  82. playBtnEffect()
  83. self:removeFromParent()
  84. end
  85. -- 音乐
  86. function ZPRoomSettingView:onClickYinYue()
  87. app.systemSetting.info.music = self.ui.Items.CheckBox_Music:getSelectedState();
  88. app.systemSetting:save()
  89. end
  90. -- 音效
  91. function ZPRoomSettingView:onClickYinXiao()
  92. app.systemSetting.info.sound = self.ui.Items.CheckBox_Effect:getSelectedState();
  93. app.systemSetting:save()
  94. app:dispatchEvent({name = "onChangeYinXiao"});
  95. end
  96. -- 音乐音量设置回调
  97. function ZPRoomSettingView:onMusicVolumeClickSlider()
  98. local percent = self.ui.Items.SliderMusic:getPercent();
  99. local curValue = percent / 100;
  100. app.systemSetting.info.musicVolume = curValue;
  101. app.systemSetting:save()
  102. end
  103. -- 音效音量设置回调
  104. function ZPRoomSettingView:onSoundVolumeClickSlider()
  105. local percent = self.ui.Items.SliderEffect:getPercent();
  106. local curValue = percent / 100;
  107. app.systemSetting.info.soundVolume = curValue;
  108. app.systemSetting:save()
  109. end
  110. --选择语言时,字体变颜色
  111. function ZPRoomSettingView:setDefaultColor()
  112. self.ui.Items.Text_putonghua:setTextColor(CheckBox_Nor_Color)
  113. self.ui.Items.Text_ChenZhou:setTextColor(CheckBox_Nor_Color)
  114. self.ui.Items.Text_zm_bg_1:setTextColor(CheckBox_Nor_Color)
  115. self.ui.Items.Text_zm_bg_2:setTextColor(CheckBox_Nor_Color)
  116. self.ui.Items.Text_zm_bg_3:setTextColor(CheckBox_Nor_Color)
  117. self.ui.Items.Text_zm_bg_4:setTextColor(CheckBox_Nor_Color)
  118. self.ui.Items.Text_Music_1:setTextColor(CheckBox_Nor_Color)
  119. self.ui.Items.Text_Music_2:setTextColor(CheckBox_Nor_Color)
  120. self.ui.Items.Text_Music_3:setTextColor(CheckBox_Nor_Color)
  121. end
  122. return ZPRoomSettingView;