Color sectionTitleColor    = new Color(0.16f, 0.26f, 1, 1);     // light blue

        #endregion

        #region Setup

        /// <summary>
        /// Setup the panel.
        /// </summary>
        protected override void Setup()
        {
            // Set path
            path = Path.Combine(Mod.DirPath, Mod.FileName + ".ini");

            // Default settings
            defaultSettings = ModSettingsReader.GetDefaultSettings(Mod);

            // Presets
            presets = ModSettingsReader.GetPresets(Mod);

            // Add panel
            ParentPanel.BackgroundColor          = Color.clear;
            modSettingsPanel.BackgroundColor     = panelBackgroundColor;
            modSettingsPanel.Outline.Enabled     = true;
            modSettingsPanel.HorizontalAlignment = HorizontalAlignment.Center;
            modSettingsPanel.Position            = new Vector2(0, 8);
            modSettingsPanel.Size = new Vector2(320, 175);
            NativePanel.Components.Add(modSettingsPanel);
            InitPanel();
        }
Пример #2
0
        /// <summary>
        /// Import settings for Mod.
        /// </summary>
        /// <param name="mod">Mod to load settings for.</param>
        /// <returns></returns>
        public ModSettings(Mod mod)
        {
            Mod  = mod;
            path = Path.Combine(mod.DirPath, Mod.FileName + ".ini");

            // Read default settings
            defaultSettings = ModSettingsReader.GetDefaultSettings(Mod);

            // Read user settings
            if (File.Exists(path))
            {
                userSettings = parser.ReadFile(path);
                ModSettingsReader.UpdateSettings(ref userSettings, defaultSettings, Mod);
            }
            else
            {
                // Create settings file with default values
                userSettings = defaultSettings;
                parser.WriteFile(path, defaultSettings);
                Debug.Log(Mod.Title + ": failed to read " + path + "." + Mod.FileName + ": A new " + Mod.FileName
                          + ".ini has been recreated with default settings");
            }
        }