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