namespace SabreTools.Helper
{
public class Archive : DatItem
{
#region Constructors
///
/// Create a default, empty Archive object
///
public Archive()
{
_name = "";
_itemType = ItemType.Archive;
}
///
/// Create a new Archive object with the included information
///
/// Name of the item, including extension
public Archive(string name)
{
_name = name;
_itemType = ItemType.Archive;
}
///
/// Create a new Archive object with the included information
///
/// Name of the item, including extension
/// 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 Archive(string name, 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.Archive;
_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 an archive, return false
if (_itemType != other.Type)
{
return false;
}
// Otherwise, treat it as an archive
Archive newOther = (Archive)other;
// If the archive information matches
return (_name == newOther.Name);
}
#endregion
}
}