diff --git a/SabreTools.DatFiles/DatFile.cs b/SabreTools.DatFiles/DatFile.cs
index 23335032..dc037902 100644
--- a/SabreTools.DatFiles/DatFile.cs
+++ b/SabreTools.DatFiles/DatFile.cs
@@ -34,13 +34,13 @@ namespace SabreTools.DatFiles
/// DatItems and related statistics
///
[JsonProperty("items"), XmlElement("items")]
- public ItemDictionary Items { get; set; } = [];
+ public ItemDictionary Items { get; private set; } = [];
///
/// DatItems and related statistics
///
[JsonProperty("items"), XmlElement("items")]
- public ItemDictionaryDB ItemsDB { get; set; } = new ItemDictionaryDB();
+ public ItemDictionaryDB ItemsDB { get; private set; } = new ItemDictionaryDB();
#endregion
@@ -155,6 +155,19 @@ namespace SabreTools.DatFiles
#endregion
+ #region
+
+ ///
+ /// Reset the internal item dictionary
+ ///
+ public void ResetDictionary()
+ {
+ Items = [];
+ ItemsDB = new ItemDictionaryDB();
+ }
+
+ #endregion
+
#region Filtering
///
diff --git a/SabreTools.DatTools/DatFileTool.cs b/SabreTools.DatTools/DatFileTool.cs
index ab042cff..e2416f34 100644
--- a/SabreTools.DatTools/DatFileTool.cs
+++ b/SabreTools.DatTools/DatFileTool.cs
@@ -342,8 +342,7 @@ namespace SabreTools.DatTools
#endif
{
DatFile diffData = DatFile.Create(datHeaders[j]);
- diffData.Items = [];
- diffData.ItemsDB = new ItemDictionaryDB();
+ diffData.ResetDictionary();
FillWithSourceIndex(datFile, diffData, j);
outDatsArray[j] = diffData;
#if NET40_OR_GREATER || NETCOREAPP
@@ -393,8 +392,7 @@ namespace SabreTools.DatTools
dupeData.Header.SetFieldValue(DatHeader.FileNameKey, dupeData.Header.GetStringFieldValue(DatHeader.FileNameKey) + post);
dupeData.Header.SetFieldValue(Models.Metadata.Header.NameKey, dupeData.Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + post);
dupeData.Header.SetFieldValue(Models.Metadata.Header.DescriptionKey, dupeData.Header.GetStringFieldValue(Models.Metadata.Header.DescriptionKey) + post);
- dupeData.Items = [];
- dupeData.ItemsDB = new ItemDictionaryDB();
+ dupeData.ResetDictionary();
watch.Stop();
@@ -494,8 +492,7 @@ namespace SabreTools.DatTools
diffData.Header.SetFieldValue(DatHeader.FileNameKey, diffData.Header.GetStringFieldValue(DatHeader.FileNameKey) + innerpost);
diffData.Header.SetFieldValue(Models.Metadata.Header.NameKey, diffData.Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + innerpost);
diffData.Header.SetFieldValue(Models.Metadata.Header.DescriptionKey, diffData.Header.GetStringFieldValue(Models.Metadata.Header.DescriptionKey) + innerpost);
- diffData.Items = [];
- diffData.ItemsDB = new ItemDictionaryDB();
+ diffData.ResetDictionary();
outDatsArray[j] = diffData;
#if NET40_OR_GREATER || NETCOREAPP
});
@@ -588,8 +585,7 @@ namespace SabreTools.DatTools
outerDiffData.Header.SetFieldValue(DatHeader.FileNameKey, outerDiffData.Header.GetStringFieldValue(DatHeader.FileNameKey) + post);
outerDiffData.Header.SetFieldValue(Models.Metadata.Header.NameKey, outerDiffData.Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + post);
outerDiffData.Header.SetFieldValue(Models.Metadata.Header.DescriptionKey, outerDiffData.Header.GetStringFieldValue(Models.Metadata.Header.DescriptionKey) + post);
- outerDiffData.Items = [];
- outerDiffData.ItemsDB = new ItemDictionaryDB();
+ outerDiffData.ResetDictionary();
watch.Stop();
@@ -718,10 +714,7 @@ namespace SabreTools.DatTools
// Now remove the file dictionary from the source DAT
if (delete)
- {
- addFrom.Items = [];
- addFrom.ItemsDB = new ItemDictionaryDB();
- }
+ addFrom.ResetDictionary();
}
///