mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Move ItemType to untyped base class
This commit is contained in:
@@ -84,6 +84,11 @@ namespace SabreTools.DatItems
|
|||||||
|
|
||||||
#region Fields
|
#region Fields
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Item type for the object
|
||||||
|
/// </summary>
|
||||||
|
protected abstract ItemType ItemType { get; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Internal model wrapped by this DatItem
|
/// Internal model wrapped by this DatItem
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -703,14 +708,8 @@ namespace SabreTools.DatItems
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public abstract class DatItem<T> : DatItem, IEquatable<DatItem<T>>, IComparable<DatItem<T>>, ICloneable where T : Models.Metadata.DatItem
|
public abstract class DatItem<T> : DatItem, IEquatable<DatItem<T>>, IComparable<DatItem<T>>, ICloneable where T : Models.Metadata.DatItem
|
||||||
{
|
{
|
||||||
// TODO: Move to base class after implementation
|
|
||||||
#region Fields
|
#region Fields
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Item type for the object
|
|
||||||
/// </summary>
|
|
||||||
protected abstract ItemType ItemType { get; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Key for accessing the item name, if it exists
|
/// Key for accessing the item name, if it exists
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -765,7 +764,6 @@ namespace SabreTools.DatItems
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
// TODO: Figure out how to replace individual versions with this
|
|
||||||
#region Cloning Methods
|
#region Cloning Methods
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -12,6 +12,9 @@ namespace SabreTools.DatItems.Formats
|
|||||||
{
|
{
|
||||||
#region Fields
|
#region Fields
|
||||||
|
|
||||||
|
/// <inheritdoc>/>
|
||||||
|
protected override ItemType ItemType => ItemType.Archive;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Archive ID number
|
/// Archive ID number
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -89,7 +92,7 @@ namespace SabreTools.DatItems.Formats
|
|||||||
_internal = new Models.Metadata.Archive();
|
_internal = new Models.Metadata.Archive();
|
||||||
|
|
||||||
SetName(string.Empty);
|
SetName(string.Empty);
|
||||||
SetFieldValue<ItemType>(Models.Metadata.DatItem.TypeKey, ItemType.Archive);
|
SetFieldValue<ItemType>(Models.Metadata.DatItem.TypeKey, ItemType);
|
||||||
SetFieldValue<Machine>(DatItem.MachineKey, new Machine());
|
SetFieldValue<Machine>(DatItem.MachineKey, new Machine());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -100,7 +103,7 @@ namespace SabreTools.DatItems.Formats
|
|||||||
{
|
{
|
||||||
_internal = item;
|
_internal = item;
|
||||||
|
|
||||||
SetFieldValue<ItemType>(Models.Metadata.DatItem.TypeKey, ItemType.Archive);
|
SetFieldValue<ItemType>(Models.Metadata.DatItem.TypeKey, ItemType);
|
||||||
SetFieldValue<Machine>(DatItem.MachineKey, new Machine());
|
SetFieldValue<Machine>(DatItem.MachineKey, new Machine());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,13 @@ namespace SabreTools.DatItems.Formats
|
|||||||
[JsonObject("blank"), XmlRoot("blank")]
|
[JsonObject("blank"), XmlRoot("blank")]
|
||||||
public sealed class Blank : DatItem
|
public sealed class Blank : DatItem
|
||||||
{
|
{
|
||||||
|
#region Fields
|
||||||
|
|
||||||
|
/// <inheritdoc>/>
|
||||||
|
protected override ItemType ItemType => ItemType.Blank;
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
#region Constructors
|
#region Constructors
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -17,7 +24,7 @@ namespace SabreTools.DatItems.Formats
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public Blank()
|
public Blank()
|
||||||
{
|
{
|
||||||
SetFieldValue<ItemType>(Models.Metadata.DatItem.TypeKey, ItemType.Blank);
|
SetFieldValue<ItemType>(Models.Metadata.DatItem.TypeKey, ItemType);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
@@ -27,6 +27,9 @@ namespace SabreTools.DatItems.Formats
|
|||||||
|
|
||||||
#region Fields
|
#region Fields
|
||||||
|
|
||||||
|
/// <inheritdoc>/>
|
||||||
|
protected override ItemType ItemType => ItemType.File;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// ID value
|
/// ID value
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -100,7 +103,7 @@ namespace SabreTools.DatItems.Formats
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public File()
|
public File()
|
||||||
{
|
{
|
||||||
SetFieldValue<ItemType>(Models.Metadata.DatItem.TypeKey, ItemType.File);
|
SetFieldValue<ItemType>(Models.Metadata.DatItem.TypeKey, ItemType);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -114,7 +117,7 @@ namespace SabreTools.DatItems.Formats
|
|||||||
_sha1 = baseFile.SHA1;
|
_sha1 = baseFile.SHA1;
|
||||||
_sha256 = baseFile.SHA256;
|
_sha256 = baseFile.SHA256;
|
||||||
|
|
||||||
SetFieldValue<ItemType>(Models.Metadata.DatItem.TypeKey, ItemType.File);
|
SetFieldValue<ItemType>(Models.Metadata.DatItem.TypeKey, ItemType);
|
||||||
SetFieldValue<DupeType>(DatItem.DupeTypeKey, 0x00);
|
SetFieldValue<DupeType>(DatItem.DupeTypeKey, 0x00);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,9 @@ namespace SabreTools.DatItems.Formats
|
|||||||
{
|
{
|
||||||
#region Fields
|
#region Fields
|
||||||
|
|
||||||
|
/// <inheritdoc>/>
|
||||||
|
protected override ItemType ItemType => ItemType.ReleaseDetails;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Id value
|
/// Id value
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -113,7 +116,7 @@ namespace SabreTools.DatItems.Formats
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public ReleaseDetails()
|
public ReleaseDetails()
|
||||||
{
|
{
|
||||||
SetFieldValue<ItemType>(Models.Metadata.DatItem.TypeKey, ItemType.ReleaseDetails);
|
SetFieldValue<ItemType>(Models.Metadata.DatItem.TypeKey, ItemType);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
@@ -13,6 +13,9 @@ namespace SabreTools.DatItems.Formats
|
|||||||
{
|
{
|
||||||
#region Fields
|
#region Fields
|
||||||
|
|
||||||
|
/// <inheritdoc>/>
|
||||||
|
protected override ItemType ItemType => ItemType.Serials;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Digital serial 1 value
|
/// Digital serial 1 value
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -106,7 +109,7 @@ namespace SabreTools.DatItems.Formats
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public Serials()
|
public Serials()
|
||||||
{
|
{
|
||||||
SetFieldValue<ItemType>(Models.Metadata.DatItem.TypeKey, ItemType.Serials);
|
SetFieldValue<ItemType>(Models.Metadata.DatItem.TypeKey, ItemType);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
@@ -13,6 +13,9 @@ namespace SabreTools.DatItems.Formats
|
|||||||
{
|
{
|
||||||
#region Fields
|
#region Fields
|
||||||
|
|
||||||
|
/// <inheritdoc>/>
|
||||||
|
protected override ItemType ItemType => ItemType.SourceDetails;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Id value
|
/// Id value
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user