|
- -- 房间设置界面
- local ZPDef = ZPFramework.ZPImport("zp_base.luaScript.ZPDef")
- local ZPFuc = ZPFramework.ZPImport("zp_base.luaScript.ZPFunctions")
- local ZPSound = ZPFramework.ZPImport("zp_base.luaScript.ZPSound")
-
- local ErWuRoomSettingView = class("ErWuRoomSettingView", cc.UIView)
-
- function ErWuRoomSettingView:ctor()
- ErWuRoomSettingView.super.ctor(self);
-
- self.desktopRadioManager = import("luaScript.Tools.RadioManager"):new()
- self.musicRadioManager = import("luaScript.Tools.RadioManager"):new()
- self.languageRadioManager = import("luaScript.Tools.RadioManager"):new()
- self.colorRadioManager = import("luaScript.Tools.RadioManager"):new()
- self.viewTypeRadioManager = import("luaScript.Tools.RadioManager"):new()
- end
-
- local CheckBox_Nor_Color = cc.c3b(21,99,97)
- local CheckBox_Sel_Color = cc.c3b(213,46,11)
-
- function ErWuRoomSettingView:loadUI()
- local ui = loadUI("zp_erwu/res/ui/ui_fangjian/erwu_ui_shezhi.ui");
- self.ui = ui;
- self:addChild(ui);
- end
-
- function ErWuRoomSettingView:onEnter()
- ErWuRoomSettingView.super.onEnter(self)
- self:loadUI()
-
- -- 关闭
- self.ui.Items.Button_guanbi:registerClick(handler(self , self.onClickClose))
-
- --音乐
- self.ui.Items.CheckBox_Music:addEventListener(handler(self , self.onClickYinYue))
- self.ui.Items.CheckBox_Music:setSelectedState(app.systemSetting.info.music);
-
- -- 音效
- self.ui.Items.CheckBox_Effect:addEventListener(handler(self , self.onClickYinXiao))
- self.ui.Items.CheckBox_Effect:setSelectedState(app.systemSetting.info.sound);
-
- --音乐音量
- self.ui.Items.SliderMusic:setPercent(app.systemSetting.info.musicVolume * 100 or 100)
- self.ui.Items.SliderMusic:addEventListener(handler(self, self.onMusicVolumeClickSlider))
-
- --音效音量
- self.ui.Items.SliderEffect:setPercent(app.systemSetting.info.soundVolume * 100 or 100)
- self.ui.Items.SliderEffect:addEventListener(handler(self, self.onSoundVolumeClickSlider))
-
- self.ui.Items.CheckBox_PuTongHua:setVisible(false)
- self.languageRadioManager:addItem(self.ui.Items.CheckBox_ChenZhou, ZPDef.GameLanguageType.FANG_YAN);
- self.languageRadioManager:addItem(self.ui.Items.CheckBox_PuTongHua, ZPDef.GameLanguageType.PU_TONG_HUA);
- local cacheLan = "LanguageType"..(ZPDef.GameID or app.gameId)
- local languageType = tonumber(loadUserInfo(cacheLan)) or ZPDef.GameLanguageType.PU_TONG_HUA
- self.languageRadioManager:setDefault(languageType)
- self:setYuColor(languageType)
-
- self.languageRadioManager:setDefault(ZPDef.GameLanguageType.FANG_YAN)
-
- local function callback(idx)
- saveUserInfo(cacheLan,idx)
- self:setYuColor(idx)
- end
- self.languageRadioManager:setCallback(callback)
-
- local cacheGameBgPic = "gameBgPicture"..(ZPDef.GameID or app.gameId)
- if self.desktopRadioManager then
- self.desktopRadioManager:addItem(self.ui.Items.CheckBox_zm_bg_1, 1)
- self.desktopRadioManager:addItem(self.ui.Items.CheckBox_zm_bg_2, 2)
- self.desktopRadioManager:addItem(self.ui.Items.CheckBox_zm_bg_3, 3)
- self.desktopRadioManager:addItem(self.ui.Items.CheckBox_zm_bg_4, 4)
- self.desktopRadioManager:addItem(self.ui.Items.CheckBox_zm_bg_5, 5)
- self.desktopRadioManager:addItem(self.ui.Items.CheckBox_zm_bg_6, 6)
- local defaultValue = tonumber(loadUserInfo(cacheGameBgPic)) or 2
- self.desktopRadioManager:setDefault(defaultValue)
- self:setZhuoColor(defaultValue)
- self.desktopRadioManager:setCallback(function ( value )
- self:setZhuoColor(value)
- --更换牌背
- app:dispatchEvent({name = "onChangeTable", idx = value});
- end)
- end
-
- local cacheMusic = "gameBgMusic"..(ZPDef.GameID or app.gameId)
- if self.musicRadioManager then
- self.musicRadioManager:addItem(self.ui.Items.CheckBox_Music_1, 2)
- self.musicRadioManager:addItem(self.ui.Items.CheckBox_Music_2, 3)
- self.musicRadioManager:addItem(self.ui.Items.CheckBox_Music_3, 1)
- local defaultValue = tonumber(loadUserInfo(cacheMusic)) or 1
- self.musicRadioManager:setDefault(defaultValue)
- self:setYinColor(defaultValue)
- self.musicRadioManager:setCallback(function ( value )
- self:setYinColor(value)
- saveUserInfo(cacheMusic,value)
- --更换背景音乐
- ZPSound.PlayGameBGM(value)
- end)
- end
-
- local cacheColor = "cardColor"..(ZPDef.GameID or app.gameId)
- if self.colorRadioManager then
- self.colorRadioManager:addItem(self.ui.Items.CheckBox_Color_white, 1)
- self.colorRadioManager:addItem(self.ui.Items.CheckBox_Color_yellow, 2)
- local defaultValue = tonumber(loadUserInfo(cacheColor)) or 1
- self.colorRadioManager:setDefault(defaultValue)
- self:setCardColor(defaultValue)
- self.colorRadioManager:setCallback(function ( value )
- self:setCardColor(value)
- saveUserInfo(cacheColor,value)
- app:dispatchEvent({name = ZPDef.ZPEvent.ChangeViewType,colorType = value})
- end)
- end
-
- self:initDesktopEventListener()
-
- end
-
-
- function ErWuRoomSettingView:initDesktopEventListener()
-
- local function updateDeskTopType(viewType)
- if viewType == ZPDef.DesktopType.ThreeD then
- self.ui.Items.CheckBox_zm_bg_1:setVisible(true)
- self.ui.Items.CheckBox_zm_bg_2:setVisible(true)
- self.ui.Items.CheckBox_zm_bg_3:setVisible(true)
- self.ui.Items.CheckBox_zm_bg_4:setVisible(false)
- self.ui.Items.CheckBox_zm_bg_5:setVisible(false)
- self.ui.Items.CheckBox_zm_bg_6:setVisible(false)
-
- local cacheGameBgPic = "gameBgPicture"..(ZPDef.GameID or app.gameId)
- local defaultValue = tonumber(loadUserInfo(cacheGameBgPic)) or 2
- if defaultValue >= 4 then
- defaultValue = defaultValue - 3
- end
-
-
- if self.desktopRadioManager then
- self.desktopRadioManager:setDefault(defaultValue)
- end
- else
- self.ui.Items.CheckBox_zm_bg_1:setVisible(false)
- self.ui.Items.CheckBox_zm_bg_2:setVisible(false)
- self.ui.Items.CheckBox_zm_bg_3:setVisible(false)
- self.ui.Items.CheckBox_zm_bg_4:setVisible(true)
- self.ui.Items.CheckBox_zm_bg_5:setVisible(true)
- self.ui.Items.CheckBox_zm_bg_6:setVisible(true)
-
- local cacheGameBgPic = "gameBgPicture"..(ZPDef.GameID or app.gameId)
- local defaultValue = tonumber(loadUserInfo(cacheGameBgPic)) or 5
- if defaultValue <= 3 then
- defaultValue = defaultValue + 3
- end
-
-
- if self.desktopRadioManager then
- self.desktopRadioManager:setDefault(defaultValue)
- end
- end
- end
-
- local cacheGameViewType = "gameViewType"..(ZPDef.GameID or app.gameId)
-
- local defaultViewType = loadUserInfo(cacheGameViewType) or ZPDef.DesktopType.ThreeD
-
- if defaultViewType == "" then
- defaultViewType = ZPDef.DesktopType.ThreeD
- end
-
- updateDeskTopType(defaultViewType)
-
- if defaultViewType == ZPDef.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)
- 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)
- end
-
- --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=ZPDef.DesktopType.TwoD
- --app.systemSetting:save()
-
- local cacheGameViewType = "gameViewType"..(ZPDef.GameID or app.gameId)
-
- saveUserInfo(cacheGameViewType,ZPDef.DesktopType.TwoD)
-
- app:dispatchEvent({name = ZPDef.ZPEvent.ChangeViewType,desktopType = ZPDef.DesktopType.TwoD})
-
- updateDeskTopType(ZPDef.DesktopType.TwoD)
- self.isFobidChangeDesktop = true
- self:runDelay(1.0, function ()
- self.isFobidChangeDesktop = false
- end)
- 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=ZPDef.DesktopType.ThreeD
- --app.systemSetting:save()
-
- local cacheGameViewType = "gameViewType"..(ZPDef.GameID or app.gameId)
-
- saveUserInfo(cacheGameViewType,ZPDef.DesktopType.ThreeD)
-
- app:dispatchEvent({name = ZPDef.ZPEvent.ChangeViewType,desktopType = ZPDef.DesktopType.ThreeD})
-
- updateDeskTopType(ZPDef.DesktopType.ThreeD)
- self.isFobidChangeDesktop = true
- self:runDelay(1.0, function ()
- self.isFobidChangeDesktop = false
- end)
- end
- self.ui.Items.CheckBox_3D:addEventListener(listener3D)
- end
-
- -- 关闭
- function ErWuRoomSettingView:onClickClose()
- playBtnEffect()
- self:removeFromParent()
- end
-
- -- 音乐
- function ErWuRoomSettingView:onClickYinYue()
- app.systemSetting.info.music = self.ui.Items.CheckBox_Music:getSelectedState();
- app.systemSetting:save()
- end
-
- -- 音效
- function ErWuRoomSettingView:onClickYinXiao()
- app.systemSetting.info.sound = self.ui.Items.CheckBox_Effect:getSelectedState();
- app.systemSetting:save()
- app:dispatchEvent({name = "onChangeYinXiao"});
- end
-
-
- --[[--选择桌布背景
- function ZPRoomSettingView:selectBgCallBack(idx)
- saveUserInfo("srxgameBgPicture",idx)
- self.ui.Items.ImageView_bg_select:setPosition(self.bgBtnList[idx]:getPosition())
- --更换牌背
- app:dispatchEvent({name = "onChangeTable", idx = idx});
- end--]]
-
- -- 音乐音量设置回调
- function ErWuRoomSettingView:onMusicVolumeClickSlider()
- local percent = self.ui.Items.SliderMusic:getPercent();
- local curValue = percent / 100;
- app.systemSetting.info.musicVolume = curValue;
- app.systemSetting:save()
- end
-
- -- 音效音量设置回调
- function ErWuRoomSettingView:onSoundVolumeClickSlider()
- local percent = self.ui.Items.SliderEffect:getPercent();
- local curValue = percent / 100;
- app.systemSetting.info.soundVolume = curValue;
- app.systemSetting:save()
- end
-
- --选择语言时,字体变颜色
- function ErWuRoomSettingView:setYuColor(ttype)
- self.ui.Items.Text_putonghua:setColor(ttype == 1 and CheckBox_Sel_Color or CheckBox_Nor_Color)--普通话
- self.ui.Items.Text_ChenZhou:setColor(ttype == 2 and CheckBox_Sel_Color or CheckBox_Nor_Color)--方言话
- end
-
- --选择桌布时,字体变颜色
- function ErWuRoomSettingView:setZhuoColor(ttype)
- self.ui.Items.Text_zm_bg_1:setColor(ttype == 1 and CheckBox_Sel_Color or CheckBox_Nor_Color)--颜色1
- self.ui.Items.Text_zm_bg_2:setColor(ttype == 2 and CheckBox_Sel_Color or CheckBox_Nor_Color)--颜色2
- self.ui.Items.Text_zm_bg_3:setColor(ttype == 3 and CheckBox_Sel_Color or CheckBox_Nor_Color)--颜色3
- self.ui.Items.Text_zm_bg_4:setColor(ttype == 4 and CheckBox_Sel_Color or CheckBox_Nor_Color)--颜色4
- self.ui.Items.Text_zm_bg_5:setColor(ttype == 5 and CheckBox_Sel_Color or CheckBox_Nor_Color)--颜色4
- self.ui.Items.Text_zm_bg_6:setColor(ttype == 6 and CheckBox_Sel_Color or CheckBox_Nor_Color)--颜色4
- end
-
- --选择背景音乐时,字体变颜色
- function ErWuRoomSettingView:setYinColor(ttype)
- self.ui.Items.Text_Music_1:setColor(ttype == 2 and CheckBox_Sel_Color or CheckBox_Nor_Color)--普通话
- self.ui.Items.Text_Music_2:setColor(ttype == 3 and CheckBox_Sel_Color or CheckBox_Nor_Color)--长沙话
- self.ui.Items.Text_Music_3:setColor(ttype == 1 and CheckBox_Sel_Color or CheckBox_Nor_Color)--长沙话
- end
-
- --选择牌面颜色是,字体变颜色
- function ErWuRoomSettingView:setCardColor(ttype)
- self.ui.Items.Text_color_1:setColor(ttype == 1 and CheckBox_Sel_Color or CheckBox_Nor_Color)--纯白色
- self.ui.Items.Text_color_2:setColor(ttype == 2 and CheckBox_Sel_Color or CheckBox_Nor_Color)--萤黄色
- end
- return ErWuRoomSettingView;
|