Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

309 rindas
12 KiB

  1. local MJDefine=MJFramework.MJImport("mj.luaScript.MJDefine")
  2. local MJSound = MJFramework.MJImport("mj.luaScript.MJSound")
  3. local MJFunction = MJFramework.MJImport("mj.luaScript.MJFunction")
  4. local MJRoomSettingView = MJFramework.MJFrameworkClassImprot("mj.luaScript.Views.Room.MJRoomSettingView")
  5. local zigong7zRoomSettingView = class("zigong7zRoomSettingView", MJRoomSettingView)
  6. local CheckBox_Nor_Color = cc.c4b(21,99,97,255)
  7. local CheckBox_Sel_Color = cc.c4b(213,46,11,255)
  8. function zigong7zRoomSettingView:ctor()
  9. zigong7zRoomSettingView.super.ctor(self);
  10. self:loadUi()
  11. self.languageRadioManager = import("luaScript.Tools.RadioManager"):new()
  12. self.majhongRadioManager = import("luaScript.Tools.RadioManager"):new()
  13. self.desktopRadioManager = import("luaScript.Tools.RadioManager"):new()
  14. self.colorRadioManager = import("luaScript.Tools.RadioManager"):new()
  15. end
  16. function zigong7zRoomSettingView:loadUi()
  17. local ui = loadUI("mj_zigong7z/res/ui_fangjian/mj_zigong_setting.ui")
  18. self.ui = ui
  19. self:addChild(ui)
  20. ui.Items.ImageView_BG:setTouchEnabled(true)
  21. ui.Items.Layout_jinhuang_2d:setVisible(false)
  22. end
  23. function zigong7zRoomSettingView:onEnter()
  24. if self.languageRadioManager then
  25. self.languageRadioManager:addItem(self.ui.Items.CheckBox_PuTongHua, 1)
  26. self.languageRadioManager:addItem(self.ui.Items.CheckBox_Fangyan, 2)
  27. local cacheLan = "mj_language"..(MJDefine.GameID or app.gameId)
  28. local defaultValue = tonumber(loadUserInfo(cacheLan)) or 1
  29. self:setYuColor(defaultValue)
  30. self.languageRadioManager:setDefault(defaultValue)
  31. self.languageRadioManager:setCallback(function ( value )
  32. self:setYuColor(value)
  33. saveUserInfo(cacheLan,value)
  34. app:dispatchEvent({name = MJDefine.MJEvent.ChangeLanguage})
  35. end)
  36. end
  37. local zigong_mj_color = loadUserInfo("mj_zg_desktop_2d_mjType") or MJDefine.DesktopType.TwoD
  38. if zigong_mj_color == "" then
  39. zigong_mj_color = MJDefine.DesktopType.TwoD
  40. end
  41. if self.colorRadioManager then
  42. self.colorRadioManager:addItem(self.ui.Items.CheckBox_molv_3d, MJDefine.DesktopType.ThreeD)
  43. self.colorRadioManager:addItem(self.ui.Items.CheckBox_molv_2d, MJDefine.DesktopType.TwoD)
  44. self.colorRadioManager:addItem(self.ui.Items.CheckBox_jinhuang_2d, MJDefine.DesktopType.TwoDGold)
  45. self.colorRadioManager:setDefault(zigong_mj_color)
  46. self.colorRadioManager:setCallback(function ( value )
  47. saveUserInfo("mj_zg_desktop_2d_mjType", value)
  48. app:dispatchEvent({name = MJDefine.MJEvent.ChangeViewType,desktopType = value})
  49. --saveUserInfo("zigong_mj_color", value)
  50. --showTooltip("设置将在下一局生效!")
  51. end)
  52. end
  53. if self.desktopRadioManager then
  54. self.desktopRadioManager:addItem(self.ui.Items.CheckBox_desktop_1, 1)
  55. self.desktopRadioManager:addItem(self.ui.Items.CheckBox_desktop_2, 2)
  56. self.desktopRadioManager:addItem(self.ui.Items.CheckBox_desktop_3, 3)
  57. local defaultValue = tonumber(loadUserInfo("zigong_mj_desktop_group")) or 1
  58. self:setZhuoColor(defaultValue)
  59. self.desktopRadioManager:setDefault(defaultValue)
  60. self.desktopRadioManager:setCallback(function ( value )
  61. saveUserInfo("zigong_mj_desktop_group", value)
  62. self:setZhuoColor(value)
  63. app:dispatchEvent({name = MJDefine.MJEvent.ChangeViewBG})
  64. --showTooltip("设置将在下一局生效!")
  65. end)
  66. end
  67. -- 关闭
  68. self.ui.Items.Button_guanbi:registerClick(handler(self , self.onClickClose))
  69. -- 音乐
  70. self.ui.Items.CheckBox_Music:addEventListener(handler(self , self.onClickMusic))
  71. self.ui.Items.CheckBox_Music:setSelectedState(app.systemSetting.info.music);
  72. --音乐音量
  73. self.ui.Items.Slider_Music:setPercent(app.systemSetting.info.musicVolume * 100 or 100)
  74. self.ui.Items.Slider_Music:addEventListener(handler(self, self.onMusicVolumeClickSlider))
  75. -- 音效
  76. self.ui.Items.CheckBox_Effect:addEventListener(handler(self , self.onClickEffect))
  77. self.ui.Items.CheckBox_Effect:setSelectedState(app.systemSetting.info.sound);
  78. --音效音量
  79. self.ui.Items.Slider_Effect:setPercent(app.systemSetting.info.soundVolume * 100 or 100)
  80. self.ui.Items.Slider_Effect:addEventListener(handler(self, self.onSoundVolumeClickSlider))
  81. --2D
  82. local function listener2D()
  83. if self.isFobidChangeDesktop then
  84. showTooltip("操作太频繁,请稍候再试!")
  85. self.ui.Items.CheckBox_2D:setSelectedState(false)
  86. return
  87. end
  88. self.ui.Items.CheckBox_3D:setSelectedState(false)
  89. self.ui.Items.CheckBox_3D:setTouchEnabled(true)
  90. self.ui.Items.CheckBox_2D:setTouchEnabled(false)
  91. self.ui.Items.CheckBox_2D:setSelectedState(true)
  92. --app.systemSetting.info.viewType=MJDefine.DesktopType.TwoD
  93. app.systemSetting:save()
  94. self:setZhuoBuText(2)
  95. self:setLanColor(2)
  96. app.systemSetting.info.viewType = MJDefine.DesktopType.TwoD
  97. app.systemSetting:save()
  98. --app:dispatchEvent({name = MJDefine.MJEvent.ChangeViewType,desktopType = MJDefine.DesktopType.TwoD})
  99. --showTooltip("设置将在下一局生效!")
  100. saveUserInfo("zigong_mj_color", MJDefine.DesktopType.TwoD)
  101. --2d可以选择麻将颜色
  102. self.ui.Items.Layout_color_2d:setVisible(true)
  103. self.ui.Items.Layout_color_3d:setVisible(false)
  104. self.isFobidChangeDesktop = true
  105. self.colorRadioManager:setDefault(MJDefine.DesktopType.TwoD)
  106. self:runDelay(2.0, function ()
  107. self.isFobidChangeDesktop = false
  108. end)
  109. end
  110. self.ui.Items.CheckBox_2D:addEventListener(listener2D)
  111. --3D
  112. local function listener3D()
  113. if self.isFobidChangeDesktop then
  114. showTooltip("操作太频繁,请稍候再试!")
  115. self.ui.Items.CheckBox_3D:setSelectedState(false)
  116. return
  117. end
  118. self.ui.Items.CheckBox_3D:setSelectedState(true)
  119. self.ui.Items.CheckBox_3D:setTouchEnabled(false)
  120. self.ui.Items.CheckBox_2D:setTouchEnabled(true)
  121. self.ui.Items.CheckBox_2D:setSelectedState(false)
  122. --app.systemSetting.info.viewType=MJDefine.DesktopType.ThreeD
  123. app.systemSetting:save()
  124. self:setZhuoBuText(3)
  125. self:setLanColor(3)
  126. --app:dispatchEvent({name = MJDefine.MJEvent.ChangeViewType,desktopType = MJDefine.DesktopType.ThreeD})
  127. app.systemSetting.info.viewType = MJDefine.DesktopType.ThreeD
  128. app.systemSetting:save()
  129. --showTooltip("设置将在下一局生效!")
  130. --3d麻将颜色只能为墨绿
  131. self.ui.Items.Layout_color_2d:setVisible(false)
  132. self.ui.Items.Layout_color_3d:setVisible(true)
  133. saveUserInfo("zigong_mj_color", MJDefine.DesktopType.ThreeD)
  134. self.colorRadioManager:setDefault(MJDefine.DesktopType.ThreeD)
  135. self.isFobidChangeDesktop = true
  136. self:runDelay(2.0, function ()
  137. self.isFobidChangeDesktop = false
  138. end)
  139. end
  140. self.ui.Items.CheckBox_3D:addEventListener(listener3D)
  141. if zigong_mj_color==MJDefine.DesktopType.ThreeD or app.systemSetting.info.viewType == "3d" then
  142. self.ui.Items.CheckBox_3D:setSelectedState(true)
  143. self.ui.Items.CheckBox_3D:setTouchEnabled(false)
  144. self.ui.Items.CheckBox_2D:setTouchEnabled(true)
  145. self.ui.Items.CheckBox_2D:setSelectedState(false)
  146. self:setZhuoBuText(3)
  147. self:setLanColor(3)
  148. self.ui.Items.Layout_color_2d:setVisible(false)
  149. self.ui.Items.Layout_color_3d:setVisible(true)
  150. self.ui.Items.CheckBox_molv_3d:setSelectedState(true)
  151. else
  152. self.ui.Items.CheckBox_3D:setSelectedState(false)
  153. self.ui.Items.CheckBox_3D:setTouchEnabled(true)
  154. self.ui.Items.CheckBox_2D:setTouchEnabled(false)
  155. self.ui.Items.CheckBox_2D:setSelectedState(true)
  156. self:setZhuoBuText(2)
  157. self:setLanColor(2)
  158. self.ui.Items.Layout_color_2d:setVisible(true)
  159. self.ui.Items.Layout_color_3d:setVisible(false)
  160. end
  161. --互动表情
  162. local faceKG = tonumber(loadUserInfo("zigongHuDongBiaoQingKG")) or 1--0关 1开
  163. self.ui.Items.Button_face_guan:setVisible(faceKG==0)
  164. self.ui.Items.Button_face_kai:setVisible(faceKG==1)
  165. self.ui.Items.Button_face_guan:registerClick(handler(self , self.setHuDongBiaoQingClose))
  166. self.ui.Items.Button_face_kai:registerClick(handler(self , self.setHuDongBiaoQingOpen))
  167. --屏蔽语音
  168. local voiceKG = tonumber(loadUserInfo("zigongPingBiYuYinKG")) or 1--0关 1开
  169. self.ui.Items.Button_voice_guan:setVisible(voiceKG==0)
  170. self.ui.Items.Button_voice_kai:setVisible(voiceKG==1)
  171. self.ui.Items.Button_voice_guan:registerClick(handler(self , self.setPingBiYuYinClose))
  172. self.ui.Items.Button_voice_kai:registerClick(handler(self , self.setPingBiYuYinOpen))
  173. self.ui.Items.Layout_Prop:setVisible(not MJFunction.isPropFobided())
  174. self.ui.Items.Layout_Voice:setVisible(not MJFunction.isPropFobided())
  175. end
  176. function zigong7zRoomSettingView:setZhuoBuText(zbType)--根据2d 3d设置桌布text 默认用红色2D 音效默认普通话
  177. if zbType == 2 then
  178. self.ui.Items.Text_16:setText("墨绿")
  179. self.ui.Items.Text_17:setText("绿色")
  180. self.ui.Items.Text_18:setText("经典")
  181. saveUserInfo("zigong_ZhuoMian_BG_Type", MJDefine.DesktopType.TwoD)
  182. else
  183. self.ui.Items.Text_16:setText("墨绿")
  184. self.ui.Items.Text_17:setText("绿色")
  185. self.ui.Items.Text_18:setText("红色")
  186. saveUserInfo("zigong_ZhuoMian_BG_Type", MJDefine.DesktopType.ThreeD)
  187. end
  188. end
  189. --选择23D时,字体变颜色
  190. function zigong7zRoomSettingView:setLanColor(ttype)
  191. --self.ui.Items.Text_2D:setTextColor(ttype == 2 and CheckBox_Sel_Color or CheckBox_Nor_Color)
  192. --self.ui.Items.Text_2D_1:setTextColor(ttype == 3 and CheckBox_Sel_Color or CheckBox_Nor_Color)
  193. end
  194. --选择语言时,字体变颜色
  195. function zigong7zRoomSettingView:setYuColor(ttype)
  196. -- self.ui.Items.Text_13:setTextColor(ttype == 1 and CheckBox_Sel_Color or CheckBox_Nor_Color)--普通话
  197. -- self.ui.Items.Text_12:setTextColor(ttype == 2 and CheckBox_Sel_Color or CheckBox_Nor_Color)--长沙话
  198. end
  199. --选择桌布时,字体变颜色
  200. function zigong7zRoomSettingView:setZhuoColor(ttype)
  201. -- self.ui.Items.Text_16:setTextColor(ttype == 1 and CheckBox_Sel_Color or CheckBox_Nor_Color)--颜色1
  202. -- self.ui.Items.Text_17:setTextColor(ttype == 2 and CheckBox_Sel_Color or CheckBox_Nor_Color)--颜色2
  203. -- self.ui.Items.Text_18:setTextColor(ttype == 3 and CheckBox_Sel_Color or CheckBox_Nor_Color)--颜色3
  204. end
  205. --互动表情开
  206. function zigong7zRoomSettingView:setHuDongBiaoQingOpen()
  207. self.ui.Items.Button_face_guan:setVisible(true)
  208. self.ui.Items.Button_face_kai:setVisible(false)
  209. saveUserInfo("zigongHuDongBiaoQingKG",0)
  210. --app.room:dispatchEvent({name = "ontSetPropEnabled", value = 0});
  211. --saveUserInfo("propEnable",0)
  212. app:dispatchEvent({name = MJDefine.MJEvent.ChangeChatEnable})
  213. end
  214. --互动表情关
  215. function zigong7zRoomSettingView:setHuDongBiaoQingClose()
  216. self.ui.Items.Button_face_guan:setVisible(false)
  217. self.ui.Items.Button_face_kai:setVisible(true)
  218. saveUserInfo("zigongHuDongBiaoQingKG",1)
  219. --app.room:dispatchEvent({name = "ontSetPropEnabled", value = 1});
  220. --saveUserInfo("propEnable",1)
  221. app:dispatchEvent({name = MJDefine.MJEvent.ChangeChatEnable})
  222. end
  223. --屏蔽语音开
  224. function zigong7zRoomSettingView:setPingBiYuYinOpen()
  225. self.ui.Items.Button_voice_guan:setVisible(true)
  226. self.ui.Items.Button_voice_kai:setVisible(false)
  227. saveUserInfo("zigongPingBiYuYinKG",0)
  228. --app.room:dispatchEvent({name = "onSetVoiceEnabled", value = 0});
  229. --saveUserInfo("voiceEnable",0)
  230. app:dispatchEvent({name = MJDefine.MJEvent.ChangeChatEnable})
  231. end
  232. --屏蔽语音关
  233. function zigong7zRoomSettingView:setPingBiYuYinClose()
  234. self.ui.Items.Button_voice_guan:setVisible(false)
  235. self.ui.Items.Button_voice_kai:setVisible(true)
  236. saveUserInfo("zigongPingBiYuYinKG",1)
  237. --app.room:dispatchEvent({name = "onSetVoiceEnabled", value = 1});
  238. --saveUserInfo("voiceEnable",1)
  239. app:dispatchEvent({name = MJDefine.MJEvent.ChangeChatEnable})
  240. end
  241. -- 音乐
  242. function zigong7zRoomSettingView:onClickMusic()
  243. app.systemSetting.info.music = not app.systemSetting.info.music
  244. app.systemSetting:save()
  245. end
  246. -- 音效
  247. function zigong7zRoomSettingView:onClickEffect()
  248. app.systemSetting.info.sound = not app.systemSetting.info.sound
  249. app.systemSetting:save()
  250. app:dispatchEvent({name = "onChangeYinXiao"});
  251. end
  252. -- 音乐音量设置回调
  253. function zigong7zRoomSettingView:onMusicVolumeClickSlider()
  254. local percent = self.ui.Items.Slider_Music:getPercent();
  255. local curValue = percent / 100;
  256. app.systemSetting.info.musicVolume = curValue;
  257. app.systemSetting:save()
  258. end
  259. -- 音效音量设置回调
  260. function zigong7zRoomSettingView:onSoundVolumeClickSlider()
  261. local percent = self.ui.Items.Slider_Effect:getPercent();
  262. local curValue = percent / 100;
  263. app.systemSetting.info.soundVolume = curValue;
  264. app.systemSetting:save()
  265. end
  266. return zigong7zRoomSettingView