您不能選擇超過 %s 個話題 話題必須以字母或數字為開頭,可包含連接號 ('-') 且最長為 35 個字

205 行
7.7 KiB

  1. -- 房间设置界面
  2. local RoomSettingView = class("RoomSettingView_28", cc.UIView)
  3. local Functions = require("pk_doudizhu.luaScript.Functions_28")
  4. local defs = require("pk_doudizhu.luaScript.Def_28")
  5. function RoomSettingView:ctor()
  6. RoomSettingView.super.ctor(self)
  7. self.desktopRadioManager = import("luaScript.Tools.RadioManager"):new()
  8. end
  9. local CheckBox_Nor_Color = cc.c3b(21,99,97)
  10. local CheckBox_Sel_Color = cc.c3b(213,46,11)
  11. function RoomSettingView:onEnter()
  12. RoomSettingView.super.onEnter(self)
  13. local ui = loadUI("pk_doudizhu/res/ui/ui_fangjian/doudizhu_ui_setting.ui")
  14. self:addChild(ui)
  15. self.ui = ui
  16. -- 关闭
  17. self.ui.Items.Button_guanbi: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. --互动表情
  31. local faceKG = tonumber(loadUserInfo("HuDongBiaoQingKG" .. app.gameId)) or 1--0关 1开
  32. self.ui.Items.Button_face_guan:setVisible(faceKG == 0)
  33. self.ui.Items.Button_face_kai:setVisible(faceKG == 1)
  34. self.ui.Items.Button_face_guan:registerClick(handler(self , self.setHuDongBiaoQingClose))
  35. self.ui.Items.Button_face_kai:registerClick(handler(self , self.setHuDongBiaoQingOpen))
  36. --屏蔽语音
  37. local voiceKG = tonumber(loadUserInfo("PingBiYuYinKG" .. app.gameId)) or 1--0关 1开
  38. self.ui.Items.Button_voice_guan:setVisible(voiceKG == 0)
  39. self.ui.Items.Button_voice_kai:setVisible(voiceKG == 1)
  40. self.ui.Items.Button_voice_guan:registerClick(handler(self , self.setPingBiYuYinClose))
  41. self.ui.Items.Button_voice_kai:registerClick(handler(self , self.setPingBiYuYinOpen))
  42. --方言
  43. self.languageRadioManager = import("luaScript.Tools.RadioManager"):new()
  44. self.languageRadioManager:addItem(self.ui.Items.CheckBox_FanYan, defs.LANGUAGE_TYPE.FANG_YAN)
  45. self.languageRadioManager:addItem(self.ui.Items.CheckBox_PuTongHua, defs.LANGUAGE_TYPE.PU_TONG_HUA)
  46. --隐藏方言
  47. self.ui.Items.CheckBox_FanYan:setVisible(false)
  48. --local languageType = tonumber(loadUserInfo("LanguageType" .. app.gameId)) or defs.LANGUAGE_TYPE.PU_TONG_HUA
  49. --self.languageRadioManager:setDefault(languageType)
  50. --self:setYuColor(languageType)
  51. self.languageRadioManager:setDefault(defs.LANGUAGE_TYPE.PU_TONG_HUA)
  52. self:setYuColor(defs.LANGUAGE_TYPE.PU_TONG_HUA)
  53. local function callback(idx)
  54. Functions.setCurLanguage(idx)
  55. saveUserInfo("LanguageType" .. app.gameId, idx)
  56. self:setYuColor(idx)
  57. app:dispatchEvent({name = "onChangeLanguage", idx = idx})
  58. end
  59. self.languageRadioManager:setCallback(callback)
  60. if self.desktopRadioManager then
  61. self.desktopRadioManager:addItem(self.ui.Items.CheckBox_zm_bg_1, 1)
  62. self.desktopRadioManager:addItem(self.ui.Items.CheckBox_zm_bg_2, 2)
  63. self.desktopRadioManager:addItem(self.ui.Items.CheckBox_zm_bg_3, 3)
  64. self.desktopRadioManager:addItem(self.ui.Items.CheckBox_zm_bg_4, 4)
  65. local defaultValue = Functions.getDefaultBg()
  66. self.desktopRadioManager:setDefault(defaultValue)
  67. self:setZhuoColor(defaultValue)
  68. self.desktopRadioManager:setCallback(function (value)
  69. self:setZhuoColor(value)
  70. saveUserInfo("GameBgPicture" .. app.gameId, value)
  71. --更换背景
  72. app:dispatchEvent({name = "onChangeTable", idx = value})
  73. end)
  74. end
  75. -- 扑克牌
  76. self.pokerRadioManager = import("luaScript.Tools.RadioManager"):new()
  77. local defaultPokerValue = tonumber(loadUserInfo("ddz_setting_poker")) or defs.Default_Poker_Choose
  78. if self.pokerRadioManager then
  79. self.pokerRadioManager:addItem(self.ui.Items.CheckBox_Poker_Old, 1)
  80. self.pokerRadioManager:addItem(self.ui.Items.CheckBox_Poker_New, 2)
  81. self.pokerRadioManager:setDefault(defaultPokerValue)
  82. self.pokerRadioManager:setCallback(function(value)
  83. saveUserInfo("ddz_setting_poker",value)
  84. app.room:dispatchEvent({name = "ddzNormalEvent_changePoker", idx = value})
  85. end)
  86. end
  87. if Functions.getIsForbidVoiceAndProp() then
  88. self.ui.Items.Layout_face:setVisible(false)
  89. self.ui.Items.Layout_voice:setVisible(false)
  90. self.ui.Items.ImageView_line_4:setVisible(false)
  91. self.ui.Items.Layout_Bg_Poker:setPositionY(self.ui.Items.Layout_Bg_Poker:getPositionY() + 95)
  92. end
  93. end
  94. -- 关闭
  95. function RoomSettingView:onClickClose()
  96. playBtnEffect()
  97. self:removeFromParent()
  98. end
  99. -- 音乐
  100. function RoomSettingView:onClickYinYue()
  101. app.systemSetting.info.music = self.ui.Items.CheckBox_Music:getSelectedState()
  102. app.systemSetting:save()
  103. end
  104. -- 音效
  105. function RoomSettingView:onClickYinXiao()
  106. app.systemSetting.info.sound = self.ui.Items.CheckBox_Effect:getSelectedState()
  107. app.systemSetting:save()
  108. end
  109. --选择桌布背景
  110. function RoomSettingView:selectBgCallBack(idx)
  111. saveUserInfo("GameBgPicture" .. app.gameId,idx)
  112. --更换牌背
  113. app:dispatchEvent({name = "onChangeTable", idx = idx})
  114. end
  115. -- 音乐音量设置回调
  116. function RoomSettingView:onMusicVolumeClickSlider()
  117. local percent = self.ui.Items.SliderMusic:getPercent()
  118. local curValue = percent / 100
  119. app.systemSetting.info.musicVolume = curValue
  120. app.systemSetting:save()
  121. end
  122. -- 音效音量设置回调
  123. function RoomSettingView:onSoundVolumeClickSlider()
  124. local percent = self.ui.Items.SliderEffect:getPercent()
  125. local curValue = percent / 100
  126. app.systemSetting.info.soundVolume = curValue
  127. app.systemSetting:save()
  128. end
  129. --选择语言时,字体变颜色
  130. function RoomSettingView:setYuColor(ttype)
  131. self.ui.Items.Text_PuTongHua:setColor(ttype == defs.LANGUAGE_TYPE.PU_TONG_HUA and CheckBox_Sel_Color or CheckBox_Nor_Color)
  132. self.ui.Items.Text_FanYan:setColor(ttype == defs.LANGUAGE_TYPE.FANG_YAN and CheckBox_Sel_Color or CheckBox_Nor_Color)
  133. end
  134. --选择桌布时,字体变颜色
  135. function RoomSettingView: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 RoomSettingView:setHuDongBiaoQingOpen()
  143. self.ui.Items.Button_face_guan:setVisible(true)
  144. self.ui.Items.Button_face_kai:setVisible(false)
  145. saveUserInfo("HuDongBiaoQingKG" .. app.gameId, 0)
  146. app.room:dispatchEvent({name = "ontSetPropEnabled", value = 0})
  147. end
  148. --互动表情关
  149. function RoomSettingView:setHuDongBiaoQingClose()
  150. self.ui.Items.Button_face_guan:setVisible(false)
  151. self.ui.Items.Button_face_kai:setVisible(true)
  152. saveUserInfo("HuDongBiaoQingKG" .. app.gameId, 1)
  153. app.room:dispatchEvent({name = "ontSetPropEnabled", value = 1})
  154. end
  155. --屏蔽语音开
  156. function RoomSettingView:setPingBiYuYinOpen()
  157. self.ui.Items.Button_voice_guan:setVisible(true)
  158. self.ui.Items.Button_voice_kai:setVisible(false)
  159. saveUserInfo("PingBiYuYinKG" .. app.gameId, 0)
  160. app.room:dispatchEvent({name = "onSetVoiceEnabled", value = 0})
  161. end
  162. --屏蔽语音关
  163. function RoomSettingView:setPingBiYuYinClose()
  164. self.ui.Items.Button_voice_guan:setVisible(false)
  165. self.ui.Items.Button_voice_kai:setVisible(true)
  166. saveUserInfo("PingBiYuYinKG" .. app.gameId, 1)
  167. app.room:dispatchEvent({name = "onSetVoiceEnabled", value = 1})
  168. end
  169. return RoomSettingView