Esempio n. 1
0
        /// <summary>
        /// Save local settings to disk.
        /// </summary>
        public void Save()
        {
            var values = new SettingsValues();

            FillPreset(values, true);
            Serialize(SettingsPath, values);
        }
Esempio n. 2
0
        /// <summary>
        /// Save a copy of current values which can be restored later.
        /// </summary>
        public void SaveDefaults()
        {
            if (defaultValues == null)
            {
                defaultValues = new SettingsValues();
            }

            FillPreset(defaultValues, true);
        }
Esempio n. 3
0
        /// <summary>
        /// Deserialize local values from disk. Be sure to save defaults before if needed.
        /// </summary>
        public void LoadLocalValues()
        {
            var    settings = new SettingsValues();
            string path     = SettingsPath;

            if (TryDeserialize(path, ref settings) && IsCompatible(settings))
            {
                // Apply local values
                ApplyPreset(settings);
            }
            else
            {
                // Save to disk default values
                Save();
                Debug.LogFormat("Settings for {0} are missing or incompatible with current version. " +
                                "New settings have been recreated with default values", mod.Title);
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Deserialize local values from disk. Be sure to save defaults before if needed.
        /// </summary>
        public void LoadLocalValues()
        {
            var settings = new SettingsValues();

            Directory.CreateDirectory(mod.ConfigurationDirectory);
            if (File.Exists(LegacySettingsPath))
            {
                ModManager.MoveOldConfigFile(LegacySettingsPath, SettingsPath);
            }

            if (TryDeserialize(SettingsPath, ref settings) && IsCompatible(settings))
            {
                // Apply local values
                ApplyPreset(settings);
            }
            else
            {
                // Save to disk default values
                Save();
                Debug.LogFormat("Settings for {0} are missing or incompatible with current version. " +
                                "New settings have been recreated with default values", mod.Title);
            }
        }