using System; using Wabbajack.DTOs; using Wabbajack.Paths; namespace Wabbajack.Compiler; public class CompilerSettings { public bool ModlistIsNSFW { get; set; } public AbsolutePath Source { get; set; } public AbsolutePath Downloads { get; set; } public Game Game { get; set; } public AbsolutePath OutputFile { get; set; } public AbsolutePath ModListImage { get; set; } public bool UseGamePaths { get; set; } public Game[] OtherGames { get; set; } = Array.Empty(); public TimeSpan MaxVerificationTime { get; set; } = TimeSpan.FromMinutes(1); public string ModListName { get; set; } = ""; public string ModListAuthor { get; set; } = ""; public string ModListDescription { get; set; } = ""; public string ModlistReadme { get; set; } = ""; public Uri? ModListWebsite { get; set; } public Version ModlistVersion { get; set; } = Version.Parse("0.0.1.0"); public string[] SelectedProfiles { get; set; } = Array.Empty(); /// /// This file, or files in these folders, are automatically included if they don't match /// any other step /// public RelativePath[] NoMatchInclude { get; set; } = Array.Empty(); /// /// These files are inlined into the modlist /// public RelativePath[] Include { get; set; } = Array.Empty(); public string Profile { get; set; } = ""; public RelativePath[] AlwaysEnabled { get; set; } = Array.Empty(); public string[] OtherProfiles { get; set; } }