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(); }
/// <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"); } }