|
- local MJDefine=MJFramework.MJImport("mj.luaScript.MJDefine")
- local MJSound = MJFramework.MJImport("mj.luaScript.MJSound")
- local MJFunction = MJFramework.MJImport("mj.luaScript.MJFunction")
- local MJRoomSettingView=MJFramework.MJFrameworkClassImprot("mj.luaScript.Views.Room.MJRoomSettingView")
- local huamajiangRoomSettingView = class("huamajiangRoomSettingView", MJRoomSettingView);
-
- function huamajiangRoomSettingView:ctor ()
- huamajiangRoomSettingView.super.ctor(self);
- end
-
- function huamajiangRoomSettingView:loadUI ()
- local ui = loadUI("mj_huamajiang/res/ui_fangjian/mj_huamajiang_setting_view.ui")
- self.ui = ui
- self:addChild(ui)
- end
-
- function huamajiangRoomSettingView:initButton( )
- self:initLanguageRadioManager();
- self:initMahjongColorRadioManager();
- self:initDesktopRadioManager();
- self:initDesktopEventListener();
- self:initEmojiAndVoice();
- self:initBGMRadioManager();
-
- -- 关闭
- self.ui.Items.Button_Close:registerClick(handler(self , self.onClickClose));
- -- 音乐
- self.ui.Items.CheckBox_Music:addEventListener(handler(self , self.onClickMusic))
- self.ui.Items.CheckBox_Music:setSelectedState(app.systemSetting.info.music);
- -- 音乐音量
- self.ui.Items.Slider_Music:setPercent(app.systemSetting.info.musicVolume * 100 or 100)
- self.ui.Items.Slider_Music:addEventListener(handler(self, self.onMusicVolumeClickSlider))
- -- 音效
- self.ui.Items.CheckBox_Effect:addEventListener(handler(self , self.onClickEffect))
- self.ui.Items.CheckBox_Effect:setSelectedState(app.systemSetting.info.sound);
- -- 音效音量
- self.ui.Items.Slider_Effect:setPercent(app.systemSetting.info.soundVolume * 100 or 100)
- self.ui.Items.Slider_Effect:addEventListener(handler(self, self.onSoundVolumeClickSlider))
-
- self.ui.Items.Layout_Prop:setVisible(not MJFunction.isPropFobided())
- self.ui.Items.Layout_Voice:setVisible(not MJFunction.isVoiceFobided())
- end
-
- function huamajiangRoomSettingView:initLanguageRadioManager()
- self.languageRadioManager = import("luaScript.Tools.RadioManager"):new()
- self.languageRadioManager:addItem(self.ui.Items.CheckBox_PuTongHua, 1)
- self.languageRadioManager:addItem(self.ui.Items.CheckBox_FangYan, 2)
- local cacheName = "mj_language"..(MJDefine.GameID or app.gameId);
- local defaultValue = tonumber(loadUserInfo(cacheName)) or 2
- -- self:setYuColor(defaultValue)
- self.languageRadioManager:setDefault(defaultValue)
- self.languageRadioManager:setCallback(function ( value )
- playBtnEffect();
- saveUserInfo(cacheName, value)
- -- self:setYuColor(value)
- MJSound.setSoundType(value);
- end)
- end
- --[[
- 修改麻将颜色
- ]]
- function huamajiangRoomSettingView:initMahjongColorRadioManager( )
- local color = loadUserInfo("mj_desktop_2d_mjType") or MJDefine.DesktopType.TwoD
- if color == "" then
- color = MJDefine.DesktopType.TwoD
- end
-
- self.colorRadioManager = import("luaScript.Tools.RadioManager"):new();
- -- self.colorRadioManager:addItem(self.ui.Items.CheckBox_molv_3d, MJDefine.DesktopType.ThreeD)
- self.colorRadioManager:addItem(self.ui.Items.CheckBox_2D_MJ, MJDefine.DesktopType.TwoD)
- self.colorRadioManager:addItem(self.ui.Items.CheckBox_2D_MJ_Gold, MJDefine.DesktopType.TwoDGold)
-
- self.colorRadioManager:setDefault(color)
- self.colorRadioManager:setCallback(function ( value )
- playBtnEffect();
- saveUserInfo("mj_desktop_2d_mjType", value)
- app:dispatchEvent({name = MJDefine.MJEvent.ChangeViewType, desktopType = value})
- -- showTooltip("设置将在下一局生效!")
- end)
- end
-
- function huamajiangRoomSettingView:initDesktopRadioManager()
- self.bgmRadioManager = import("luaScript.Tools.RadioManager"):new();
- self.bgmRadioManager:addItem(self.ui.Items.CheckBox_BGM_1, 1)
- self.bgmRadioManager:addItem(self.ui.Items.CheckBox_BGM_2, 2)
- local defaultValue = tonumber(loadUserInfo("huamajiang_bgm")) or 1
- self.bgmRadioManager:setDefault(defaultValue)
- self.bgmRadioManager:setCallback(function ( value )
- playBtnEffect();
- saveUserInfo("huamajiang_bgm", value)
- MJSound.PlayGameBGM(value);
- end)
- end
-
- function huamajiangRoomSettingView:initDesktopEventListener()
- local function updateColorText ()
- if app.systemSetting.info.viewType == MJDefine.DesktopType.ThreeD then
- self.ui.Items.Text_24:setText("墨绿")
- self.ui.Items.Text_17:setText("绿色")
- self.ui.Items.Text_25:setText("经典")
-
- self.ui.Items.CheckBox_desktop_1:setVisible(false)
-
- self.ui.Items.CheckBox_desktop_1:setPosition(cc.p(256, 23))
- self.ui.Items.CheckBox_desktop_2:setPosition(cc.p(127, 23))
- self.ui.Items.CheckBox_desktop_3:setPosition(cc.p(350, 23))
-
-
- local defaultValue = tonumber(loadUserInfo("huamajiang_desktop_background")) or 1
- if defaultValue == 1 then
- defaultValue = 2
- end
-
- if self.desktopRadioManager then
- self.desktopRadioManager:setDefault(defaultValue)
- end
- else
- self.ui.Items.Text_24:setText("绿色")
- self.ui.Items.Text_17:setText("棕色")
- self.ui.Items.Text_25:setText("蓝色")
-
- self.ui.Items.CheckBox_desktop_1:setVisible(true)
-
- self.ui.Items.CheckBox_desktop_1:setPosition(cc.p(256, 23))
- self.ui.Items.CheckBox_desktop_2:setPosition(cc.p(127, 23))
- self.ui.Items.CheckBox_desktop_3:setPosition(cc.p(385, 23))
- end
- end
- if app.systemSetting.info.viewType == MJDefine.DesktopType.ThreeD then
- self.ui.Items.CheckBox_3D:setSelectedState(true)
- self.ui.Items.CheckBox_3D:setTouchEnabled(false)
- self.ui.Items.CheckBox_2D:setTouchEnabled(true)
- self.ui.Items.CheckBox_2D:setSelectedState(false)
- self.ui.Items.CheckBox_2D_MJ_Gold:setVisible(false)
- else
- self.ui.Items.CheckBox_3D:setSelectedState(false)
- self.ui.Items.CheckBox_3D:setTouchEnabled(true)
- self.ui.Items.CheckBox_2D:setTouchEnabled(false)
- self.ui.Items.CheckBox_2D:setSelectedState(true)
- self.ui.Items.CheckBox_2D_MJ_Gold:setVisible(true)
- end
-
- updateColorText()
- --2D
- local function listener2D()
- playBtnEffect();
- if self.isFobidChangeDesktop then
- showTooltip("操作太频繁,请稍候再试!")
- self.ui.Items.CheckBox_2D:setSelectedState(false)
- return
- end
- self.ui.Items.CheckBox_3D:setSelectedState(false)
- self.ui.Items.CheckBox_3D:setTouchEnabled(true)
- self.ui.Items.CheckBox_2D:setTouchEnabled(false)
- self.ui.Items.CheckBox_2D:setSelectedState(true)
- app.systemSetting.info.viewType=MJDefine.DesktopType.TwoD
- app.systemSetting:save()
- app:dispatchEvent({name = MJDefine.MJEvent.ChangeViewType,desktopType = MJDefine.DesktopType.TwoD})
- -- showTooltip("设置将在下一局生效!")
-
- -- saveUserInfo("mj_desktop_2d_mjType", MJDefine.DesktopType.TwoD)
- --2d可以选择麻将颜色
- self.ui.Items.CheckBox_2D_MJ_Gold:setVisible(true)
-
- if self.colorRadioManager then
- self.colorRadioManager:setDefault(MJDefine.DesktopType.TwoD)
- end
-
- self.isFobidChangeDesktop = true
- self:runDelay(1.0, function ()
- self.isFobidChangeDesktop = false
- end)
- updateColorText()
- end
- self.ui.Items.CheckBox_2D:addEventListener(listener2D)
-
- --3D
- local function listener3D()
- playBtnEffect();
- if self.isFobidChangeDesktop then
- showTooltip("操作太频繁,请稍候再试!")
- self.ui.Items.CheckBox_3D:setSelectedState(false)
- return
- end
- self.ui.Items.CheckBox_3D:setSelectedState(true)
- self.ui.Items.CheckBox_3D:setTouchEnabled(false)
- self.ui.Items.CheckBox_2D:setTouchEnabled(true)
- self.ui.Items.CheckBox_2D:setSelectedState(false)
- app.systemSetting.info.viewType=MJDefine.DesktopType.ThreeD
- app.systemSetting:save()
- app:dispatchEvent({name = MJDefine.MJEvent.ChangeViewType,desktopType = MJDefine.DesktopType.ThreeD})
- -- showTooltip("设置将在下一局生效!")
-
- --3d麻将颜色只能为墨绿
- self.ui.Items.CheckBox_2D_MJ_Gold:setVisible(false)
- -- saveUserInfo("mj_desktop_2d_mjType", MJDefine.DesktopType.ThreeD)
- if self.colorRadioManager then
- self.colorRadioManager:setDefault(MJDefine.DesktopType.ThreeD)
- end
- self.isFobidChangeDesktop = true
- self:runDelay(1.0, function ()
- self.isFobidChangeDesktop = false
- end)
- updateColorText()
- end
- self.ui.Items.CheckBox_3D:addEventListener(listener3D)
- end
-
- function huamajiangRoomSettingView:initEmojiAndVoice( )
- --互动表情
- local faceKG = tonumber(loadUserInfo("propEnable")) or 1--0关 1开
- self.ui.Items.Layout_Prop_Off:setVisible(faceKG==0)
- self.ui.Items.Layout_Prop_On:setVisible(faceKG==1)
- self.ui.Items.Layout_Prop_Off:registerClick(handler(self , self.setHuDongBiaoQingClose))
- self.ui.Items.Layout_Prop_On:registerClick(handler(self , self.setHuDongBiaoQingOpen))
-
- --屏蔽语音
- local voiceKG = tonumber(loadUserInfo("voiceEnable")) or 1--0关 1开
- self.ui.Items.Layout_Voice_Off:setVisible(voiceKG==0)
- self.ui.Items.Layout_Voice_On:setVisible(voiceKG==1)
- self.ui.Items.Layout_Voice_Off:registerClick(handler(self , self.setPingBiYuYinClose))
- self.ui.Items.Layout_Voice_On:registerClick(handler(self , self.setPingBiYuYinOpen))
- end
-
- function huamajiangRoomSettingView:initBGMRadioManager( )
- self.desktopRadioManager = import("luaScript.Tools.RadioManager"):new();
- self.desktopRadioManager:addItem(self.ui.Items.CheckBox_desktop_1, 1)
- self.desktopRadioManager:addItem(self.ui.Items.CheckBox_desktop_2, 2)
- self.desktopRadioManager:addItem(self.ui.Items.CheckBox_desktop_3, 3)
- local defaultValue = tonumber(loadUserInfo("huamajiang_desktop_background")) or 2
- self.desktopRadioManager:setDefault(defaultValue)
- self.desktopRadioManager:setCallback(function ( value )
- playBtnEffect();
- saveUserInfo("huamajiang_desktop_background", value)
- app:dispatchEvent({name = MJDefine.MJEvent.ChangeTableBg})
- --showTooltip("设置将在下一局生效!")
- end)
- end
-
- function huamajiangRoomSettingView:onClickClose ()
- huamajiangRoomSettingView.super.onClickClose(self);
- end
-
- -- 音乐
- function huamajiangRoomSettingView:onClickMusic()
- app.systemSetting.info.music = not app.systemSetting.info.music
- app.systemSetting:save()
- playBtnEffect();
- end
-
- -- 音效
- function huamajiangRoomSettingView:onClickEffect()
- app.systemSetting.info.sound = not app.systemSetting.info.sound
- app.systemSetting:save()
- playBtnEffect();
- end
-
- -- 音乐音量设置回调
- function huamajiangRoomSettingView:onMusicVolumeClickSlider()
- local percent = self.ui.Items.Slider_Music:getPercent();
- local curValue = percent / 100;
- app.systemSetting.info.musicVolume = curValue;
- app.systemSetting:save()
- end
-
- -- 音效音量设置回调
- function huamajiangRoomSettingView:onSoundVolumeClickSlider()
- local percent = self.ui.Items.Slider_Effect:getPercent();
- local curValue = percent / 100;
- app.systemSetting.info.soundVolume = curValue;
- app.systemSetting:save()
- end
-
- --互动表情开
- function huamajiangRoomSettingView:setHuDongBiaoQingOpen()
- playBtnEffect();
- self.ui.Items.Layout_Prop_Off:setVisible(true)
- self.ui.Items.Layout_Prop_On:setVisible(false)
- saveUserInfo("propEnable",0)
- app:dispatchEvent({name = MJDefine.MJEvent.ChangeChatEnable})
- end
- --互动表情关
- function huamajiangRoomSettingView:setHuDongBiaoQingClose()
- playBtnEffect();
- self.ui.Items.Layout_Prop_Off:setVisible(false)
- self.ui.Items.Layout_Prop_On:setVisible(true)
- saveUserInfo("propEnable",1)
- app:dispatchEvent({name = MJDefine.MJEvent.ChangeChatEnable})
- end
-
- --屏蔽语音开
- function huamajiangRoomSettingView:setPingBiYuYinOpen()
- playBtnEffect();
- self.ui.Items.Layout_Voice_Off:setVisible(true)
- self.ui.Items.Layout_Voice_On:setVisible(false)
- saveUserInfo("voiceEnable",0)
- app:dispatchEvent({name = MJDefine.MJEvent.ChangeChatEnable})
- end
- --屏蔽语音关
- function huamajiangRoomSettingView:setPingBiYuYinClose()
- playBtnEffect();
- self.ui.Items.Layout_Voice_Off:setVisible(false)
- self.ui.Items.Layout_Voice_On:setVisible(true)
- saveUserInfo("voiceEnable",1)
- app:dispatchEvent({name = MJDefine.MJEvent.ChangeChatEnable})
- end
-
- return huamajiangRoomSettingView;
|