namespace SabreTools.Models.ClrMamePro { /// /// Base class to unify the various game-like types /// public abstract class GameBase { /// name public string Name { get; set; } /// description public string? Description { get; set; } /// year public string? Year { get; set; } /// manufacturer public string? Manufacturer { get; set; } /// category public string? Category { get; set; } /// cloneof public string? CloneOf { get; set; } /// romof public string? RomOf { get; set; } /// sampleof public string? SampleOf { get; set; } /// release public Release[]? Release { get; set; } /// biosset public BiosSet[]? BiosSet { get; set; } /// rom public Rom[]? Rom { get; set; } /// disk public Disk[]? Disk { get; set; } /// sample public Sample[]? Sample { get; set; } /// archive public Archive[]? Archive { get; set; } #region Aaru Extensions /// media, Appears after Disk public Media[]? Media { get; set; } #endregion #region MAME Extensions /// chip, Appears after Archive public Chip[]? Chip { get; set; } /// video, Appears after Chip public Video[]? Video { get; set; } /// sound, Appears after Video public Sound? Sound { get; set; } /// input, Appears after Sound public Input? Input { get; set; } /// dipswitch, Appears after Input public DipSwitch[]? DipSwitch { get; set; } /// driver, Appears after DipSwitch public Driver? Driver { get; set; } #endregion #region DO NOT USE IN PRODUCTION /// Should be empty public string[]? ADDITIONAL_ELEMENTS { get; set; } #endregion } }