Files
Matt Nadareski 7689c6dd07 Libraries
This change looks dramatic, but it's just separating out the already-split namespaces into separate top-level folders. In theory, every single one could be built into their own Nuget package. `SabreTools.Serialization` still builds the normal Nuget package that is used by all other projects and includes all namespaces.
2026-03-21 16:26:56 -04:00

85 lines
2.3 KiB
C#

namespace SabreTools.Data.Models.ClrMamePro
{
/// <summary>
/// Base class to unify the various game-like types
/// </summary>
public abstract class GameBase
{
/// <remarks>name</remarks>
[Required]
public string? Name { get; set; }
/// <remarks>description</remarks>
public string? Description { get; set; }
/// <remarks>year</remarks>
public string? Year { get; set; }
/// <remarks>manufacturer</remarks>
public string? Manufacturer { get; set; }
/// <remarks>category</remarks>
public string? Category { get; set; }
/// <remarks>cloneof</remarks>
public string? CloneOf { get; set; }
/// <remarks>romof</remarks>
public string? RomOf { get; set; }
/// <remarks>sampleof</remarks>
public string? SampleOf { get; set; }
/// <remarks>release</remarks>
public Release[]? Release { get; set; }
/// <remarks>biosset</remarks>
public BiosSet[]? BiosSet { get; set; }
/// <remarks>rom</remarks>
public Rom[]? Rom { get; set; }
/// <remarks>disk</remarks>
public Disk[]? Disk { get; set; }
/// <remarks>sample</remarks>
public Sample[]? Sample { get; set; }
/// <remarks>archive</remarks>
public Archive[]? Archive { get; set; }
#region Aaru Extensions
/// <remarks>media, Appears after Disk</remarks>
public Media[]? Media { get; set; }
#endregion
#region MAME Extensions
/// <remarks>status, (good|imperfect|preliminary), Appears after Description</remarks>
public string? DriverStatus { get; set; }
/// <remarks>chip, Appears after Archive</remarks>
public Chip[]? Chip { get; set; }
/// <remarks>video, Appears after Chip</remarks>
public Video[]? Video { get; set; }
/// <remarks>sound, Appears after Video</remarks>
public Sound? Sound { get; set; }
/// <remarks>input, Appears after Sound</remarks>
public Input? Input { get; set; }
/// <remarks>dipswitch, Appears after Input</remarks>
public DipSwitch[]? DipSwitch { get; set; }
/// <remarks>driver, Appears after DipSwitch</remarks>
public Driver? Driver { get; set; }
#endregion
}
}