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 bazhongRoomSettingView = class("bazhongRoomSettingView", MJRoomSettingView) local CheckBox_Nor_Color = cc.c4b(21,99,97,255) local CheckBox_Sel_Color = cc.c4b(213,46,11,255) function bazhongRoomSettingView:ctor() bazhongRoomSettingView.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 bazhongRoomSettingView:loadUi() local ui = loadUI("mj_bazhong/res/ui_fangjian/mj_bazhong_setting.ui") self.ui = ui self:addChild(ui) ui.Items.ImageView_BG:setTouchEnabled(true) end function bazhongRoomSettingView: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) local defaultValue = tonumber(loadUserInfo(cacheLan)) or 2 self:setYuColor(defaultValue) self.languageRadioManager:setDefault(defaultValue) self.languageRadioManager:setCallback(function ( value ) logD("bazhongRoomSettingView:onEnter - languageRadioManager", cacheLan, defaultValue) self:setYuColor(value) saveUserInfo(cacheLan, value) app:dispatchEvent({name = MJDefine.MJEvent.ChangeLanguage}) end) end local bazhong_mj_color = loadUserInfo("mj_desktop_2d_mjType_" .. (MJDefine.GameID or app.gameId)) or MJDefine.DesktopType.TwoD if bazhong_mj_color == "" then bazhong_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_molvL_2d, MJDefine.DesktopType.TwoDL) self.colorRadioManager:addItem(self.ui.Items.CheckBox_jinhuang_2d, MJDefine.DesktopType.TwoDGold) self.colorRadioManager:setDefault(bazhong_mj_color) self.colorRadioManager:setCallback(function ( value ) saveUserInfo("mj_desktop_2d_mjType_" .. (MJDefine.GameID or app.gameId), value) app:dispatchEvent({name = MJDefine.MJEvent.ChangeViewType,desktopType = value}) --saveUserInfo("mj_color_" .. (MJDefine.GameID or app.gameId), 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("mj_desktop_group_" .. (MJDefine.GameID or app.gameId))) or 2 self:setZhuoColor(defaultValue) self.desktopRadioManager:setDefault(defaultValue) self.desktopRadioManager:setCallback(function ( value ) saveUserInfo("mj_desktop_group_" .. (MJDefine.GameID or app.gameId), 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("mj_color_" .. (MJDefine.GameID or app.gameId), MJDefine.DesktopType.TwoD) --2d可以选择麻将颜色 self.ui.Items.Layout_color_2d:setVisible(true) self:update2DGoldLLShow() 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:update2DGoldLLShow() self.ui.Items.Layout_color_3d:setVisible(true) saveUserInfo("mj_color_" .. (MJDefine.GameID or app.gameId), 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 bazhong_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 self:update2DGoldLLShow() --互动表情 local faceKG = tonumber(loadUserInfo("HuDongBiaoQingKG_" .. (MJDefine.GameID or app.gameId))) 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("PingBiYuYinKG_" .. (MJDefine.GameID or app.gameId))) 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()) if MJFunction.isVoiceFobided and type(MJFunction.isVoiceFobided)=='function' then self.ui.Items.Layout_Voice:setVisible(not MJFunction.isVoiceFobided()) else self.ui.Items.Layout_Voice:setVisible(not MJFunction.isPropFobided()) end end --是否显示2D金黄大选项 function bazhongRoomSettingView:update2DGoldLLShow() local gameID = MJDefine.GameID or app.gameId local isNeedShow = true--(gameID == GAME_IDS.bazhongMJ) self.ui.Items.CheckBox_molvL_2d:setVisible(isNeedShow) end function bazhongRoomSettingView: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("mj_ZhuoMian_BG_Type_" .. (MJDefine.GameID or app.gameId), MJDefine.DesktopType.TwoD) else self.ui.Items.Text_16:setText("绿色") self.ui.Items.Text_17:setText("墨绿") self.ui.Items.Text_18:setText("经典") saveUserInfo("mj_ZhuoMian_BG_Type_" .. (MJDefine.GameID or app.gameId), MJDefine.DesktopType.ThreeD) end end --选择23D时,字体变颜色 function bazhongRoomSettingView:setLanColor(ttype) end --选择语言时,字体变颜色 function bazhongRoomSettingView:setYuColor(ttype) end --选择桌布时,字体变颜色 function bazhongRoomSettingView:setZhuoColor(ttype) end --互动表情开 function bazhongRoomSettingView:setHuDongBiaoQingOpen() self.ui.Items.Button_face_guan:setVisible(true) self.ui.Items.Button_face_kai:setVisible(false) saveUserInfo("HuDongBiaoQingKG_" .. (MJDefine.GameID or app.gameId),0) --app.room:dispatchEvent({name = "ontSetPropEnabled", value = 0}); --saveUserInfo("propEnable",0) app:dispatchEvent({name = MJDefine.MJEvent.ChangeChatEnable}) end --互动表情关 function bazhongRoomSettingView:setHuDongBiaoQingClose() self.ui.Items.Button_face_guan:setVisible(false) self.ui.Items.Button_face_kai:setVisible(true) saveUserInfo("HuDongBiaoQingKG_" .. (MJDefine.GameID or app.gameId),1) --app.room:dispatchEvent({name = "ontSetPropEnabled", value = 1}); --saveUserInfo("propEnable",1) app:dispatchEvent({name = MJDefine.MJEvent.ChangeChatEnable}) end --屏蔽语音开 function bazhongRoomSettingView:setPingBiYuYinOpen() self.ui.Items.Button_voice_guan:setVisible(true) self.ui.Items.Button_voice_kai:setVisible(false) saveUserInfo("PingBiYuYinKG_" .. (MJDefine.GameID or app.gameId),0) --app.room:dispatchEvent({name = "onSetVoiceEnabled", value = 0}); --saveUserInfo("voiceEnable",0) app:dispatchEvent({name = MJDefine.MJEvent.ChangeChatEnable}) end --屏蔽语音关 function bazhongRoomSettingView:setPingBiYuYinClose() self.ui.Items.Button_voice_guan:setVisible(false) self.ui.Items.Button_voice_kai:setVisible(true) saveUserInfo("PingBiYuYinKG_" .. (MJDefine.GameID or app.gameId),1) --app.room:dispatchEvent({name = "onSetVoiceEnabled", value = 1}); --saveUserInfo("voiceEnable",1) app:dispatchEvent({name = MJDefine.MJEvent.ChangeChatEnable}) end -- 音乐 function bazhongRoomSettingView:onClickMusic() app.systemSetting.info.music = not app.systemSetting.info.music app.systemSetting:save() end -- 音效 function bazhongRoomSettingView:onClickEffect() app.systemSetting.info.sound = not app.systemSetting.info.sound app.systemSetting:save() app:dispatchEvent({name = "onChangeYinXiao"}); end -- 音乐音量设置回调 function bazhongRoomSettingView:onMusicVolumeClickSlider() local percent = self.ui.Items.Slider_Music:getPercent(); local curValue = percent / 100; app.systemSetting.info.musicVolume = curValue; app.systemSetting:save() end -- 音效音量设置回调 function bazhongRoomSettingView:onSoundVolumeClickSlider() local percent = self.ui.Items.Slider_Effect:getPercent(); local curValue = percent / 100; app.systemSetting.info.soundVolume = curValue; app.systemSetting:save() end return bazhongRoomSettingView