From 845babdff596a33900078754e82100de8a25ba8d Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 30 Jan 2025 14:05:12 -0500 Subject: [PATCH] Take care of 2 minor TODOs --- SabreTools.DatFiles.Test/DatHeaderTests.cs | 6 ------ SabreTools.DatFiles/DatFile.cs | 6 ++---- SabreTools.DatFiles/DatHeader.cs | 12 ++++++++++++ 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/SabreTools.DatFiles.Test/DatHeaderTests.cs b/SabreTools.DatFiles.Test/DatHeaderTests.cs index f8da2c5d..66100bcc 100644 --- a/SabreTools.DatFiles.Test/DatHeaderTests.cs +++ b/SabreTools.DatFiles.Test/DatHeaderTests.cs @@ -112,12 +112,6 @@ namespace SabreTools.DatFiles.Test #endregion - #region Constructor - - // TODO: Add Constructor from model tests - - #endregion - #region Clone [Fact] diff --git a/SabreTools.DatFiles/DatFile.cs b/SabreTools.DatFiles/DatFile.cs index b9a973f6..f0c1739e 100644 --- a/SabreTools.DatFiles/DatFile.cs +++ b/SabreTools.DatFiles/DatFile.cs @@ -28,9 +28,8 @@ namespace SabreTools.DatFiles /// /// Modifier values /// - /// TODO: Make this private set [JsonProperty("modifiers"), XmlElement("modifiers")] - public DatModifiers Modifiers { get; set; } = new DatModifiers(); + public DatModifiers Modifiers { get; private set; } = new DatModifiers(); /// /// DatItems and related statistics @@ -151,9 +150,8 @@ namespace SabreTools.DatFiles /// Replacement header to be used public void SetHeader(DatHeader? datHeader) { - // TODO: Figure out why clone loses data here if (datHeader != null) - Header = datHeader; + Header = (DatHeader)datHeader.Clone(); } /// diff --git a/SabreTools.DatFiles/DatHeader.cs b/SabreTools.DatFiles/DatHeader.cs index 05a270c1..0aa1038d 100644 --- a/SabreTools.DatFiles/DatHeader.cs +++ b/SabreTools.DatFiles/DatHeader.cs @@ -109,6 +109,18 @@ namespace SabreTools.DatFiles _internal[fieldName] = header[fieldName]; } } + + // Get all no-filter fields + if (header.ContainsKey(Models.Metadata.Header.CanOpenKey)) + _internal[Models.Metadata.Header.CanOpenKey] = header[Models.Metadata.Header.CanOpenKey]; + if (header.ContainsKey(Models.Metadata.Header.ImagesKey)) + _internal[Models.Metadata.Header.ImagesKey] = header[Models.Metadata.Header.ImagesKey]; + if (header.ContainsKey(Models.Metadata.Header.InfosKey)) + _internal[Models.Metadata.Header.InfosKey] = header[Models.Metadata.Header.InfosKey]; + if (header.ContainsKey(Models.Metadata.Header.NewDatKey)) + _internal[Models.Metadata.Header.NewDatKey] = header[Models.Metadata.Header.NewDatKey]; + if (header.ContainsKey(Models.Metadata.Header.SearchKey)) + _internal[Models.Metadata.Header.SearchKey] = header[Models.Metadata.Header.SearchKey]; } #endregion