-- 房间设置界面 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 changpaiRoomSettingView = class("changpaiRoomSettingView", cc.UIView) function changpaiRoomSettingView:ctor() changpaiRoomSettingView.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 changpaiRoomSettingView:loadUI() local ui = loadUI("zp_changpai/res/ui/ui_fangjian/changpai_ui_shezhi.ui"); self.ui = ui; self:addChild(ui); end function changpaiRoomSettingView:onEnter() changpaiRoomSettingView.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 changpaiRoomSettingView: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 changpaiRoomSettingView:onClickClose() playBtnEffect() self:removeFromParent() end -- 音乐 function changpaiRoomSettingView:onClickYinYue() app.systemSetting.info.music = self.ui.Items.CheckBox_Music:getSelectedState(); app.systemSetting:save() end -- 音效 function changpaiRoomSettingView: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 changpaiRoomSettingView:onMusicVolumeClickSlider() local percent = self.ui.Items.SliderMusic:getPercent(); local curValue = percent / 100; app.systemSetting.info.musicVolume = curValue; app.systemSetting:save() end -- 音效音量设置回调 function changpaiRoomSettingView:onSoundVolumeClickSlider() local percent = self.ui.Items.SliderEffect:getPercent(); local curValue = percent / 100; app.systemSetting.info.soundVolume = curValue; app.systemSetting:save() end --选择语言时,字体变颜色 function changpaiRoomSettingView: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 changpaiRoomSettingView: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 changpaiRoomSettingView: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 changpaiRoomSettingView: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 changpaiRoomSettingView;