/// <summary> /// Constructor for the mod settings window. /// </summary> /// <param name="mod">Mod whose values are to be exposed on screen.</param> public ModSettingsWindow(IUserInterfaceManager uiManager, Mod mod) : base(uiManager) { this.mod = mod; settings = ModSettingsData.Make(mod); settings.SaveDefaults(); settings.LoadLocalValues(); }
/// <summary> /// Constructor for the mod settings window. /// </summary> /// <param name="mod">Mod whose values are to be exposed on screen.</param> /// <param name="liveChange">True if the game is already running.</param> public ModSettingsWindow(IUserInterfaceManager uiManager, Mod mod, bool liveChange = false) : base(uiManager) { this.mod = mod; this.liveChange = liveChange; settings = ModSettingsData.Make(mod); settings.SaveDefaults(); settings.LoadLocalValues(); }
/// <summary> /// Constructor for the mod settings window. /// </summary> /// <param name="mod">Mod whose values are to be exposed on screen.</param> /// <param name="liveChange">True if the game is already running.</param> public ModSettingsWindow(IUserInterfaceManager uiManager, Mod mod, bool liveChange = false) : base(uiManager) { this.mod = mod; this.liveChange = liveChange; // Make room for warning label about applying settings during runtime columnHeight = liveChange ? 155 : 165; settings = ModSettingsData.Make(mod); settings.SaveDefaults(); settings.LoadLocalValues(); }
private void LoadPreset(int index) { // Save current preset if (IsPreset) { data.FillPreset(data.Presets[currentPreset], false); } else { data.SaveDefaults(); } // Load new preset if ((currentPreset = index) != -1) { data.ApplyPreset(data.Presets[currentPreset]); } else { data.RestoreDefaults(); } }
private void Load() { data = ModSettingsData.Make(SettingsPath); data.SaveDefaults(); data.LoadPresets(PresetPath); sections = new ReorderableList(data.Sections, typeof(SectionCollection), true, true, true, true); sections.drawHeaderCallback = Sections_DrawHeaderCallback; sections.drawElementCallback = Sections_DrawElementCallback; sections.elementHeightCallback = Sections_ElementHeightCallback; sections.onAddCallback = Sections_OnAddCallback; sections.onRemoveCallback = Sections_OnRemoveCallback; sections.onReorderCallback = Sections_OnReorderCallback; keys.Clear(); foreach (var section in data.Sections) { ReorderableList key = new ReorderableList(section.Keys, typeof(KeyCollection), true, true, true, true); key.drawHeaderCallback = Keys_DrawHeaderCallback; key.drawElementCallback = Keys_DrawElementCallback; key.elementHeightCallback = Keys_ElementHeightCallback; key.onAddCallback = Keys_OnAddCallback; key.onRemoveCallback = Keys_OnRemoveCallback; keys.Add(key); } presets = new ReorderableList(data.Presets, typeof(Preset), true, true, true, true); presets.drawHeaderCallback = r => presetsExpanded = EditorGUI.Foldout(r, presetsExpanded, "Presets"); presets.drawElementCallback = Presets_DrawElementCallback; presets.elementHeightCallback = x => presetsExpanded ? lineHeight : 0; currentPreset = -1; LoadPreset(-1); data.SyncPresets(); modName = Path.GetFileName(targetPath); localPath = GetLocalPath(targetPath); }