|
- -- 房间设置界面
- local ZPDef = ZPFramework.ZPImport("zp_base.luaScript.ZPDef")
- local ZPFunctions = ZPFramework.ZPImport("zp_base.luaScript.ZPFunctions")
- local ZPSound = ZPFramework.ZPImport("zp_base.luaScript.ZPSound")
-
-
- local xichongRoomSettingView = class("xichongRoomSettingView", cc.UIView)
-
- function xichongRoomSettingView:ctor()
- xichongRoomSettingView.super.ctor(self);
- end
-
- function xichongRoomSettingView:loadUI()
- local ui = loadUI("zp_xichong/res/ui/ui_fangjian/xichong_ui_shezhi.ui");
- self.ui = ui;
- self:addChild(ui);
- end
-
- function xichongRoomSettingView:onEnter()
- xichongRoomSettingView.super.onEnter(self)
- self:loadUI()
-
- -- 关闭
- self.ui.Items.Button_guanbi:registerClick(handler(self , self.onClickClose))
-
- self:initMusicSlider()
- self:initLanguageRadioManager()
- self:initDesktopRadioManager()
- self:initHuDongDaoJu()
- self:initYuYin()
- self:initStyleRadioManager()
- end
- ---
- -- 初始化音乐、音效滑动条
- -- @return
- --
- function xichongRoomSettingView:initMusicSlider()
- --音乐
- 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
- ---
- -- 初始化方言选项
- -- @return
- --
- function xichongRoomSettingView:initLanguageRadioManager()
- self.languageRadioManager = import("luaScript.Tools.RadioManager"):new();
- self:initRadioManagerColor(self.languageRadioManager)
- 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"..app.gameId
- local languageType = tonumber(loadUserInfo(cacheLan)) or ZPDef.GameLanguageType.PU_TONG_HUA
- self.languageRadioManager:setDefault(languageType)
-
- local function callback(idx)
- saveUserInfo(cacheLan,idx)
- end
- self.languageRadioManager:setCallback(callback)
- self.ui.Items.CheckBox_ChenZhou:setVisible(false)
- end
- ---
- -- 初始化桌布选项
- -- @return
- --
- function xichongRoomSettingView:initDesktopRadioManager()
- self.desktopRadioManager = import("luaScript.Tools.RadioManager"):new()
- self:initRadioManagerColor(self.desktopRadioManager)
- local cacheGameBgPic = "gameBgPicture"..app.gameId
- 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)
- local defaultValue = tonumber(loadUserInfo(cacheGameBgPic)) or 1
- self.desktopRadioManager:setDefault(defaultValue)
- self.desktopRadioManager:setCallback(function ( value )
- --更换牌背
- app:dispatchEvent({name = "onChangeTable", idx = value});
- end)
-
- end
- ---
- -- 初始化版式
- -- @param
- -- @return
- --
- function xichongRoomSettingView:initStyleRadioManager( )
- if not self.styleRadioManager then
- self.styleRadioManager = import("luaScript.Tools.RadioManager"):new()
- self:initRadioManagerColor(self.styleRadioManager)
-
- self.styleRadioManager:addItem(self.ui.Items.CheckBox_JingDian, ZPDef.GameStyleType.JINGDIAN)
- self.styleRadioManager:addItem(self.ui.Items.CheckBox_XianDai, ZPDef.GameStyleType.XIANDAI)
-
- self.styleRadioManager:setCallback(function (value)
- local cacheStyleKey = "gameStyleType" .. app.gameId
- saveUserInfo(cacheStyleKey, value)
- app:dispatchEvent({name = ZPDef.ZPEvent.ChangeViewType, desktopType = value})
-
- self.ui.Items.CheckBox_JingDian:setTouchEnabled(false)
- self.ui.Items.CheckBox_XianDai:setTouchEnabled(false)
- self:runDelay(1.0, function ()
- self.ui.Items.CheckBox_JingDian:setTouchEnabled(true)
- self.ui.Items.CheckBox_XianDai:setTouchEnabled(true)
- end)
- end)
- end
-
- local cacheStyleKey = "gameStyleType" .. app.gameId
- local style = loadUserInfo(cacheStyleKey) or ZPDef.GameStyleType.JINGDIAN
- self.styleRadioManager:setDefault(tonumber(style))
- end
- ---
- -- 初始化互动道具
- -- @return
- --
- function xichongRoomSettingView:initHuDongDaoJu()
- local btnOpen = self.ui.Items.Button_HuDongDaoJu_Open
- local btnClose = self.ui.Items.Button_HuDongDaoJu_Close
- btnOpen:registerClick(handler(self, self.onBtnHuDongDaoJuOpenClicked))
- btnClose:registerClick(handler(self, self.onBtnHuDongDaoJuCloseClicked))
- self:updateHuDongDaoJu()
-
- self.ui.Items.Layout_HuDongDaoJu:setVisible(not ZPFunctions.isPropFobided())
- end
- ---
- -- 刷新互动道具显示
- -- @return
- --
- function xichongRoomSettingView:updateHuDongDaoJu()
- local propEnable = tonumber(loadUserInfo("propEnable")) or 1
- saveUserInfo("propEnable", propEnable)
- self.ui.Items.Button_HuDongDaoJu_Open:setVisible(propEnable ~= 1)
- self.ui.Items.Button_HuDongDaoJu_Close:setVisible(propEnable == 1)
- app:dispatchEvent({name = "EVENT_CHANGE_CHAT_ENABLED"});
- end
- ---
- -- 点击打开互动道具
- -- @return
- --
- function xichongRoomSettingView:onBtnHuDongDaoJuOpenClicked()
- playBtnEffect()
- saveUserInfo("propEnable", 1)
- self:updateHuDongDaoJu()
- end
- ---
- -- 关闭互动道具
- -- @return
- --
- function xichongRoomSettingView:onBtnHuDongDaoJuCloseClicked()
- playBtnEffect()
- saveUserInfo("propEnable", 0)
- self:updateHuDongDaoJu()
- end
- ---
- -- 初始化语音
- -- @return
- --
- function xichongRoomSettingView:initYuYin()
- local btnOpen = self.ui.Items.Button_YuYin_Open
- local btnClose = self.ui.Items.Button_YuYin_Close
- btnOpen:registerClick(handler(self, self.onBtnYuYinOpenClicked))
- btnClose:registerClick(handler(self, self.onBtnYuYinCloseClicked))
- self:updateYuYin()
-
- self.ui.Items.Layout_YuYin:setVisible(not ZPFunctions.isPropFobided())
- end
- ---
- -- 刷新语音显示
- -- @return
- --
- function xichongRoomSettingView:updateYuYin()
- local voiceEnable = tonumber(loadUserInfo("voiceEnable")) or 1
- saveUserInfo("voiceEnable", voiceEnable)
- self.ui.Items.Button_YuYin_Open:setVisible(voiceEnable ~= 1)
- self.ui.Items.Button_YuYin_Close:setVisible(voiceEnable == 1)
- app:dispatchEvent({name = "EVENT_CHANGE_CHAT_ENABLED"});
- end
- ---
- -- 点击打开语音
- -- @return
- --
- function xichongRoomSettingView:onBtnYuYinOpenClicked()
- playBtnEffect()
- saveUserInfo("voiceEnable", 1)
- self:updateYuYin()
- end
- ---
- -- 关闭语音
- -- @return
- --
- function xichongRoomSettingView:onBtnYuYinCloseClicked()
- playBtnEffect()
- saveUserInfo("voiceEnable", 0)
- self:updateYuYin()
- end
- ---
- -- 初始化单选框颜色
- -- @param radioManager
- -- @return
- --
- function xichongRoomSettingView:initRadioManagerColor(radioManager)
- if not radioManager then
- return ;
- end
-
- -- local CheckBox_Nor_Color = cc.c4b(21,99,97, 255)
- -- local CheckBox_Sel_Color = cc.c4b(213,46,11, 255)
- -- radioManager:setNormalColor(CheckBox_Nor_Color)
- -- radioManager:setSelectColor(CheckBox_Sel_Color)
- end
- ---
- -- 关闭
- -- @return
- --
- function xichongRoomSettingView:onClickClose()
- playBtnEffect()
- self:removeFromParent()
- end
- ---
- -- 音乐
- -- @return
- --
- function xichongRoomSettingView:onClickYinYue()
- app.systemSetting.info.music = self.ui.Items.CheckBox_Music:getSelectedState();
- app.systemSetting:save()
- end
- ---
- -- 音效
- -- @return
- --
- function xichongRoomSettingView:onClickYinXiao()
- app.systemSetting.info.sound = self.ui.Items.CheckBox_Effect:getSelectedState();
- app.systemSetting:save()
- app:dispatchEvent({name = "onChangeYinXiao"});
- end
- ---
- -- 音乐音量设置回调
- -- @return
- --
- function xichongRoomSettingView:onMusicVolumeClickSlider()
- local percent = self.ui.Items.SliderMusic:getPercent();
- local curValue = percent / 100;
- app.systemSetting.info.musicVolume = curValue;
- app.systemSetting:save()
- end
- ---
- -- 音效音量设置回调
- -- @return
- --
- function xichongRoomSettingView:onSoundVolumeClickSlider()
- local percent = self.ui.Items.SliderEffect:getPercent();
- local curValue = percent / 100;
- app.systemSetting.info.soundVolume = curValue;
- app.systemSetting:save()
- end
-
- return xichongRoomSettingView;
|