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(); } ///