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.

152 lines
5.0 KiB

  1. -- 房间设置界面
  2. local PKDef = PKFramework.PKImport("pk_base.luaScript.PKDef")
  3. local PKFuc = PKFramework.PKImport("pk_base.luaScript.PKFunctions")
  4. local PKSound = PKFramework.PKImport("pk_base.luaScript.PKSound")
  5. local PKRoomSettingView = class("PKRoomSettingView", cc.UIView)
  6. local CheckBox_Nor_Color = cc.c3b(21,99,97)
  7. local CheckBox_Sel_Color = cc.c3b(213,46,11)
  8. function PKRoomSettingView:ctor()
  9. PKRoomSettingView.super.ctor(self);
  10. self.desktopRadioManager = import("luaScript.Tools.RadioManager"):new()
  11. end
  12. function PKRoomSettingView:onEnter()
  13. PKRoomSettingView.super.onEnter(self)
  14. local ui = loadUI("pk_base/res/ui/ui_fangjian/pk_ui_shezhi.ui");
  15. self.ui = ui;
  16. self:addChild(ui);
  17. -- 关闭
  18. self.ui.Items.Button_guanbi:registerClick(handler(self , self.onClickClose))
  19. self.ui.Items.Button_Sure:registerClick(handler(self , self.onClickClose))
  20. self.ui.Items.ScrollView:getInnerContainer():setAutoSize(true);
  21. self.ui.Items.ScrollView:hideAllBar()
  22. --音乐
  23. self.ui.Items.CheckBox_Music:addEventListener(handler(self , self.onClickYinYue))
  24. if app.systemSetting.info.musicVolume == 0 then
  25. self.ui.Items.CheckBox_Music:setSelectedState(false);
  26. else
  27. self.ui.Items.CheckBox_Music:setSelectedState(true);
  28. end
  29. --音乐滑动
  30. self.ui.Items.SliderMusic:setPercent(app.systemSetting.info.musicVolume * 100 or 100)
  31. self.ui.Items.SliderMusic:addEventListener(handler(self, self.onMusicVolumeClickSlider))
  32. -- 音效
  33. self.ui.Items.CheckBox_Effect:addEventListener(handler(self , self.onClickYinXiao))
  34. if app.systemSetting.info.soundVolume == 0 then
  35. self.ui.Items.CheckBox_Effect:setSelectedState(false);
  36. else
  37. self.ui.Items.CheckBox_Effect:setSelectedState(true);
  38. end
  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. --语言
  43. self.languageRadioManager = import("luaScript.Tools.RadioManager"):new();
  44. self.languageRadioManager:addItem(self.ui.Items.CheckBox_FangYan, PKDef.GameLanguageType.FANG_YAN);
  45. self.languageRadioManager:addItem(self.ui.Items.CheckBox_PuTongHua, PKDef.GameLanguageType.PU_TONG_HUA);
  46. local cacheLan = "LanguageType"..(PKDef.GameID or app.gameId)
  47. local languageType = tonumber(loadUserInfo(cacheLan)) or PKDef.GameLanguageType.PU_TONG_HUA
  48. self.languageRadioManager:setDefault(languageType)
  49. self:setYuColor(languageType)
  50. local function callback(idx)
  51. playBtnEffect()
  52. saveUserInfo(cacheLan,idx)
  53. self:setYuColor(idx)
  54. end
  55. self.languageRadioManager:setCallback(callback)
  56. --桌面
  57. local cacheGameBgPic = "gameBgPicture"..(PKDef.GameID or app.gameId)
  58. if self.desktopRadioManager then
  59. self.desktopRadioManager:addItem(self.ui.Items.CheckBox, 1)
  60. self.desktopRadioManager:addItem(self.ui.Items.CheckBox_1, 2)
  61. self.desktopRadioManager:addItem(self.ui.Items.CheckBox_2, 3)
  62. self.desktopRadioManager:addItem(self.ui.Items.CheckBox_3, 4)
  63. self.desktopRadioManager:addItem(self.ui.Items.CheckBox_4, 5)
  64. self.desktopRadioManager:addItem(self.ui.Items.CheckBox_5, 6)
  65. local defaultValue = tonumber(loadUserInfo(cacheGameBgPic)) or 3
  66. self.desktopRadioManager:setDefault(defaultValue)
  67. self.desktopRadioManager:setCallback(function ( value )
  68. --更换牌背
  69. playBtnEffect()
  70. app:dispatchEvent({name = PKDef.PKEvent.OnChangeTable, idx = value});
  71. end)
  72. end
  73. end
  74. -- 关闭
  75. function PKRoomSettingView:onClickClose()
  76. playBtnCloseEffect()
  77. self:removeFromParent()
  78. end
  79. -- 音乐
  80. function PKRoomSettingView:onClickYinYue()
  81. playBtnEffect()
  82. local curValue = 0
  83. if self.ui.Items.CheckBox_Music:getSelectedState() then
  84. curValue = 1
  85. else
  86. curValue = 0
  87. end
  88. app.systemSetting.info.musicVolume = curValue;
  89. app.systemSetting:save()
  90. end
  91. -- 音效
  92. function PKRoomSettingView:onClickYinXiao()
  93. playBtnEffect()
  94. local curValue = 0
  95. if self.ui.Items.CheckBox_Effect:getSelectedState() then
  96. curValue = 1
  97. else
  98. curValue = 0
  99. end
  100. app.systemSetting.info.soundVolume = curValue;
  101. app.systemSetting:save()
  102. end
  103. -- 音乐音量设置回调
  104. function PKRoomSettingView:onMusicVolumeClickSlider()
  105. local percent = self.ui.Items.SliderMusic:getPercent();
  106. local curValue = percent / 100;
  107. app.systemSetting.info.musicVolume = curValue;
  108. app.systemSetting:save()
  109. if curValue == 0 then
  110. self.ui.Items.CheckBox_Music:setSelectedState(false)
  111. else
  112. self.ui.Items.CheckBox_Music:setSelectedState(true)
  113. end
  114. end
  115. -- 音效音量设置回调
  116. function PKRoomSettingView:onSoundVolumeClickSlider()
  117. local percent = self.ui.Items.SliderEffect:getPercent();
  118. local curValue = percent / 100;
  119. app.systemSetting.info.soundVolume = curValue;
  120. app.systemSetting:save()
  121. if curValue == 0 then
  122. self.ui.Items.CheckBox_Effect:setSelectedState(false);
  123. else
  124. self.ui.Items.CheckBox_Effect:setSelectedState(true);
  125. end
  126. end
  127. --选择语言时,字体变颜色
  128. function PKRoomSettingView:setYuColor(ttype)
  129. self.ui.Items.Text_putonghua:setColor(ttype == 1 and CheckBox_Sel_Color or CheckBox_Nor_Color)--普通话
  130. self.ui.Items.Text_FanYan:setColor(ttype == 2 and CheckBox_Sel_Color or CheckBox_Nor_Color)--方言话
  131. end
  132. return PKRoomSettingView;