|
- local MJDefine=MJFramework.MJImport("mj.luaScript.MJDefine")
- local MJFunction=MJFramework.MJImport("mj.luaScript.MJFunction")
- -- 房间设置界面
- local MJRoomSettingView = class("MJRoomSettingView", cc.UIView)
-
- function MJRoomSettingView:ctor()
- MJRoomSettingView.super.ctor(self);
- end
-
- function MJRoomSettingView:onEnter()
- MJRoomSettingView.super.onEnter(self)
- self:loadUI()
- self:initButton()
- end
-
- function MJRoomSettingView:loadUI()
- local ui = loadUI("mj/res/ui/ui_fangjian/mj_ui_set.ui")
- self.ui = ui
- self:addChild(ui)
- end
-
- --按钮事件
- function MJRoomSettingView:initButton()
- -- 关闭
- self.ui.Items.Button_Close:registerClick(handler(self , self.onClickClose))
-
- --音乐
- self.ui.Items.Layout_Music:registerClick(handler(self , self.onClickMusic))
-
- --音效
- self.ui.Items.Layout_Effect:registerClick(handler(self , self.onClickEffect))
-
- --道具
- self.ui.Items.Layout_Prop:registerClick(handler(self , self.onClickProp))
-
- --语音
- self.ui.Items.Layout_Voice:registerClick(handler(self , self.onClickVoice))
-
- self.ui.Items.Layout_Prop:setVisible(not MJFunction.isPropFobided())
- self.ui.Items.Layout_Voice:setVisible(not MJFunction.isVoiceFobided())
-
- -- self.languageRadioManager = import("luaScript.Tools.RadioManager"):new()
- self.viewTypeRadioManager = import("luaScript.Tools.RadioManager"):new()
- self.bg3dRadioManager = import("luaScript.Tools.RadioManager"):new()
- self.bg2dRadioManager = import("luaScript.Tools.RadioManager"):new()
- self.mj2dTypeRadioManager = import("luaScript.Tools.RadioManager"):new()
-
- --视图类型
- self.viewTypeRadioManager:addItem(self.ui.Items.CheckBox_3D, MJDefine.DesktopType.ThreeD)
- self.viewTypeRadioManager:addItem(self.ui.Items.CheckBox_2D, MJDefine.DesktopType.TwoD)
- self.viewTypeRadioManager:setDefault(app.systemSetting.info.viewType)
- self.viewTypeRadioManager:setCallback(function (value)
- app.systemSetting.info.viewType = value
- app.systemSetting:save()
- showTooltip("设置将在下一局生效!")
- self:updateBGRaidoEnable()
- -- app:dispatchEvent({name = MJDefine.MJEvent.ChangeViewType})
- end)
-
- --3D背景
- self.bg3dRadioManager:addItem(self.ui.Items.CheckBox_3D_1, 1)
- self.bg3dRadioManager:addItem(self.ui.Items.CheckBox_3D_2, 2)
- self.bg3dRadioManager:addItem(self.ui.Items.CheckBox_3D_3, 3)
- local mj_desktop_3d_bg = tonumber(loadUserInfo("mj_desktop_3d_bg")) or 1
- self.bg3dRadioManager:setDefault(mj_desktop_3d_bg)
-
- self:updateBG(MJDefine.DesktopType.ThreeD,mj_desktop_3d_bg)
-
- self.bg3dRadioManager:setCallback(function (value)
- self:updateBG(MJDefine.DesktopType.ThreeD,value)
-
- saveUserInfo("mj_desktop_3d_bg", value)
- if app.systemSetting.info.viewType == MJDefine.DesktopType.ThreeD then
- app:dispatchEvent({name = MJDefine.MJEvent.ChangeViewBG})
- else
- showTooltip("当前选项不是透视场景!")
- end
- end)
-
-
- --2D视图麻将牌类型
- self.mj2dTypeRadioManager:addItem(self.ui.Items.CheckBox_2D_MJ, MJDefine.DesktopType.TwoD)
- self.mj2dTypeRadioManager:addItem(self.ui.Items.CheckBox_2D_MJ_Gold, MJDefine.DesktopType.TwoDGold)
- local mj_desktop_2d_mjType = loadUserInfo("mj_desktop_2d_mjType") or MJDefine.DesktopType.TwoD
- self.mj2dTypeRadioManager:setDefault(mj_desktop_2d_mjType)
- self.mj2dTypeRadioManager:setCallback(function (value)
- saveUserInfo("mj_desktop_2d_mjType", value)
-
- local mj_desktop_2d_bg = tonumber(loadUserInfo("mj_desktop_2d_bg")) or 1
- self:updateBG(MJDefine.DesktopType.TwoD,mj_desktop_2d_bg)
-
- if app.systemSetting.info.viewType == MJDefine.DesktopType.TwoD then
- showTooltip("设置将在下一局生效!")
- -- app:dispatchEvent({name = MJDefine.MJEvent.ChangeViewType})
- else
- showTooltip("当前选项不是平面场景!")
- end
- end)
-
-
-
- --2D背景
- self.bg2dRadioManager:addItem(self.ui.Items.CheckBox_2D_1, 1)
- self.bg2dRadioManager:addItem(self.ui.Items.CheckBox_2D_2, 2)
- self.bg2dRadioManager:addItem(self.ui.Items.CheckBox_2D_3, 3)
- self.bg2dRadioManager:addItem(self.ui.Items.CheckBox_2D_4, 4)
- local mj_desktop_2d_bg = tonumber(loadUserInfo("mj_desktop_2d_bg")) or 1
- self.bg2dRadioManager:setDefault(mj_desktop_2d_bg)
-
- self:updateBG(MJDefine.DesktopType.TwoD,mj_desktop_2d_bg)
-
- self.bg2dRadioManager:setCallback(function (value)
- self:updateBG(MJDefine.DesktopType.TwoD,value)
-
- saveUserInfo("mj_desktop_2d_bg", value)
- if app.systemSetting.info.viewType == MJDefine.DesktopType.TwoD then
- app:dispatchEvent({name = MJDefine.MJEvent.ChangeViewBG})
- else
- showTooltip("当前选项不是平面场景!")
- end
- end)
-
-
- self:updateBGRaidoEnable()
- self:initLanguage()
- self:updateButton("Music",app.systemSetting.info.music)
- self:updateButton("Effect",app.systemSetting.info.sound)
-
- local voiceEnable = tonumber(loadUserInfo("voiceEnable")) or 1
- local propEnable = tonumber(loadUserInfo("propEnable")) or 1
- self:updateButton("Voice",voiceEnable==1)
- self:updateButton("Prop",propEnable==1)
- end
-
- --道具
- function MJRoomSettingView:onClickProp()
- playBtnEffect()
- local propEnable = tonumber(loadUserInfo("propEnable")) or 1
- if propEnable==1 then
- propEnable = 0
- else
- propEnable =1
- end
- saveUserInfo("propEnable",propEnable)
- self:updateButton("Prop",propEnable==1)
- app:dispatchEvent({name = MJDefine.MJEvent.ChangeChatEnable})
- end
-
- --语音
- function MJRoomSettingView:onClickVoice()
- playBtnEffect()
- local voiceEnable = tonumber(loadUserInfo("voiceEnable")) or 1
- if voiceEnable==1 then
- voiceEnable = 0
- else
- voiceEnable =1
- end
- saveUserInfo("voiceEnable",voiceEnable)
- self:updateButton("Voice",voiceEnable==1)
- app:dispatchEvent({name = MJDefine.MJEvent.ChangeChatEnable})
- end
-
- function MJRoomSettingView:updateBGRaidoEnable()
- if app.systemSetting.info.viewType == MJDefine.DesktopType.TwoD then
- self.bg2dRadioManager:setEnabled(true)
- self.bg3dRadioManager:setEnabled(false)
- self.mj2dTypeRadioManager:setEnabled(true)
- else
- self.bg2dRadioManager:setEnabled(false)
- self.bg3dRadioManager:setEnabled(true)
- self.mj2dTypeRadioManager:setEnabled(false)
- end
- end
-
- function MJRoomSettingView:initLanguage()
- --方言
- self.ui.Items.Layout_Language:registerClick(handler(self , self.onClickLanguage))
-
- --更新默认显示 1为普通 2为方言
- if MJDefine.isLanguage then
- local cacheLan = "mj_language"..(MJDefine.GameID or app.gameId)
- local language = tonumber(loadUserInfo(cacheLan)) or 1
- saveUserInfo(cacheLan,language)
- self:updateButton("Language",language==2)
- else
- self.ui.Items.Layout_Language:setVisible(false)
- end
- end
-
- -- 关闭
- function MJRoomSettingView:onClickClose()
- playBtnEffect()
- self:removeFromParent()
- end
-
- --更新显示设置
- function MJRoomSettingView:updateButton(name,isOpen)
- if self.ui.Items["Layout_"..name.."_On"] then
- self.ui.Items["Layout_"..name.."_On"]:setVisible(isOpen)
- end
- if self.ui.Items["Layout_"..name.."_Off"] then
- self.ui.Items["Layout_"..name.."_Off"]:setVisible(not isOpen)
- end
- end
-
- function MJRoomSettingView:updateBG(viewType,bgIndex)
- if viewType == MJDefine.DesktopType.TwoD then
- local mj_desktop_2d_mjType = loadUserInfo("mj_desktop_2d_mjType")
- if mj_desktop_2d_mjType == MJDefine.DesktopType.TwoDGold then
- self.ui.Items.ImageView_2D:loadTexture("mj_set_2d_gold_select_"..bgIndex..".png", cc.TextureResType.plistType)
- else
- self.ui.Items.ImageView_2D:loadTexture("mj_set_2d_select_"..bgIndex..".png", cc.TextureResType.plistType)
- end
- else
- self.ui.Items.ImageView_3D:loadTexture("mj_set_3d_select_"..bgIndex..".png", cc.TextureResType.plistType)
- end
- end
-
- -- 音乐
- function MJRoomSettingView:onClickMusic()
- playBtnEffect()
- app.systemSetting.info.music = not app.systemSetting.info.music
- app.systemSetting:save()
- self:updateButton("Music",app.systemSetting.info.music)
- end
-
- -- 音效
- function MJRoomSettingView:onClickEffect()
- playBtnEffect()
- app.systemSetting.info.sound = not app.systemSetting.info.sound
- app.systemSetting:save()
- self:updateButton("Effect",app.systemSetting.info.sound)
- app:dispatchEvent({name = "onChangeYinXiao"});
- end
-
- --方言
- function MJRoomSettingView:onClickLanguage()
- playBtnEffect()
- local cacheLan = "mj_language"..(MJDefine.GameID or app.gameId)
- local language = tonumber(loadUserInfo(cacheLan)) == 1 and 2 or 1
- saveUserInfo(cacheLan,language)
- self:updateButton("Language",language==2)
- app:dispatchEvent({name = MJDefine.MJEvent.ChangeLanguage})
- end
-
- return MJRoomSettingView;
|