using System; using SabreTools.Helper.Data; namespace SabreTools.Helper.Dats { [Serializable] 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; } #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 } }