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

197 行
7.2 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 doushisiRoomSettingView = class("doushisiRoomSettingView", cc.UIView)
  6. function doushisiRoomSettingView:ctor()
  7. doushisiRoomSettingView.super.ctor(self);
  8. end
  9. local CheckBox_Nor_Color = cc.c4b(21,99,97,255)
  10. local CheckBox_Sel_Color = cc.c4b(213,46,11,255)
  11. function doushisiRoomSettingView:loadUI()
  12. local ui = loadUI("zp_doushisi/res/ui/ui_fangjian/doushisi_ui_shezhi.ui");
  13. self.ui = ui;
  14. self:addChild(ui);
  15. end
  16. function doushisiRoomSettingView:onEnter()
  17. doushisiRoomSettingView.super.onEnter(self)
  18. self:loadUI()
  19. -- 关闭
  20. self.ui.Items.Button_guanbi:registerClick(handler(self , self.onClickClose))
  21. --音乐
  22. self.ui.Items.CheckBox_Music:addEventListener(handler(self , self.onClickYinYue))
  23. self.ui.Items.CheckBox_Music:setSelectedState(app.systemSetting.info.music);
  24. -- 音效
  25. self.ui.Items.CheckBox_Effect:addEventListener(handler(self , self.onClickYinXiao))
  26. self.ui.Items.CheckBox_Effect:setSelectedState(app.systemSetting.info.sound);
  27. --音乐音量
  28. self.ui.Items.SliderMusic:setPercent(app.systemSetting.info.musicVolume * 100 or 100)
  29. self.ui.Items.SliderMusic:addEventListener(handler(self, self.onMusicVolumeClickSlider))
  30. --音效音量
  31. self.ui.Items.SliderEffect:setPercent(app.systemSetting.info.soundVolume * 100 or 100)
  32. self.ui.Items.SliderEffect:addEventListener(handler(self, self.onSoundVolumeClickSlider))
  33. self:initLanguageRadioManager()
  34. self:initDesktopRadioManager()
  35. self:initMusicRadioManager()
  36. self:initHuDongYuYinManager()
  37. end
  38. function doushisiRoomSettingView:initLanguageRadioManager()
  39. self.ui.Items.CheckBox_PuTongHua:setVisible(false)
  40. self.languageRadioManager = import("luaScript.Tools.RadioManager"):new();
  41. self.languageRadioManager:addItem(self.ui.Items.CheckBox_ChenZhou, ZPDef.GameLanguageType.FANG_YAN);
  42. self.languageRadioManager:addItem(self.ui.Items.CheckBox_PuTongHua, ZPDef.GameLanguageType.PU_TONG_HUA);
  43. local cacheLan = "LanguageType"..(ZPDef.GameID or app.gameId)
  44. local languageType = tonumber(loadUserInfo(cacheLan)) or ZPDef.GameLanguageType.FANG_YAN
  45. self.languageRadioManager:setDefault(languageType)
  46. local function callback(idx)
  47. saveUserInfo(cacheLan,idx)
  48. end
  49. self.languageRadioManager:setCallback(callback)
  50. end
  51. function doushisiRoomSettingView:initDesktopRadioManager()
  52. local cacheGameBgPic = "gameBgPicture"..(ZPDef.GameID or app.gameId)
  53. self.desktopRadioManager = import("luaScript.Tools.RadioManager"):new()
  54. if self.desktopRadioManager then
  55. self.desktopRadioManager:addItem(self.ui.Items.CheckBox_zm_bg_1, 1)
  56. self.desktopRadioManager:addItem(self.ui.Items.CheckBox_zm_bg_2, 2)
  57. self.desktopRadioManager:addItem(self.ui.Items.CheckBox_zm_bg_3, 3)
  58. self.desktopRadioManager:addItem(self.ui.Items.CheckBox_zm_bg_4, 4)
  59. local defaultValue = tonumber(loadUserInfo(cacheGameBgPic)) or 2
  60. self.desktopRadioManager:setDefault(defaultValue)
  61. self.desktopRadioManager:setCallback(function ( value )
  62. --更换牌背
  63. app:dispatchEvent({name = "onChangeTable", idx = value});
  64. end)
  65. end
  66. end
  67. function doushisiRoomSettingView:initMusicRadioManager()
  68. local cacheMusic = "gameBgMusic"..(ZPDef.GameID or app.gameId)
  69. self.musicRadioManager = import("luaScript.Tools.RadioManager"):new()
  70. if self.musicRadioManager then
  71. self.musicRadioManager:addItem(self.ui.Items.CheckBox_Music_1, 2)
  72. self.musicRadioManager:addItem(self.ui.Items.CheckBox_Music_2, 3)
  73. self.musicRadioManager:addItem(self.ui.Items.CheckBox_Music_3, 1)
  74. local defaultValue = tonumber(loadUserInfo(cacheMusic)) or 1
  75. self.musicRadioManager:setDefault(defaultValue)
  76. self.musicRadioManager:setCallback(function ( value )
  77. saveUserInfo(cacheMusic,value)
  78. --更换背景音乐
  79. ZPSound.PlayGameBGM(value)
  80. end)
  81. end
  82. end
  83. function doushisiRoomSettingView:initHuDongYuYinManager()
  84. --互动表情
  85. local faceKG = tonumber(loadUserInfo("propEnable")) or 1--0关 1开
  86. self.ui.Items.Button_face_guan:setVisible(faceKG==0)
  87. self.ui.Items.Button_face_kai:setVisible(faceKG==1)
  88. self.ui.Items.Button_face_guan:registerClick(handler(self , self.setHuDongBiaoQingClose))
  89. self.ui.Items.Button_face_kai:registerClick(handler(self , self.setHuDongBiaoQingOpen))
  90. --屏蔽语音
  91. local voiceKG = tonumber(loadUserInfo("voiceEnable")) or 1--0关 1开
  92. self.ui.Items.Button_voice_guan:setVisible(voiceKG==0)
  93. self.ui.Items.Button_voice_kai:setVisible(voiceKG==1)
  94. self.ui.Items.Button_voice_guan:registerClick(handler(self , self.setPingBiYuYinClose))
  95. self.ui.Items.Button_voice_kai:registerClick(handler(self , self.setPingBiYuYinOpen))
  96. self.ui.Items.Layout_Prop:setVisible(not ZPFuc.isPropFobided())
  97. self.ui.Items.Layout_Voice:setVisible(not ZPFuc.isPropFobided())
  98. end
  99. -- 关闭
  100. function doushisiRoomSettingView:onClickClose()
  101. playBtnEffect()
  102. self:removeFromParent()
  103. end
  104. -- 音乐
  105. function doushisiRoomSettingView:onClickYinYue()
  106. app.systemSetting.info.music = self.ui.Items.CheckBox_Music:getSelectedState();
  107. app.systemSetting:save()
  108. end
  109. -- 音效
  110. function doushisiRoomSettingView:onClickYinXiao()
  111. app.systemSetting.info.sound = self.ui.Items.CheckBox_Effect:getSelectedState();
  112. app.systemSetting:save()
  113. app:dispatchEvent({name = "onChangeYinXiao"});
  114. end
  115. -- 音乐音量设置回调
  116. function doushisiRoomSettingView: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 doushisiRoomSettingView: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 doushisiRoomSettingView:setHuDongBiaoQingOpen()
  131. self.ui.Items.Button_face_guan:setVisible(true)
  132. self.ui.Items.Button_face_kai:setVisible(false)
  133. saveUserInfo("propEnable",0)
  134. --app.room:dispatchEvent({name = "ontSetPropEnabled", value = 0});
  135. --saveUserInfo("propEnable",0)
  136. app:dispatchEvent({name = ZPDef.ZPEvent.ChangeChatEnable})
  137. end
  138. --互动表情关
  139. function doushisiRoomSettingView:setHuDongBiaoQingClose()
  140. self.ui.Items.Button_face_guan:setVisible(false)
  141. self.ui.Items.Button_face_kai:setVisible(true)
  142. saveUserInfo("propEnable",1)
  143. --app.room:dispatchEvent({name = "ontSetPropEnabled", value = 1});
  144. --saveUserInfo("propEnable",1)
  145. app:dispatchEvent({name = ZPDef.ZPEvent.ChangeChatEnable})
  146. end
  147. --屏蔽语音开
  148. function doushisiRoomSettingView:setPingBiYuYinOpen()
  149. self.ui.Items.Button_voice_guan:setVisible(true)
  150. self.ui.Items.Button_voice_kai:setVisible(false)
  151. saveUserInfo("voiceEnable",0)
  152. --app.room:dispatchEvent({name = "onSetVoiceEnabled", value = 0});
  153. --saveUserInfo("voiceEnable",0)
  154. app:dispatchEvent({name = ZPDef.ZPEvent.ChangeChatEnable})
  155. end
  156. --屏蔽语音关
  157. function doushisiRoomSettingView:setPingBiYuYinClose()
  158. self.ui.Items.Button_voice_guan:setVisible(false)
  159. self.ui.Items.Button_voice_kai:setVisible(true)
  160. saveUserInfo("voiceEnable",1)
  161. --app.room:dispatchEvent({name = "onSetVoiceEnabled", value = 1});
  162. --saveUserInfo("voiceEnable",1)
  163. app:dispatchEvent({name = ZPDef.ZPEvent.ChangeChatEnable})
  164. end
  165. return doushisiRoomSettingView;