using System; using Wabbajack.DTOs.JsonConverters; using Wabbajack.Paths; namespace Wabbajack.DTOs; [JsonName("ModList")] public class ModList { /// /// Archives required by this modlist /// public Archive[] Archives { get; set; } = Array.Empty(); /// /// Author of the ModList /// public string Author { get; set; } = string.Empty; /// /// Description of the ModList /// public string Description { get; set; } = string.Empty; /// /// Install directives /// public Directive[] Directives { get; set; } = Array.Empty(); /// /// The game variant to which this game applies /// public Game GameType { get; set; } /// /// Hash of the banner-image /// public RelativePath Image { get; set; } /// /// Name of the ModList /// public string Name { get; set; } = string.Empty; /// /// URL to the readme /// public string Readme { get; set; } = string.Empty; /// /// The build version of Wabbajack used when compiling the Modlist /// public Version? WabbajackVersion { get; set; } /// /// Website of the ModList /// public Uri? Website { get; set; } /// /// Current Version of the Modlist /// public Version Version { get; set; } = new(1, 0, 0, 0); /// /// Whether the Modlist is NSFW or not /// public bool IsNSFW { get; set; } public ModList Strip() { return new ModList { Author = Author, Description = Description, GameType = GameType, Name = Name, Readme = Readme, WabbajackVersion = WabbajackVersion, Website = Website, Version = Version, IsNSFW = IsNSFW, }; } }