local DdzDef = require("luaScript.SubGameDefine.zgwrDdzDefine") local DdzSoundHelper = require("pk_zgwrddz.luaScript.Views.Room.zgwrDdzSoundHelper"):new() local DdzSettingView = class("DdzSettingView", cc.UIView) local CheckBox_Nor_Color = cc.c4b(21,99,97, 255) local CheckBox_Sel_Color = cc.c4b(213,46,11, 255) function DdzSettingView:ctor( o ) self:loadUI(); self:initViews(); end function DdzSettingView:loadUI() self.ui = loadUI("pk_zgwrddz/res/ui/ui_room/ui_wrddz_settingview.ui") self:addChild(self.ui) end function DdzSettingView:onEnter() DdzSettingView.super.onEnter(self) end function DdzSettingView:initViews() self.ui.Items.ImageView_bg_select:setVisible(false) -- 关闭 self.ui.Items.Button_Close:registerClick(handler(self , self.onClickClose)) self:initSliders(); self:initLanguageRadioManager(); self:initDesktopRadioManager(); self:initMusicRadioManager(); end --- -- 初始化滑动条 -- function DdzSettingView:initSliders() --音乐 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)) end --- -- 初始化 -- function DdzSettingView:initLanguageRadioManager() local radioManager = import("luaScript.Tools.RadioManager"):new(); radioManager:addItem(self.ui.Items.CheckBox_ChenZhou, DdzDef.Language.FANG_YAN);--泸州话 radioManager:addItem(self.ui.Items.CheckBox_PuTongHua, DdzDef.Language.PU_TONG_HUA); local cacheLan = "LanguageType"..GAME_IDS.zgWuRenDouDiZhu local languageType = tonumber(loadUserInfo(cacheLan)) or DdzDef.Language.FANG_YAN radioManager:setDefault(languageType) local function callback(idx) saveUserInfo(cacheLan,idx) end radioManager:setCallback(callback) radioManager:setNormalColor(CheckBox_Nor_Color) radioManager:setSelectColor(CheckBox_Sel_Color) self.languageRadioManager = radioManager; end --- -- 初始化桌面背景 -- function DdzSettingView:initDesktopRadioManager() local cacheGameBgPic = "wrddz_setting_bg_idx"--"gameBgPicture"..app.gameId local radioManager = import("luaScript.Tools.RadioManager"):new() radioManager:addItem(self.ui.Items.CheckBox_zm_bg_1, 1) radioManager:addItem(self.ui.Items.CheckBox_zm_bg_2, 2) radioManager:addItem(self.ui.Items.CheckBox_zm_bg_3, 3) radioManager:addItem(self.ui.Items.CheckBox_zm_bg_4, 4) local defaultValue = tonumber(loadUserInfo(cacheGameBgPic)) or 3 radioManager:setDefault(defaultValue) radioManager:setCallback(function ( value ) saveUserInfo(cacheGameBgPic,value) --更换牌背 app.room:dispatchEvent({name = "pdkNormalEvent_changeDesktop", idx=value}) end) radioManager:setNormalColor(CheckBox_Nor_Color) radioManager:setSelectColor(CheckBox_Sel_Color) self.desktopRadioManager = radioManager; end --- -- 初始化背景音乐 -- function DdzSettingView:initMusicRadioManager() local cacheMusic = "gameBgMusic"..app.gameId local radioManager = import("luaScript.Tools.RadioManager"):new() radioManager:addItem(self.ui.Items.CheckBox_Music_1, 1) radioManager:addItem(self.ui.Items.CheckBox_Music_2, 2) --radioManager:addItem(self.ui.Items.CheckBox_Music_3, 1) local defaultValue = tonumber(loadUserInfo(cacheMusic)) or 2 radioManager:setDefault(defaultValue) radioManager:setCallback(function ( value ) saveUserInfo(cacheMusic,value) --更换背景音乐 DdzSoundHelper:playBgMusic(value) end) radioManager:setNormalColor(CheckBox_Nor_Color) radioManager:setSelectColor(CheckBox_Sel_Color) self.musicRadioManager = radioManager end -- 关闭设置界面 function DdzSettingView:onClickClose() playBtnEffect() self:removeFromParent() end -- 音乐 function DdzSettingView:onClickYinYue() app.systemSetting.info.music = self.ui.Items.CheckBox_Music:getSelectedState(); app.systemSetting:save() end -- 音效 function DdzSettingView:onClickYinXiao() app.systemSetting.info.sound = self.ui.Items.CheckBox_Effect:getSelectedState(); app.systemSetting:save() app:dispatchEvent({name = "onChangeYinXiao"}); end -- 音乐音量设置回调 function DdzSettingView:onMusicVolumeClickSlider() local percent = self.ui.Items.SliderMusic:getPercent(); local curValue = percent / 100; app.systemSetting.info.musicVolume = curValue; app.systemSetting:save() end -- 音效音量设置回调 function DdzSettingView:onSoundVolumeClickSlider() local percent = self.ui.Items.SliderEffect:getPercent(); local curValue = percent / 100; app.systemSetting.info.soundVolume = curValue; app.systemSetting:save() end function DdzSettingView:onClickClose() playBtnEffect() self:removeFromParent() end return DdzSettingView