Wire up SoftwareList sharedfeat

This commit is contained in:
Matt Nadareski
2020-08-21 13:03:38 -07:00
parent 9eaba8915b
commit 6004bbaad9
8 changed files with 113 additions and 2 deletions

View File

@@ -629,6 +629,25 @@ namespace SabreTools.Library.DatFiles
machine.Supported = jtr.ReadAsString().AsYesNo();
break;
case "sharedfeat":
machine.SharedFeatures = new List<KeyValuePair<string, string>>();
jtr.Read(); // Start Array
while (!sr.EndOfStream)
{
jtr.Read(); // Start object (or end array)
if (jtr.TokenType == JsonToken.EndArray)
break;
jtr.Read(); // Key
string key = jtr.Value as string;
string value = jtr.ReadAsString();
jtr.Read(); // End object
machine.SharedFeatures.Add(new KeyValuePair<string, string>(key, value));
}
break;
#endregion
default:
@@ -1687,6 +1706,20 @@ namespace SabreTools.Library.DatFiles
jtw.WriteValue("no");
}
}
if (!string.IsNullOrWhiteSpace(datItem.GetField(Field.SharedFeatures, Header.ExcludeFields)))
{
jtw.WritePropertyName("sharedfeat");
jtw.WriteStartArray();
foreach (var feature in datItem.Machine.SharedFeatures)
{
jtw.WriteStartObject();
jtw.WritePropertyName(feature.Key);
jtw.WriteValue(feature.Value);
jtw.WriteEndObject();
}
jtw.WriteEndArray();
}
#endregion