/// <summary> /// Sets all settings and UI elements to match /// </summary> /// <param name="settings">Settings to set everything to</param> void UpdateSettings(SettingsInformation settings) { QualitySettings.SetQualityLevel(settings.QualityLevel, true); quality.value = settings.QualityLevel; qualityText.text = QualitySettings.names[settings.QualityLevel]; Resolution res = Screen.resolutions[settings.Resolution]; Screen.SetResolution(res.width, res.height, settings.Windowed); resolution.value = settings.Resolution; Screen.fullScreen = !settings.Windowed; windowed.isOn = settings.Windowed; QualitySettings.vSyncCount = settings.VSync ? 1 : 0; vsync.isOn = settings.VSync; audioMixer.SetFloat("MasterVol", settings.MasterVolume); master.value = settings.MasterVolume; audioMixer.SetFloat("SFXVol", settings.SFXVolume); sfx.value = settings.SFXVolume; audioMixer.SetFloat("BGMVol", settings.BGMVolume); bgm.value = settings.BGMVolume; }
private void Awake() { resolution.maxValue = Screen.resolutions.Length - 1; SettingsInformation oldSettings = SaveManager.XmlLoad <SettingsInformation>(FILENAME); if (oldSettings != default) //If there is any old settings saved on the computer { UpdateSettings(oldSettings); currentSettings = oldSettings; } else //Default values { quality.value = QualitySettings.GetQualityLevel(); qualityText.text = QualitySettings.names[QualitySettings.GetQualityLevel()]; resolution.value = Screen.resolutions.Length - 1; resolutionText.text = Screen.resolutions[(int)resolution.value].ToString().Split('@')[0]; windowed.isOn = false; vsync.isOn = false; SetSlider("MasterVol", master); SetSlider("SFXVol", sfx); SetSlider("BGMVol", bgm); currentSettings = GetCurrentSettings(); } }
/// <summary> /// Saves the chosen settings to file /// </summary> public void Apply() { SettingsInformation newSettings = GetCurrentSettings(); SaveManager.XmlSave(newSettings, FILENAME); currentSettings = newSettings; MainMenu.Instance.BackToMain(); }