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;
}