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 ///