using System.IO; namespace SpdUp.Models; /// /// Represents a detected or manually-added game. /// public sealed class GameEntry { public string Name { get; set; } = string.Empty; public string ExecutablePath { get; set; } = string.Empty; public string ProcessName { get; set; } = string.Empty; public string LauncherSource { get; set; } = "Manual"; public string? IconPath { get; set; } public bool AutoBoost { get; set; } = true; public BoostProfile Profile { get; set; } = new(); /// Derive the process name from the executable path. public static string ProcessNameFromPath(string exePath) => Path.GetFileNameWithoutExtension(exePath); } /// /// Per-game boost profile overrides. /// public sealed class BoostProfile { public bool CleanRam { get; set; } = true; public bool SetHighPriority { get; set; } = true; public bool ReduceTimerResolution { get; set; } = true; public bool StopServices { get; set; } = true; public bool OptimizeNetwork { get; set; } = false; }