using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace TBMM { public class ModInfo { public string Name { get; set; } /// /// Installed version. Can be null. /// public Version Version { get; set; } public Version LatestVersion { get; set; } /// /// Can be null. /// public string Description { get; set; } /// /// Can be null. /// public string Author { get; set; } /// /// The time when the mod was last updated by its author. /// public DateTime LastUpdated { get; set; } public bool Installed => Version != null; public string DownloadURL { get; set; } public HashSet ModFiles { get; set; } public string UpdateDetails { get; set; } public bool Updatable => Version != null && LatestVersion != null && Version < LatestVersion; public bool? Broken { get; set; } public bool Outdated(DateTime lastGameUpdateTime) => LastUpdated != default && LastUpdated < lastGameUpdateTime; } }