Deal with strings that aren't strings

This commit is contained in:
Matt Nadareski
2024-03-11 16:26:28 -04:00
parent eb9075e47e
commit 482746995f
27 changed files with 192 additions and 537 deletions

View File

@@ -1,6 +1,7 @@
using System.Xml.Serialization;
using Newtonsoft.Json;
using SabreTools.Core;
using SabreTools.Core.Tools;
// TODO: Add item mappings for all fields
namespace SabreTools.DatItems.Formats
@@ -140,7 +141,7 @@ namespace SabreTools.DatItems.Formats
serials.SetFieldValue<Machine>(DatItem.MachineKey, GetFieldValue<Machine>(DatItem.MachineKey));
serials.SetFieldValue<bool?>(DatItem.RemoveKey, GetBoolFieldValue(DatItem.RemoveKey));
serials.SetFieldValue<Source?>(DatItem.SourceKey, GetFieldValue<Source?>(DatItem.SourceKey));
serials.SetFieldValue<ItemType>(Models.Metadata.DatItem.TypeKey, GetFieldValue<ItemType>(Models.Metadata.DatItem.TypeKey));
serials.SetFieldValue<string?>(Models.Metadata.DatItem.TypeKey, GetStringFieldValue(Models.Metadata.DatItem.TypeKey).AsEnumValue<ItemType>().AsStringValue());
return serials;
}
@@ -153,7 +154,7 @@ namespace SabreTools.DatItems.Formats
public override bool Equals(DatItem? other)
{
// If we don't have a Serials, return false
if (GetFieldValue<ItemType>(Models.Metadata.DatItem.TypeKey) != other?.GetFieldValue<ItemType>(Models.Metadata.DatItem.TypeKey))
if (GetStringFieldValue(Models.Metadata.DatItem.TypeKey) != other?.GetStringFieldValue(Models.Metadata.DatItem.TypeKey))
return false;
// Otherwise, treat it as a Serials