コード例 #1
0
        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.");
                }
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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();
        }