|
- 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 bazhongRoomSettingView = class("bazhongRoomSettingView", MJRoomSettingView)
-
- local CheckBox_Nor_Color = cc.c4b(21,99,97,255)
- local CheckBox_Sel_Color = cc.c4b(213,46,11,255)
-
- function bazhongRoomSettingView:ctor()
- bazhongRoomSettingView.super.ctor(self);
- self:loadUi()
- self.languageRadioManager = import("luaScript.Tools.RadioManager"):new()
- self.majhongRadioManager = import("luaScript.Tools.RadioManager"):new()
- self.desktopRadioManager = import("luaScript.Tools.RadioManager"):new()
- self.colorRadioManager = import("luaScript.Tools.RadioManager"):new()
- end
-
- function bazhongRoomSettingView:loadUi()
- local ui = loadUI("mj_bazhong/res/ui_fangjian/mj_bazhong_setting.ui")
- self.ui = ui
- self:addChild(ui)
- ui.Items.ImageView_BG:setTouchEnabled(true)
- end
-
- function bazhongRoomSettingView:onEnter()
- if self.languageRadioManager then
- self.languageRadioManager:addItem(self.ui.Items.CheckBox_PuTongHua, 1)
- self.languageRadioManager:addItem(self.ui.Items.CheckBox_Fangyan, 2)
-
- local cacheLan = "mj_language"..(MJDefine.GameID or app.gameId)
- local defaultValue = tonumber(loadUserInfo(cacheLan)) or 2
- self:setYuColor(defaultValue)
- self.languageRadioManager:setDefault(defaultValue)
- self.languageRadioManager:setCallback(function ( value )
- logD("bazhongRoomSettingView:onEnter - languageRadioManager", cacheLan, defaultValue)
- self:setYuColor(value)
-
- saveUserInfo(cacheLan, value)
- app:dispatchEvent({name = MJDefine.MJEvent.ChangeLanguage})
- end)
- end
-
- local bazhong_mj_color = loadUserInfo("mj_desktop_2d_mjType_" .. (MJDefine.GameID or app.gameId)) or MJDefine.DesktopType.TwoD
- if bazhong_mj_color == "" then
- bazhong_mj_color = MJDefine.DesktopType.TwoD
- end
-
- if self.colorRadioManager then
- self.colorRadioManager:addItem(self.ui.Items.CheckBox_molv_3d, MJDefine.DesktopType.ThreeD)
- self.colorRadioManager:addItem(self.ui.Items.CheckBox_molv_2d, MJDefine.DesktopType.TwoD)
- self.colorRadioManager:addItem(self.ui.Items.CheckBox_molvL_2d, MJDefine.DesktopType.TwoDL)
- self.colorRadioManager:addItem(self.ui.Items.CheckBox_jinhuang_2d, MJDefine.DesktopType.TwoDGold)
-
- self.colorRadioManager:setDefault(bazhong_mj_color)
- self.colorRadioManager:setCallback(function ( value )
- saveUserInfo("mj_desktop_2d_mjType_" .. (MJDefine.GameID or app.gameId), value)
- app:dispatchEvent({name = MJDefine.MJEvent.ChangeViewType,desktopType = value})
- --saveUserInfo("mj_color_" .. (MJDefine.GameID or app.gameId), value)
- --showTooltip("设置将在下一局生效!")
- end)
- end
-
- if self.desktopRadioManager then
- 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("mj_desktop_group_" .. (MJDefine.GameID or app.gameId))) or 2
- self:setZhuoColor(defaultValue)
- self.desktopRadioManager:setDefault(defaultValue)
- self.desktopRadioManager:setCallback(function ( value )
- saveUserInfo("mj_desktop_group_" .. (MJDefine.GameID or app.gameId), value)
- self:setZhuoColor(value)
- app:dispatchEvent({name = MJDefine.MJEvent.ChangeViewBG})
- --showTooltip("设置将在下一局生效!")
- end)
- end
- -- 关闭
- self.ui.Items.Button_guanbi: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))
-
-
- --2D
- local function listener2D()
- 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()
- self:setZhuoBuText(2)
- self:setLanColor(2)
- app.systemSetting.info.viewType = MJDefine.DesktopType.TwoD
- app.systemSetting:save()
- --app:dispatchEvent({name = MJDefine.MJEvent.ChangeViewType,desktopType = MJDefine.DesktopType.TwoD})
- --showTooltip("设置将在下一局生效!")
-
- saveUserInfo("mj_color_" .. (MJDefine.GameID or app.gameId), MJDefine.DesktopType.TwoD)
- --2d可以选择麻将颜色
- self.ui.Items.Layout_color_2d:setVisible(true)
- self:update2DGoldLLShow()
- self.ui.Items.Layout_color_3d:setVisible(false)
- self.isFobidChangeDesktop = true
- self.colorRadioManager:setDefault(MJDefine.DesktopType.TwoD)
- self:runDelay(2.0, function ()
- self.isFobidChangeDesktop = false
- end)
- end
- self.ui.Items.CheckBox_2D:addEventListener(listener2D)
-
- --3D
- local function listener3D()
- 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()
- self:setZhuoBuText(3)
- self:setLanColor(3)
- --app:dispatchEvent({name = MJDefine.MJEvent.ChangeViewType,desktopType = MJDefine.DesktopType.ThreeD})
- app.systemSetting.info.viewType = MJDefine.DesktopType.ThreeD
- app.systemSetting:save()
- --showTooltip("设置将在下一局生效!")
-
- --3d麻将颜色只能为墨绿
- self.ui.Items.Layout_color_2d:setVisible(false)
- self:update2DGoldLLShow()
- self.ui.Items.Layout_color_3d:setVisible(true)
- saveUserInfo("mj_color_" .. (MJDefine.GameID or app.gameId), MJDefine.DesktopType.ThreeD)
- self.colorRadioManager:setDefault(MJDefine.DesktopType.ThreeD)
- self.isFobidChangeDesktop = true
- self:runDelay(2.0, function ()
- self.isFobidChangeDesktop = false
- end)
- end
- self.ui.Items.CheckBox_3D:addEventListener(listener3D)
-
-
- if bazhong_mj_color==MJDefine.DesktopType.ThreeD or app.systemSetting.info.viewType == "3d" 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:setZhuoBuText(3)
- self:setLanColor(3)
- self.ui.Items.Layout_color_2d:setVisible(false)
- self.ui.Items.Layout_color_3d:setVisible(true)
- self.ui.Items.CheckBox_molv_3d:setSelectedState(true)
- 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:setZhuoBuText(2)
- self:setLanColor(2)
- self.ui.Items.Layout_color_2d:setVisible(true)
- self.ui.Items.Layout_color_3d:setVisible(false)
- end
- self:update2DGoldLLShow()
-
-
- --互动表情
- local faceKG = tonumber(loadUserInfo("HuDongBiaoQingKG_" .. (MJDefine.GameID or app.gameId))) or 1--0关 1开
- self.ui.Items.Button_face_guan:setVisible(faceKG==0)
- self.ui.Items.Button_face_kai:setVisible(faceKG==1)
- self.ui.Items.Button_face_guan:registerClick(handler(self , self.setHuDongBiaoQingClose))
- self.ui.Items.Button_face_kai:registerClick(handler(self , self.setHuDongBiaoQingOpen))
- --屏蔽语音
- local voiceKG = tonumber(loadUserInfo("PingBiYuYinKG_" .. (MJDefine.GameID or app.gameId))) or 1--0关 1开
- self.ui.Items.Button_voice_guan:setVisible(voiceKG==0)
- self.ui.Items.Button_voice_kai:setVisible(voiceKG==1)
- self.ui.Items.Button_voice_guan:registerClick(handler(self , self.setPingBiYuYinClose))
- self.ui.Items.Button_voice_kai:registerClick(handler(self , self.setPingBiYuYinOpen))
-
- self.ui.Items.Layout_Prop:setVisible(not MJFunction.isPropFobided())
- if MJFunction.isVoiceFobided and type(MJFunction.isVoiceFobided)=='function' then
- self.ui.Items.Layout_Voice:setVisible(not MJFunction.isVoiceFobided())
- else
- self.ui.Items.Layout_Voice:setVisible(not MJFunction.isPropFobided())
- end
-
- end
-
- --是否显示2D金黄大选项
- function bazhongRoomSettingView:update2DGoldLLShow()
- local gameID = MJDefine.GameID or app.gameId
- local isNeedShow = true--(gameID == GAME_IDS.bazhongMJ)
- self.ui.Items.CheckBox_molvL_2d:setVisible(isNeedShow)
- end
-
- function bazhongRoomSettingView:setZhuoBuText(zbType)--根据2d 3d设置桌布text 默认用红色2D 音效默认普通话
- if zbType == 2 then
- self.ui.Items.Text_16:setText("绿色")
- self.ui.Items.Text_17:setText("墨绿")
- self.ui.Items.Text_18:setText("经典")
- saveUserInfo("mj_ZhuoMian_BG_Type_" .. (MJDefine.GameID or app.gameId), MJDefine.DesktopType.TwoD)
- else
- self.ui.Items.Text_16:setText("绿色")
- self.ui.Items.Text_17:setText("墨绿")
- self.ui.Items.Text_18:setText("经典")
- saveUserInfo("mj_ZhuoMian_BG_Type_" .. (MJDefine.GameID or app.gameId), MJDefine.DesktopType.ThreeD)
- end
- end
-
- --选择23D时,字体变颜色
- function bazhongRoomSettingView:setLanColor(ttype)
- end
-
- --选择语言时,字体变颜色
- function bazhongRoomSettingView:setYuColor(ttype)
- end
-
- --选择桌布时,字体变颜色
- function bazhongRoomSettingView:setZhuoColor(ttype)
- end
-
- --互动表情开
- function bazhongRoomSettingView:setHuDongBiaoQingOpen()
- self.ui.Items.Button_face_guan:setVisible(true)
- self.ui.Items.Button_face_kai:setVisible(false)
- saveUserInfo("HuDongBiaoQingKG_" .. (MJDefine.GameID or app.gameId),0)
- --app.room:dispatchEvent({name = "ontSetPropEnabled", value = 0});
-
- --saveUserInfo("propEnable",0)
- app:dispatchEvent({name = MJDefine.MJEvent.ChangeChatEnable})
- end
- --互动表情关
- function bazhongRoomSettingView:setHuDongBiaoQingClose()
- self.ui.Items.Button_face_guan:setVisible(false)
- self.ui.Items.Button_face_kai:setVisible(true)
- saveUserInfo("HuDongBiaoQingKG_" .. (MJDefine.GameID or app.gameId),1)
- --app.room:dispatchEvent({name = "ontSetPropEnabled", value = 1});
- --saveUserInfo("propEnable",1)
- app:dispatchEvent({name = MJDefine.MJEvent.ChangeChatEnable})
- end
-
- --屏蔽语音开
- function bazhongRoomSettingView:setPingBiYuYinOpen()
- self.ui.Items.Button_voice_guan:setVisible(true)
- self.ui.Items.Button_voice_kai:setVisible(false)
- saveUserInfo("PingBiYuYinKG_" .. (MJDefine.GameID or app.gameId),0)
- --app.room:dispatchEvent({name = "onSetVoiceEnabled", value = 0});
- --saveUserInfo("voiceEnable",0)
- app:dispatchEvent({name = MJDefine.MJEvent.ChangeChatEnable})
- end
- --屏蔽语音关
- function bazhongRoomSettingView:setPingBiYuYinClose()
- self.ui.Items.Button_voice_guan:setVisible(false)
- self.ui.Items.Button_voice_kai:setVisible(true)
- saveUserInfo("PingBiYuYinKG_" .. (MJDefine.GameID or app.gameId),1)
- --app.room:dispatchEvent({name = "onSetVoiceEnabled", value = 1});
- --saveUserInfo("voiceEnable",1)
- app:dispatchEvent({name = MJDefine.MJEvent.ChangeChatEnable})
- end
-
- -- 音乐
- function bazhongRoomSettingView:onClickMusic()
- app.systemSetting.info.music = not app.systemSetting.info.music
- app.systemSetting:save()
-
- end
-
- -- 音效
- function bazhongRoomSettingView:onClickEffect()
- app.systemSetting.info.sound = not app.systemSetting.info.sound
- app.systemSetting:save()
- app:dispatchEvent({name = "onChangeYinXiao"});
- end
-
- -- 音乐音量设置回调
- function bazhongRoomSettingView:onMusicVolumeClickSlider()
- local percent = self.ui.Items.Slider_Music:getPercent();
- local curValue = percent / 100;
- app.systemSetting.info.musicVolume = curValue;
- app.systemSetting:save()
-
- end
-
- -- 音效音量设置回调
- function bazhongRoomSettingView:onSoundVolumeClickSlider()
- local percent = self.ui.Items.Slider_Effect:getPercent();
- local curValue = percent / 100;
- app.systemSetting.info.soundVolume = curValue;
- app.systemSetting:save()
-
- end
-
- return bazhongRoomSettingView
|