public void LoadUserSettings() { //first we check to see if a settings file exists and if not then we manually, //set all the settings class values and run the save settings function to create a file. if (!File.Exists(Application.persistentDataPath + "/userSettings.json")) { settings.qualityLevel = 3; settings.fullscreen = true; settings.textureQual = QualitySettings.masterTextureLimit; settings.musicVolume = 0.5f; settings.antialiasing = QualitySettings.antiAliasing; settings.vSync = QualitySettings.vSyncCount; settings.resolutionInd = resolutions.Length; settings.FOV = 45; SaveUserSettings(); } //once that is done we load the values from the json file and update all the options values. settings = JsonUtility.FromJson <sSettingsClass>(File.ReadAllText(Application.persistentDataPath + "/userSettings.json")); volumeSlider.value = settings.musicVolume; aaDropdown.value = settings.antialiasing; vSyncDropdown.value = settings.vSync; textureDropdown.value = settings.textureQual; resDropdown.value = settings.resolutionInd; fovSlider.value = settings.FOV; fovPercent.text = fovSlider.value.ToString(); gameQuality.value = settings.qualityLevel; Screen.fullScreen = fullScreenToggle.isOn = settings.fullscreen; QualitySettings.SetQualityLevel(settings.qualityLevel); resDropdown.RefreshShownValue(); gameQuality.RefreshShownValue(); }
private void OnEnable() { //Createing a reference to the settings class. settings = new sSettingsClass(); //Setting up the onValueChanged events. fullScreenToggle.onValueChanged.AddListener(delegate { OnToggleFullscreen(); }); advancedToggle.onValueChanged.AddListener(delegate { OnAdvancedToggle(); }); resDropdown.onValueChanged.AddListener(delegate { OnChangeResolution(); }); gameQuality.onValueChanged.AddListener(delegate { OnChangeGameQuality(); }); textureDropdown.onValueChanged.AddListener(delegate { OnChangeTexture(); }); aaDropdown.onValueChanged.AddListener(delegate { OnChangeAntialiasing(); }); vSyncDropdown.onValueChanged.AddListener(delegate { OnChangeVSync(); }); volumeSlider.onValueChanged.AddListener(delegate { OnChangeVolume(); }); fovSlider.onValueChanged.AddListener(delegate { OnChangeFOV(); }); //Setting up the onClick events. btnApplySettings.onClick.AddListener(delegate { SaveUserSettings(); }); btnResume.onClick.AddListener(delegate { ResumeGame(); }); btnRestart.onClick.AddListener(delegate { RestartGame(); }); btnOptions.onClick.AddListener(delegate { Options(); }); btnEgOptions.onClick.AddListener(delegate { EgOptions(); }); btnReturnToMM.onClick.AddListener(delegate { ReturnToMM(); }); btnEgReturnToMM.onClick.AddListener(delegate { EgReturnToMM(); }); //Make sure that the advanced options are not on. advancedToggle.isOn = false; //create a reference to the resolutions array. resolutions = Screen.resolutions; foreach (Resolution resolution in resolutions) { //add each resolution to the dropdown box. resDropdown.options.Add(new Dropdown.OptionData(resolution.ToString())); } for (int i = 0; i < QualitySettings.names.Length; i++) { //add each quality level to the game quality dropdown box. gameQuality.options.Add(new Dropdown.OptionData(QualitySettings.names[i].ToString())); } //finally we need to load the users settings. LoadUserSettings(); }