namespace SabreTools.Helper { public class Release : DatItem { #region Private instance variables private string _region; private string _language; private string _date; private bool? _default; #endregion #region Publicly facing variables public string Region { get { return _region; } set { _region = value; } } public string Language { get { return _language; } set { _language = value; } } public string Date { get { return _date; } set { _date = value; } } public bool? Default { get { return _default; } set { _default = value; } } #endregion #region Constructors /// /// Create a default, empty Release object /// public Release() { _name = ""; _itemType = ItemType.Release; _region = ""; _language = ""; _date = ""; _default = null; } /// /// Create a new Release object with the included information /// /// Name of the item, including extension /// Region of the item /// Language of the item /// String representation of the Date /// True if this is the default BIOS, false if it is not, null for undefined public Release(string name, string region, string language, string date, bool? @default) { _name = name; _itemType = ItemType.Release; _region = region; _language = language; _date = date; _default = @default; } /// /// Create a new Release object with the included information /// /// Name of the item, including extension /// Region of the item /// Language of the item /// String representation of the Date /// True if this is the default BIOS, false if it is not, null for undefined /// Name for the machine/game /// Comment for the machine/game /// Description for the machine/game /// Year for the machine/game /// Manufacturer name for the machine/game /// Set that this machine/game is a rom of /// Set that this machine/game is a clone of /// Set that this machine/game is a sample of /// Source file for the machine/game /// True if this game is a BIOS, false otherwise /// Name of the board for this machine/game /// Name of the game to rebuild to /// System ID to be associated with /// System Name to be associated with /// Source ID to be associated with /// Source Name to be associated with public Release(string name, string region, string language, string date, bool? @default, string machineName, string comment, string machineDescription, string year, string manufacturer, string romOf, string cloneOf, string sampleOf, string sourceFile, bool isBios, string board, string rebuildTo, int systemId, string systemName, int sourceId, string sourceName) { _name = name; _itemType = ItemType.Release; _region = region; _language = language; _date = date; _default = @default; _machineName = machineName; _comment = comment; _machineDescription = machineDescription; _year = year; _manufacturer = manufacturer; _romOf = romOf; _cloneOf = cloneOf; _sampleOf = sampleOf; _sourceFile = sourceFile; _isBios = isBios; _board = board; _rebuildTo = rebuildTo; _systemId = systemId; _systemName = systemName; _sourceId = sourceId; _sourceName = sourceName; } #endregion #region Comparision Methods public override bool Equals(DatItem other) { // If we don't have a release return false if (_itemType != other.Type) { return false; } // Otherwise, treat it as a reease Release newOther = (Release)other; // If the archive information matches return (_name == newOther.Name && _region == newOther.Region && _language == newOther.Language && _date == newOther.Date && _default == newOther.Default); } #endregion } }