using UI.RoleInfo; using System.Text.RegularExpressions; using UnityEngine; using FairyGUI; namespace GFGGame { public class SettingView : BaseWindow { private UI_SettingUI _ui; private EffectUI _effectUI1; private EffectUI _effectUI2; private static bool _refresh; public static bool refresh { set { _refresh = value; } } public override void Dispose() { EffectUIPool.Recycle(_effectUI1); _effectUI1 = null; EffectUIPool.Recycle(_effectUI2); _effectUI2 = null; if (_ui != null) { _ui.Dispose(); _ui = null; } base.Dispose(); } protected override void OnInit() { base.OnInit(); packageName = UI_SettingUI.PACKAGE_NAME; _ui = UI_SettingUI.Create(); this.viewCom = _ui.target; isfullScreen = true; isReturnView = true; _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("bg_hzzs"); _ui.m_btnExit.onClick.Add(OnClickBtnBack); _ui.m_btnLogout.target.onClick.Add(OnClickBtnLogout); _ui.m_btnSound.onClick.Add(OnClickBtnSound); _ui.m_btnMusic.onClick.Add(OnClickBtnMusic); _ui.m_btnVoice.onClick.Add(OnClickBtnVoice); _ui.m_btnExchange.onClick.Add(OnClickBtnChangeMainBg); _ui.m_voiceSlider.target.onChanged.Add(OnChangeVoiceVolumn); _ui.m_musicSlider.target.onChanged.Add(OnChangeMusicVolumn); _ui.m_soundSlider.target.onChanged.Add(OnChangeSoundVolumn); _ui.m_btnBinding.onClick.Add(OnClickPhoneBinding); _ui.m_btnGiftCode.target.onClick.Add(OnClickGiftCode); _ui.m_settingTypeList.itemRenderer = RenderListType; _ui.m_settingTypeList.numItems = _ui.m_settingTypeList.numItems; _ui.m_gameProtectAgree.onClick.Add(OnGameProtectAgreeClick); _ui.m_privacyAgree.onClick.Add(OnPrivacyAgreeClick); _ui.m_childrenAgree.onClick.Add(OnChildrenAgreeClick); } protected override void OnShown() { base.OnShown(); InitVolumnSetting(); if (_refresh) { _refresh = false; _ui.m_suit.Play(); _ui.m_c1.SetSelectedIndex(0); } _ui.m_btnGiftCode.target.visible = GameConfig.code == 0; } protected override void OnHide() { base.OnHide(); } private void OnClickBtnBack() { Hide(); //AlertSystem.Show("确认返回登录页吗?") // .SetLeftButton(true) // .SetRightButton(true, "确认", (object data) => // { // GameController.QuitToLoginView(false); // }); } private void OnClickBtnLogout() { AlertSystem.Show("确认注销当前账号吗?") .SetLeftButton(true) .SetRightButton(true, "确认", (object data) => { GameController.QuitToLoginView(true); }); } private void OnClickBtnSound() { SoundManager.Instance.isOn = _ui.m_btnSound.selected; bool isOn = _ui.m_btnSound.selected; _ui.m_soundSlider.target.touchable = isOn; UI_Slider2 slider1 = UI_Slider2.Proxy(_ui.m_soundSlider.target); slider1.m_c1.SetSelectedIndex(isOn ? 0 : 1); slider1.m_progressBar.fillAmount = isOn ? (float)_ui.m_soundSlider.target.value / 100 : 0; UI_Slider2.ProxyEnd(); } private void OnClickBtnMusic() { MusicManager.Instance.isOn = _ui.m_btnMusic.selected; bool isOn = _ui.m_btnMusic.selected; _ui.m_musicSlider.target.touchable = isOn; UI_Slider2 slider1 = UI_Slider2.Proxy(_ui.m_musicSlider.target); slider1.m_c1.SetSelectedIndex(isOn ? 0 : 1); slider1.m_progressBar.fillAmount = isOn ? (float)_ui.m_musicSlider.target.value / 100 : 0; UI_Slider2.ProxyEnd(); } private void OnClickBtnVoice() { VoiceManager.Instance.isOn = _ui.m_btnVoice.selected; bool isOn = _ui.m_btnVoice.selected; _ui.m_voiceSlider.target.touchable = isOn; UI_Slider2 slider1 = UI_Slider2.Proxy(_ui.m_voiceSlider.target); slider1.m_c1.SetSelectedIndex(isOn ? 0 : 1); slider1.m_progressBar.fillAmount = isOn ? (float)_ui.m_voiceSlider.target.value / 100 : 0; UI_Slider2.ProxyEnd(); } private void OnChangeVoiceVolumn() { float volumn = (float)_ui.m_voiceSlider.target.value / 100; UI_Slider2 slider1 = UI_Slider2.Proxy(_ui.m_voiceSlider.target); slider1.m_progressBar.fillAmount = volumn; UI_Slider2.ProxyEnd(); VoiceManager.Instance.SetVolumn(volumn); LocalCache.SetFloat(GameConfig.VOICE_VOLUMN_KEY, volumn); } private void OnChangeMusicVolumn() { float volumn = (float)_ui.m_musicSlider.target.value / 100; UI_Slider2 slider1 = UI_Slider2.Proxy(_ui.m_musicSlider.target); slider1.m_progressBar.fillAmount = volumn; UI_Slider2.ProxyEnd(); MusicManager.Instance.SetSettingVolumn(volumn); MusicManager.Instance.SetVolume(volumn); LocalCache.SetFloat(GameConfig.MUSIC_VOLUMN_KEY, volumn); } private void OnChangeSoundVolumn() { float volumn = (float)_ui.m_soundSlider.target.value / 100; UI_Slider2 slider1 = UI_Slider2.Proxy(_ui.m_soundSlider.target); slider1.m_progressBar.fillAmount = volumn; UI_Slider2.ProxyEnd(); SoundManager.Instance.SetVolumn(volumn); LocalCache.SetFloat(GameConfig.SOUND_VOLUMN_KEY, volumn); } private void OnClickBtnChangeMainBg() { ViewManager.Show(); } private void InitVolumnSetting() { _ui.m_btnMusic.selected = MusicManager.Instance.isOn; _ui.m_musicSlider.target.value = MusicManager.Instance.GetSettingVolumn() * 100; OnClickBtnMusic(); _ui.m_btnSound.selected = SoundManager.Instance.isOn; _ui.m_soundSlider.target.value = GRoot.inst.soundVolume * 100; OnClickBtnSound(); _ui.m_btnVoice.selected = VoiceManager.Instance.isOn; _ui.m_voiceSlider.target.value = VoiceManager.Instance.GetVolumn() * 100; OnClickBtnVoice(); } private void OnClickPhoneBinding() { ViewManager.Show(); } private void OnClickGiftCode() { ViewManager.Show(); } /// /// 初始化上方选择菜单,同步按钮按下和普通状态的文本 /// /// /// private void RenderListType(int index, GObject item) { UI_Button6 button6 = UI_Button6.Proxy(item); button6.m_title1.text = button6.target.title; UI_Button6.ProxyEnd(); } private void OnGameProtectAgreeClick() { FullScreenTextController.Show("event:a"); } private void OnPrivacyAgreeClick() { FullScreenTextController.Show("event:b"); } private void OnChildrenAgreeClick() { FullScreenTextController.Show("event:c"); } } }