Use DictionaryBase for setters

This commit is contained in:
Matt Nadareski
2024-03-05 02:20:12 -05:00
parent 539e4367e0
commit 2b2aa5aff8
47 changed files with 845 additions and 796 deletions

View File

@@ -261,6 +261,33 @@ namespace SabreTools.DatItems.Formats
return FieldManipulator.RemoveField(_internal, fieldName);
}
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.DisplayType => Models.Metadata.Display.DisplayTypeKey,
DatItemField.FlipX => Models.Metadata.Display.FlipXKey,
DatItemField.HBEnd => Models.Metadata.Display.HBEndKey,
DatItemField.HBStart => Models.Metadata.Display.HBStartKey,
DatItemField.Height => Models.Metadata.Display.HeightKey,
DatItemField.HTotal => Models.Metadata.Display.HTotalKey,
DatItemField.PixClock => Models.Metadata.Display.PixClockKey,
DatItemField.Refresh => Models.Metadata.Display.RefreshKey,
DatItemField.Rotate => Models.Metadata.Display.RotateKey,
DatItemField.Tag => Models.Metadata.Display.TagKey,
DatItemField.VBEnd => Models.Metadata.Display.VBEndKey,
DatItemField.VBStart => Models.Metadata.Display.VBStartKey,
DatItemField.VTotal => Models.Metadata.Display.VTotalKey,
DatItemField.Width => Models.Metadata.Display.WidthKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}