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;
@@ -51,63 +49,6 @@ namespace SabreTools.DatItems
#endregion
#region Accessors
/// <inheritdoc/>
public override void SetFields(
Dictionary<DatItemField, string> datItemMappings,
Dictionary<MachineField, string> machineMappings)
{
SetFields(datItemMappings, machineMappings, false);
}
/// <summary>
/// Set fields with given values
/// </summary>
/// <param name="datItemMappings">DatItem mappings dictionary</param>
/// <param name="machineMappings">Machine mappings dictionary</param>
/// <param name="sub">True if this is a subitem, false otherwise</param>
public void SetFields(
Dictionary<DatItemField, string> datItemMappings,
Dictionary<MachineField, string> machineMappings,
bool sub)
{
// Set base fields
base.SetFields(datItemMappings, machineMappings);
// Handle Condition-specific fields
if (sub)
{
if (datItemMappings.Keys.Contains(DatItemField.Condition_Tag))
Tag = datItemMappings[DatItemField.Condition_Tag];
if (datItemMappings.Keys.Contains(DatItemField.Condition_Mask))
Mask = datItemMappings[DatItemField.Condition_Mask];
if (datItemMappings.Keys.Contains(DatItemField.Condition_Relation))
Relation = datItemMappings[DatItemField.Condition_Relation].AsRelation();
if (datItemMappings.Keys.Contains(DatItemField.Condition_Value))
Value = datItemMappings[DatItemField.Condition_Value];
}
else
{
if (datItemMappings.Keys.Contains(DatItemField.Tag))
Tag = datItemMappings[DatItemField.Tag];
if (datItemMappings.Keys.Contains(DatItemField.Mask))
Mask = datItemMappings[DatItemField.Mask];
if (datItemMappings.Keys.Contains(DatItemField.Relation))
Relation = datItemMappings[DatItemField.Relation].AsRelation();
if (datItemMappings.Keys.Contains(DatItemField.Value))
Value = datItemMappings[DatItemField.Value];
}
}
#endregion
#region Constructors
/// <summary>