diff --git a/SabreTools.DatItems/DatItem.cs b/SabreTools.DatItems/DatItem.cs
index f701153d..539ee348 100644
--- a/SabreTools.DatItems/DatItem.cs
+++ b/SabreTools.DatItems/DatItem.cs
@@ -84,6 +84,11 @@ namespace SabreTools.DatItems
#region Fields
+ ///
+ /// Item type for the object
+ ///
+ protected abstract ItemType ItemType { get; }
+
///
/// Internal model wrapped by this DatItem
///
@@ -703,14 +708,8 @@ namespace SabreTools.DatItems
///
public abstract class DatItem : DatItem, IEquatable>, IComparable>, ICloneable where T : Models.Metadata.DatItem
{
- // TODO: Move to base class after implementation
#region Fields
- ///
- /// Item type for the object
- ///
- protected abstract ItemType ItemType { get; }
-
///
/// Key for accessing the item name, if it exists
///
@@ -765,7 +764,6 @@ namespace SabreTools.DatItems
#endregion
- // TODO: Figure out how to replace individual versions with this
#region Cloning Methods
///
diff --git a/SabreTools.DatItems/Formats/Archive.cs b/SabreTools.DatItems/Formats/Archive.cs
index 5dd7a184..a3a31116 100644
--- a/SabreTools.DatItems/Formats/Archive.cs
+++ b/SabreTools.DatItems/Formats/Archive.cs
@@ -12,6 +12,9 @@ namespace SabreTools.DatItems.Formats
{
#region Fields
+ /// />
+ protected override ItemType ItemType => ItemType.Archive;
+
///
/// Archive ID number
///
@@ -89,7 +92,7 @@ namespace SabreTools.DatItems.Formats
_internal = new Models.Metadata.Archive();
SetName(string.Empty);
- SetFieldValue(Models.Metadata.DatItem.TypeKey, ItemType.Archive);
+ SetFieldValue(Models.Metadata.DatItem.TypeKey, ItemType);
SetFieldValue(DatItem.MachineKey, new Machine());
}
@@ -100,7 +103,7 @@ namespace SabreTools.DatItems.Formats
{
_internal = item;
- SetFieldValue(Models.Metadata.DatItem.TypeKey, ItemType.Archive);
+ SetFieldValue(Models.Metadata.DatItem.TypeKey, ItemType);
SetFieldValue(DatItem.MachineKey, new Machine());
}
diff --git a/SabreTools.DatItems/Formats/Blank.cs b/SabreTools.DatItems/Formats/Blank.cs
index a099c560..81b1b8cc 100644
--- a/SabreTools.DatItems/Formats/Blank.cs
+++ b/SabreTools.DatItems/Formats/Blank.cs
@@ -10,6 +10,13 @@ namespace SabreTools.DatItems.Formats
[JsonObject("blank"), XmlRoot("blank")]
public sealed class Blank : DatItem
{
+ #region Fields
+
+ /// />
+ protected override ItemType ItemType => ItemType.Blank;
+
+ #endregion
+
#region Constructors
///
@@ -17,7 +24,7 @@ namespace SabreTools.DatItems.Formats
///
public Blank()
{
- SetFieldValue(Models.Metadata.DatItem.TypeKey, ItemType.Blank);
+ SetFieldValue(Models.Metadata.DatItem.TypeKey, ItemType);
}
#endregion
diff --git a/SabreTools.DatItems/Formats/File.cs b/SabreTools.DatItems/Formats/File.cs
index 2dc60a3f..571ff5a9 100644
--- a/SabreTools.DatItems/Formats/File.cs
+++ b/SabreTools.DatItems/Formats/File.cs
@@ -27,6 +27,9 @@ namespace SabreTools.DatItems.Formats
#region Fields
+ /// />
+ protected override ItemType ItemType => ItemType.File;
+
///
/// ID value
///
@@ -100,7 +103,7 @@ namespace SabreTools.DatItems.Formats
///
public File()
{
- SetFieldValue(Models.Metadata.DatItem.TypeKey, ItemType.File);
+ SetFieldValue(Models.Metadata.DatItem.TypeKey, ItemType);
}
///
@@ -114,7 +117,7 @@ namespace SabreTools.DatItems.Formats
_sha1 = baseFile.SHA1;
_sha256 = baseFile.SHA256;
- SetFieldValue(Models.Metadata.DatItem.TypeKey, ItemType.File);
+ SetFieldValue(Models.Metadata.DatItem.TypeKey, ItemType);
SetFieldValue(DatItem.DupeTypeKey, 0x00);
}
diff --git a/SabreTools.DatItems/Formats/ReleaseDetails.cs b/SabreTools.DatItems/Formats/ReleaseDetails.cs
index 587e6477..8585dd71 100644
--- a/SabreTools.DatItems/Formats/ReleaseDetails.cs
+++ b/SabreTools.DatItems/Formats/ReleaseDetails.cs
@@ -13,6 +13,9 @@ namespace SabreTools.DatItems.Formats
{
#region Fields
+ /// />
+ protected override ItemType ItemType => ItemType.ReleaseDetails;
+
///
/// Id value
///
@@ -113,7 +116,7 @@ namespace SabreTools.DatItems.Formats
///
public ReleaseDetails()
{
- SetFieldValue(Models.Metadata.DatItem.TypeKey, ItemType.ReleaseDetails);
+ SetFieldValue(Models.Metadata.DatItem.TypeKey, ItemType);
}
#endregion
diff --git a/SabreTools.DatItems/Formats/Serials.cs b/SabreTools.DatItems/Formats/Serials.cs
index 051d67d8..e7614467 100644
--- a/SabreTools.DatItems/Formats/Serials.cs
+++ b/SabreTools.DatItems/Formats/Serials.cs
@@ -13,6 +13,9 @@ namespace SabreTools.DatItems.Formats
{
#region Fields
+ /// />
+ protected override ItemType ItemType => ItemType.Serials;
+
///
/// Digital serial 1 value
///
@@ -106,7 +109,7 @@ namespace SabreTools.DatItems.Formats
///
public Serials()
{
- SetFieldValue(Models.Metadata.DatItem.TypeKey, ItemType.Serials);
+ SetFieldValue(Models.Metadata.DatItem.TypeKey, ItemType);
}
#endregion
diff --git a/SabreTools.DatItems/Formats/SourceDetails.cs b/SabreTools.DatItems/Formats/SourceDetails.cs
index feabc857..bc5f752f 100644
--- a/SabreTools.DatItems/Formats/SourceDetails.cs
+++ b/SabreTools.DatItems/Formats/SourceDetails.cs
@@ -13,6 +13,9 @@ namespace SabreTools.DatItems.Formats
{
#region Fields
+ /// />
+ protected override ItemType ItemType => ItemType.SourceDetails;
+
///
/// Id value
///