local MJDefine=MJFramework.MJImport("mj.luaScript.MJDefine") local MJSound = MJFramework.MJImport("mj.luaScript.MJSound") local MJFunction = MJFramework.MJImport("mj.luaScript.MJFunction") local MJRoomSettingView = MJFramework.MJFrameworkClassImprot("mj.luaScript.Views.Room.MJRoomSettingView") local xcmajRoomSettingView = class("xcmajRoomSettingView", MJRoomSettingView) local CheckBox_Nor_Color = cc.c4b(21,99,97,255) local CheckBox_Sel_Color = cc.c4b(213,46,11,255) function xcmajRoomSettingView:ctor() xcmajRoomSettingView.super.ctor(self); self:loadUi() self.languageRadioManager = import("luaScript.Tools.RadioManager"):new() self.majhongRadioManager = import("luaScript.Tools.RadioManager"):new() self.desktopRadioManager = import("luaScript.Tools.RadioManager"):new() self.colorRadioManager = import("luaScript.Tools.RadioManager"):new() end function xcmajRoomSettingView:loadUi() local ui = loadUI("mj_xcmaj/res/ui_fangjian/mj_xcmaj_setting.ui") self.ui = ui self:addChild(ui) ui.Items.ImageView_BG:setTouchEnabled(true) end function xcmajRoomSettingView:onEnter() if self.languageRadioManager then self.languageRadioManager:addItem(self.ui.Items.CheckBox_PuTongHua, 1) self.languageRadioManager:addItem(self.ui.Items.CheckBox_Fangyan, 2) local cacheLan = "mj_language"..(MJDefine.GameID or app.gameId) --saveUserInfo(cacheLan,1)--恒定为普通话 local defaultValue = tonumber(loadUserInfo(cacheLan)) or 1 self:setYuColor(defaultValue) self.languageRadioManager:setDefault(defaultValue) self.languageRadioManager:setCallback(function ( value ) self:setYuColor(value) saveUserInfo(cacheLan,value) app:dispatchEvent({name = MJDefine.MJEvent.ChangeLanguage}) end) end --self.ui.Items.CheckBox_Fangyan:setVisible(false) local xcmj_mj_color = loadUserInfo("mj_xcmaj_desktop_2d_mjType") or MJDefine.DesktopType.TwoD if xcmj_mj_color == "" then xcmj_mj_color = MJDefine.DesktopType.TwoD end if self.colorRadioManager then self.colorRadioManager:addItem(self.ui.Items.CheckBox_molv_3d, MJDefine.DesktopType.ThreeD) self.colorRadioManager:addItem(self.ui.Items.CheckBox_molv_2d, MJDefine.DesktopType.TwoD) self.colorRadioManager:addItem(self.ui.Items.CheckBox_jinhuang_2d, MJDefine.DesktopType.TwoDGold) self.colorRadioManager:setDefault(xcmj_mj_color) self.colorRadioManager:setCallback(function ( value ) saveUserInfo("mj_xcmaj_desktop_2d_mjType", value) app:dispatchEvent({name = MJDefine.MJEvent.ChangeViewType,desktopType = value}) --saveUserInfo("xcmj_mj_color", value) --showTooltip("设置将在下一局生效!") end) end if self.desktopRadioManager then self.desktopRadioManager:addItem(self.ui.Items.CheckBox_desktop_1, 1) self.desktopRadioManager:addItem(self.ui.Items.CheckBox_desktop_2, 2) self.desktopRadioManager:addItem(self.ui.Items.CheckBox_desktop_3, 3) local defaultValue = tonumber(loadUserInfo("xcmj_mj_desktop_group")) or 2 self:setZhuoColor(defaultValue) self.desktopRadioManager:setDefault(defaultValue) self.desktopRadioManager:setCallback(function ( value ) saveUserInfo("xcmj_mj_desktop_group", value) self:setZhuoColor(value) app:dispatchEvent({name = MJDefine.MJEvent.ChangeViewBG}) --showTooltip("设置将在下一局生效!") end) end -- 关闭 self.ui.Items.Button_guanbi:registerClick(handler(self , self.onClickClose)) -- 音乐 self.ui.Items.CheckBox_Music:addEventListener(handler(self , self.onClickMusic)) self.ui.Items.CheckBox_Music:setSelectedState(app.systemSetting.info.music); --音乐音量 self.ui.Items.Slider_Music:setPercent(app.systemSetting.info.musicVolume * 100 or 100) self.ui.Items.Slider_Music:addEventListener(handler(self, self.onMusicVolumeClickSlider)) -- 音效 self.ui.Items.CheckBox_Effect:addEventListener(handler(self , self.onClickEffect)) self.ui.Items.CheckBox_Effect:setSelectedState(app.systemSetting.info.sound); --音效音量 self.ui.Items.Slider_Effect:setPercent(app.systemSetting.info.soundVolume * 100 or 100) self.ui.Items.Slider_Effect:addEventListener(handler(self, self.onSoundVolumeClickSlider)) --2D local function listener2D() 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=MJDefine.DesktopType.TwoD app.systemSetting:save() self:setZhuoBuText(2) self:setLanColor(2) app.systemSetting.info.viewType = MJDefine.DesktopType.TwoD app.systemSetting:save() --app:dispatchEvent({name = MJDefine.MJEvent.ChangeViewType,desktopType = MJDefine.DesktopType.TwoD}) --showTooltip("设置将在下一局生效!") saveUserInfo("xcmj_mj_color", MJDefine.DesktopType.TwoD) --2d可以选择麻将颜色 self.ui.Items.Layout_color_2d:setVisible(true) self.ui.Items.Layout_color_3d:setVisible(false) self.isFobidChangeDesktop = true self.colorRadioManager:setDefault(MJDefine.DesktopType.TwoD) self:runDelay(2.0, function () self.isFobidChangeDesktop = false end) end self.ui.Items.CheckBox_2D:addEventListener(listener2D) --3D local function listener3D() 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=MJDefine.DesktopType.ThreeD app.systemSetting:save() self:setZhuoBuText(3) self:setLanColor(3) --app:dispatchEvent({name = MJDefine.MJEvent.ChangeViewType,desktopType = MJDefine.DesktopType.ThreeD}) app.systemSetting.info.viewType = MJDefine.DesktopType.ThreeD app.systemSetting:save() --showTooltip("设置将在下一局生效!") --3d麻将颜色只能为墨绿 self.ui.Items.Layout_color_2d:setVisible(false) self.ui.Items.Layout_color_3d:setVisible(true) saveUserInfo("xcmj_mj_color", MJDefine.DesktopType.ThreeD) self.colorRadioManager:setDefault(MJDefine.DesktopType.ThreeD) self.isFobidChangeDesktop = true self:runDelay(2.0, function () self.isFobidChangeDesktop = false end) end self.ui.Items.CheckBox_3D:addEventListener(listener3D) if xcmj_mj_color==MJDefine.DesktopType.ThreeD or app.systemSetting.info.viewType == "3d" 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) self:setZhuoBuText(3) self:setLanColor(3) self.ui.Items.Layout_color_2d:setVisible(false) self.ui.Items.Layout_color_3d:setVisible(true) self.ui.Items.CheckBox_molv_3d:setSelectedState(true) 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) self:setZhuoBuText(2) self:setLanColor(2) self.ui.Items.Layout_color_2d:setVisible(true) self.ui.Items.Layout_color_3d:setVisible(false) end --互动表情 local faceKG = tonumber(loadUserInfo("xcmajHuDongBiaoQingKG")) or 1--0关 1开 self.ui.Items.Button_face_guan:setVisible(faceKG==0) self.ui.Items.Button_face_kai:setVisible(faceKG==1) self.ui.Items.Button_face_guan:registerClick(handler(self , self.setHuDongBiaoQingClose)) self.ui.Items.Button_face_kai:registerClick(handler(self , self.setHuDongBiaoQingOpen)) --屏蔽语音 local voiceKG = tonumber(loadUserInfo("xcmajPingBiYuYinKG")) or 1--0关 1开 self.ui.Items.Button_voice_guan:setVisible(voiceKG==0) self.ui.Items.Button_voice_kai:setVisible(voiceKG==1) self.ui.Items.Button_voice_guan:registerClick(handler(self , self.setPingBiYuYinClose)) self.ui.Items.Button_voice_kai:registerClick(handler(self , self.setPingBiYuYinOpen)) self.ui.Items.Layout_Prop:setVisible(not MJFunction.isPropFobided()) self.ui.Items.Layout_Voice:setVisible(not MJFunction.isVoiceFobided()) end function xcmajRoomSettingView:setZhuoBuText(zbType)--根据2d 3d设置桌布text 默认用红色2D 音效默认普通话 if zbType == 2 then self.ui.Items.Text_16:setText("绿色") self.ui.Items.Text_17:setText("墨绿") self.ui.Items.Text_18:setText("经典") saveUserInfo("xcmj_ZhuoMian_BG_Type", MJDefine.DesktopType.TwoD) else self.ui.Items.Text_16:setText("绿色") self.ui.Items.Text_17:setText("墨绿") self.ui.Items.Text_18:setText("经典") saveUserInfo("xcmj_ZhuoMian_BG_Type", MJDefine.DesktopType.ThreeD) end end --选择23D时,字体变颜色 function xcmajRoomSettingView:setLanColor(ttype) end --选择语言时,字体变颜色 function xcmajRoomSettingView:setYuColor(ttype) end --选择桌布时,字体变颜色 function xcmajRoomSettingView:setZhuoColor(ttype) end --互动表情开 function xcmajRoomSettingView:setHuDongBiaoQingOpen() self.ui.Items.Button_face_guan:setVisible(true) self.ui.Items.Button_face_kai:setVisible(false) saveUserInfo("xcmajHuDongBiaoQingKG",0) --app.room:dispatchEvent({name = "ontSetPropEnabled", value = 0}); --saveUserInfo("propEnable",0) app:dispatchEvent({name = MJDefine.MJEvent.ChangeChatEnable}) end --互动表情关 function xcmajRoomSettingView:setHuDongBiaoQingClose() self.ui.Items.Button_face_guan:setVisible(false) self.ui.Items.Button_face_kai:setVisible(true) saveUserInfo("xcmajHuDongBiaoQingKG",1) --app.room:dispatchEvent({name = "ontSetPropEnabled", value = 1}); --saveUserInfo("propEnable",1) app:dispatchEvent({name = MJDefine.MJEvent.ChangeChatEnable}) end --屏蔽语音开 function xcmajRoomSettingView:setPingBiYuYinOpen() self.ui.Items.Button_voice_guan:setVisible(true) self.ui.Items.Button_voice_kai:setVisible(false) saveUserInfo("xcmajPingBiYuYinKG",0) --app.room:dispatchEvent({name = "onSetVoiceEnabled", value = 0}); --saveUserInfo("voiceEnable",0) app:dispatchEvent({name = MJDefine.MJEvent.ChangeChatEnable}) end --屏蔽语音关 function xcmajRoomSettingView:setPingBiYuYinClose() self.ui.Items.Button_voice_guan:setVisible(false) self.ui.Items.Button_voice_kai:setVisible(true) saveUserInfo("xcmajPingBiYuYinKG",1) --app.room:dispatchEvent({name = "onSetVoiceEnabled", value = 1}); --saveUserInfo("voiceEnable",1) app:dispatchEvent({name = MJDefine.MJEvent.ChangeChatEnable}) end -- 音乐 function xcmajRoomSettingView:onClickMusic() app.systemSetting.info.music = not app.systemSetting.info.music app.systemSetting:save() end -- 音效 function xcmajRoomSettingView:onClickEffect() app.systemSetting.info.sound = not app.systemSetting.info.sound app.systemSetting:save() app:dispatchEvent({name = "onChangeYinXiao"}); end -- 音乐音量设置回调 function xcmajRoomSettingView:onMusicVolumeClickSlider() local percent = self.ui.Items.Slider_Music:getPercent(); local curValue = percent / 100; app.systemSetting.info.musicVolume = curValue; app.systemSetting:save() end -- 音效音量设置回调 function xcmajRoomSettingView:onSoundVolumeClickSlider() local percent = self.ui.Items.Slider_Effect:getPercent(); local curValue = percent / 100; app.systemSetting.info.soundVolume = curValue; app.systemSetting:save() end return xcmajRoomSettingView