DatItems don't know about setting fields

This commit is contained in:
Matt Nadareski
2020-12-14 10:11:20 -08:00
parent 8a354e9156
commit f8b9dfa122
44 changed files with 923 additions and 1138 deletions

View File

@@ -1,9 +1,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Xml.Serialization;
using SabreTools.Core;
using SabreTools.Core.Tools;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
@@ -82,51 +80,6 @@ namespace SabreTools.DatItems
#endregion
#region Accessors
/// <inheritdoc/>
public override void SetFields(
Dictionary<DatItemField, string> datItemMappings,
Dictionary<MachineField, string> machineMappings)
{
// Set base fields
base.SetFields(datItemMappings, machineMappings);
// Handle Device-specific fields
if (datItemMappings.Keys.Contains(DatItemField.DeviceType))
DeviceType = datItemMappings[DatItemField.DeviceType].AsDeviceType();
if (datItemMappings.Keys.Contains(DatItemField.Tag))
Tag = datItemMappings[DatItemField.Tag];
if (datItemMappings.Keys.Contains(DatItemField.FixedImage))
FixedImage = datItemMappings[DatItemField.FixedImage];
if (datItemMappings.Keys.Contains(DatItemField.Mandatory))
Mandatory = Utilities.CleanLong(datItemMappings[DatItemField.Mandatory]);
if (datItemMappings.Keys.Contains(DatItemField.Interface))
Interface = datItemMappings[DatItemField.Interface];
if (InstancesSpecified)
{
foreach (Instance instance in Instances)
{
instance.SetFields(datItemMappings, machineMappings);
}
}
if (ExtensionsSpecified)
{
foreach (Extension extension in Extensions)
{
extension.SetFields(datItemMappings, machineMappings);
}
}
}
#endregion
#region Constructors
/// <summary>