public void LoadOptions() { XmlSerializer serializer = new XmlSerializer(typeof(ControlSettingsSave)); using (FileStream stream = new FileStream(GetSavePath(fileName), FileMode.OpenOrCreate)) { try { Save = (ControlSettingsSave)serializer.Deserialize(stream); // Controls MouseXSlider.value = Save.ControlMouseXSensitivity; MouseYSlider.value = Save.ControlMouseYSensitivity; InvertedMouseXDropdown.value = Save.ControlInvertedMouseX; InvertedMouseYDropdown.value = Save.ControlInvertedMouseY; DoubleTapDodgeDropdown.value = Save.ControlDoubleTapDodge; WeaponSwitchScrollInfiniteDropdown.value = Save.ControlWeaponSwitchInfiniteScroll; Apply(); } catch (Exception) { stream.Close(); Apply(); SaveOptions(); Debug.Log("Could not open settings."); } } }
public void Setup(ControlSettingsSave save) { Save = save; // Inverted Mouse X InvertedMouseXDropdown.ClearOptions(); List <TMP_Dropdown.OptionData> invertedMouseXOptions = new List <TMP_Dropdown.OptionData>() { new TMP_Dropdown.OptionData("Off"), new TMP_Dropdown.OptionData("On"), }; InvertedMouseXDropdown.AddOptions(invertedMouseXOptions); // Inverted Mouse Y InvertedMouseYDropdown.ClearOptions(); List <TMP_Dropdown.OptionData> invertedMouseYOptions = new List <TMP_Dropdown.OptionData>() { new TMP_Dropdown.OptionData("Off"), new TMP_Dropdown.OptionData("On"), }; InvertedMouseYDropdown.AddOptions(invertedMouseYOptions); // Double Tap Dodge DoubleTapDodgeDropdown.ClearOptions(); List <TMP_Dropdown.OptionData> doubleTapOptions = new List <TMP_Dropdown.OptionData>() { new TMP_Dropdown.OptionData("Off"), new TMP_Dropdown.OptionData("On") }; DoubleTapDodgeDropdown.AddOptions(doubleTapOptions); // Weapon Switch Scroll Infinite WeaponSwitchScrollInfiniteDropdown.ClearOptions(); List <TMP_Dropdown.OptionData> scrollInfinitepOptions = new List <TMP_Dropdown.OptionData>() { new TMP_Dropdown.OptionData("Off"), new TMP_Dropdown.OptionData("On") }; WeaponSwitchScrollInfiniteDropdown.AddOptions(scrollInfinitepOptions); }
private void Start() { // Disable feedback text FeedbackText.SetText(string.Empty); FeedbackText.transform.parent.gameObject.SetActive(false); //Creates an empty settings file to load. This is because it will return null reference exceptions if it's not done first. DisplaySave = new DisplaySettingsSave(); SoundSave = new SoundSettingsSave(); ControlSave = new ControlSettingsSave(); InputSave = new InputSettingsSave(); // Setup buttons ButtonDisplay.interactable = false; // Set the display to be interactable by default ButtonDisplay.onClick.AddListener(delegate { PanelDisplay.SetActive(true); PanelSound.SetActive(false); PanelControls.SetActive(false); ButtonDisplay.interactable = false; ButtonSound.interactable = true; ButtonControls.interactable = true; }); ButtonSound.onClick.AddListener(delegate { PanelDisplay.SetActive(false); PanelSound.SetActive(true); PanelControls.SetActive(false); ButtonDisplay.interactable = true; ButtonSound.interactable = false; ButtonControls.interactable = true; }); ButtonControls.onClick.AddListener(delegate { PanelDisplay.SetActive(false); PanelSound.SetActive(false); PanelControls.SetActive(true); ButtonDisplay.interactable = true; ButtonSound.interactable = true; ButtonControls.interactable = false; }); // Get components DisplaySettings = PanelDisplay.GetComponent <DisplaySettings>(); SoundSettings = PanelSound.GetComponent <SoundSettings>(); ControlSettings = PanelControls.GetComponent <ControlSettings>(); InputSettings = PanelControls.GetComponent <InputSettings>(); // Set the default screen PanelDisplay.SetActive(true); PanelSound.SetActive(false); PanelControls.SetActive(false); // Setup Options LoadSettings(); }