Consolidate setter code

This commit is contained in:
Matt Nadareski
2024-03-05 17:17:40 -05:00
parent d43a275f8c
commit 6987ec2641
51 changed files with 181 additions and 1175 deletions

View File

@@ -396,15 +396,6 @@ namespace SabreTools.DatItems
/// <returns>True if the removal was successful, false otherwise</returns>
public bool RemoveField(string? fieldName) => FieldManipulator.RemoveField(_internal, fieldName);
/// <summary>
/// Set a field in the DatItem from a mapping string
/// </summary>
/// <param name="fieldName">Item field to set</param>
/// <param name="value">String representing the value to set</param>
/// <returns>True if the setting was successful, false otherwise</returns>
/// <remarks>This only performs minimal validation before setting</remarks>
public abstract bool SetField(DatItemField datItemField, string value);
/// <summary>
/// Set a field in the DatItem from a mapping string
/// </summary>

View File

@@ -98,23 +98,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.Default => Models.Metadata.Adjuster.DefaultKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -59,23 +59,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.Analog_Mask => Models.Metadata.Analog.MaskKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -135,22 +135,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -93,24 +93,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.Default => Models.Metadata.BiosSet.DefaultKey,
DatItemField.Description => Models.Metadata.BiosSet.DescriptionKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -57,12 +57,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value) => true;
#endregion
}
}

View File

@@ -109,25 +109,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.ChipType => Models.Metadata.Chip.ChipTypeKey,
DatItemField.Clock => Models.Metadata.Chip.ClockKey,
DatItemField.Tag => Models.Metadata.Chip.TagKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -95,30 +95,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.Mask => Models.Metadata.Condition.MaskKey,
DatItemField.Condition_Mask => Models.Metadata.Condition.MaskKey,
DatItemField.Relation => Models.Metadata.Condition.RelationKey,
DatItemField.Condition_Relation => Models.Metadata.Condition.RelationKey,
DatItemField.Tag => Models.Metadata.Condition.TagKey,
DatItemField.Condition_Tag => Models.Metadata.Condition.TagKey,
DatItemField.Value => Models.Metadata.Condition.ValueKey,
DatItemField.Condition_Value => Models.Metadata.Condition.ValueKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -96,26 +96,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.Inverted => Models.Metadata.ConfLocation.InvertedKey,
DatItemField.Location_Inverted => Models.Metadata.ConfLocation.InvertedKey,
DatItemField.Number => Models.Metadata.ConfLocation.NumberKey,
DatItemField.Location_Number => Models.Metadata.ConfLocation.NumberKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -108,26 +108,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.Default => Models.Metadata.ConfSetting.DefaultKey,
DatItemField.Setting_Default => Models.Metadata.ConfSetting.DefaultKey,
DatItemField.Value => Models.Metadata.ConfSetting.ValueKey,
DatItemField.Setting_Value => Models.Metadata.ConfSetting.ValueKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -131,24 +131,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.Mask => Models.Metadata.Configuration.MaskKey,
DatItemField.Tag => Models.Metadata.Configuration.TagKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -199,34 +199,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.Control_Buttons => Models.Metadata.Control.ButtonsKey,
DatItemField.Control_KeyDelta => Models.Metadata.Control.KeyDeltaKey,
DatItemField.Control_Maximum => Models.Metadata.Control.MaximumKey,
DatItemField.Control_Minimum => Models.Metadata.Control.MinimumKey,
DatItemField.Control_Player => Models.Metadata.Control.PlayerKey,
DatItemField.Control_RequiredButtons => Models.Metadata.Control.ReqButtonsKey,
DatItemField.Control_Reverse => Models.Metadata.Control.ReverseKey,
DatItemField.Control_Sensitivity => Models.Metadata.Control.SensitivityKey,
DatItemField.Control_Type => Models.Metadata.Control.ControlTypeKey,
DatItemField.Control_Ways => Models.Metadata.Control.WaysKey,
DatItemField.Control_Ways2 => Models.Metadata.Control.Ways2Key,
DatItemField.Control_Ways3 => Models.Metadata.Control.Ways3Key,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -111,25 +111,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.AreaEndianness => Models.Metadata.DataArea.EndiannessKey,
DatItemField.AreaSize => Models.Metadata.DataArea.SizeKey,
DatItemField.AreaWidth => Models.Metadata.DataArea.WidthKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -137,27 +137,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.DeviceType => Models.Metadata.Device.DeviceTypeKey,
DatItemField.FixedImage => Models.Metadata.Device.FixedImageKey,
DatItemField.Interface => Models.Metadata.Device.InterfaceKey,
DatItemField.Mandatory => Models.Metadata.Device.MandatoryKey,
DatItemField.Tag => Models.Metadata.Device.TagKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -70,22 +70,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -96,26 +96,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.Inverted => Models.Metadata.DipLocation.InvertedKey,
DatItemField.Location_Inverted => Models.Metadata.DipLocation.InvertedKey,
DatItemField.Number => Models.Metadata.DipLocation.NumberKey,
DatItemField.Location_Number => Models.Metadata.DipLocation.NumberKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -159,24 +159,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.Mask => Models.Metadata.DipSwitch.MaskKey,
DatItemField.Tag => Models.Metadata.DipSwitch.TagKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -108,26 +108,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.Default => Models.Metadata.DipValue.DefaultKey,
DatItemField.Setting_Default => Models.Metadata.DipValue.DefaultKey,
DatItemField.Value => Models.Metadata.DipValue.ValueKey,
DatItemField.Setting_Value => Models.Metadata.DipValue.ValueKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -284,31 +284,6 @@ namespace SabreTools.DatItems.Formats
/// <returns>String representing the suffix</returns>
public string GetDuplicateSuffix() => _internal.GetDuplicateSuffix();
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.Index => Models.Metadata.Disk.IndexKey,
DatItemField.MD5 => Models.Metadata.Disk.MD5Key,
DatItemField.Merge => Models.Metadata.Disk.MergeKey,
DatItemField.Optional => Models.Metadata.Disk.OptionalKey,
DatItemField.Region => Models.Metadata.Disk.RegionKey,
DatItemField.SHA1 => Models.Metadata.Disk.SHA1Key,
DatItemField.Status => Models.Metadata.Disk.StatusKey,
DatItemField.Writable => Models.Metadata.Disk.WritableKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
#region Sorting and Merging

View File

@@ -71,22 +71,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -231,36 +231,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <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
}
}

View File

@@ -162,30 +162,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.CocktailStatus => Models.Metadata.Driver.CocktailKey,
DatItemField.EmulationStatus => Models.Metadata.Driver.EmulationKey,
DatItemField.Incomplete => Models.Metadata.Driver.IncompleteKey,
DatItemField.NoSoundHardware => Models.Metadata.Driver.NoSoundHardwareKey,
DatItemField.RequiresArtwork => Models.Metadata.Driver.RequiresArtworkKey,
DatItemField.SaveStateStatus => Models.Metadata.Driver.SaveStateKey,
DatItemField.SupportStatus => Models.Metadata.Driver.StatusKey,
DatItemField.Unofficial => Models.Metadata.Driver.UnofficialKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -70,22 +70,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -93,25 +93,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.FeatureOverall => Models.Metadata.Feature.OverallKey,
DatItemField.FeatureStatus => Models.Metadata.Feature.StatusKey,
DatItemField.FeatureType => Models.Metadata.Feature.FeatureTypeKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -326,24 +326,6 @@ namespace SabreTools.DatItems.Formats
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
// TODO: Figure out what fields go here
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
#region Sorting and Merging
/// <inheritdoc/>

View File

@@ -80,23 +80,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.Value => Models.Metadata.Info.ValueKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -116,26 +116,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.Coins => Models.Metadata.Input.CoinsKey,
DatItemField.Players => Models.Metadata.Input.PlayersKey,
DatItemField.Service => Models.Metadata.Input.ServiceKey,
DatItemField.Tilt => Models.Metadata.Input.TiltKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -80,23 +80,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.Instance_BriefName => Models.Metadata.Instance.BriefNameKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -184,27 +184,6 @@ namespace SabreTools.DatItems.Formats
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.MD5 => Models.Metadata.Media.MD5Key,
DatItemField.SHA1 => Models.Metadata.Media.SHA1Key,
DatItemField.SHA256 => Models.Metadata.Media.SHA256Key,
DatItemField.SpamSum => Models.Metadata.Media.SpamSumKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
#region Sorting and Merging
/// <inheritdoc/>

View File

@@ -87,23 +87,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.Part_Interface => Models.Metadata.Part.InterfaceKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -80,24 +80,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.Value => Models.Metadata.Feature.ValueKey,
DatItemField.Part_Feature_Value => Models.Metadata.Feature.ValueKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -74,23 +74,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.Tag => Models.Metadata.Port.TagKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -93,24 +93,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.Content => Models.Metadata.RamOption.ContentKey,
DatItemField.Default => Models.Metadata.RamOption.DefaultKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -117,26 +117,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.Date => Models.Metadata.Release.DateKey,
DatItemField.Default => Models.Metadata.Release.DefaultKey,
DatItemField.Language => Models.Metadata.Release.LanguageKey,
DatItemField.Region => Models.Metadata.Release.RegionKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -187,23 +187,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
// TODO: Figure out what fields go here
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -597,64 +597,6 @@ namespace SabreTools.DatItems.Formats
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.AltName => Models.Metadata.Rom.AltRomnameKey,
DatItemField.AltTitle => Models.Metadata.Rom.AltTitleKey,
DatItemField.ArchiveDotOrgFormat => Models.Metadata.Rom.FormatKey,
DatItemField.ArchiveDotOrgSource => Models.Metadata.Rom.SourceKey,
DatItemField.Bios => Models.Metadata.Rom.BiosKey,
//DatItemField.Boot => Models.Metadata.Rom.BootKey,
DatItemField.CRC => Models.Metadata.Rom.CRCKey,
DatItemField.Date => Models.Metadata.Rom.DateKey,
DatItemField.Inverted => Models.Metadata.Rom.InvertedKey,
DatItemField.LoadFlag => Models.Metadata.Rom.LoadFlagKey,
DatItemField.MD5 => Models.Metadata.Rom.MD5Key,
DatItemField.Merge => Models.Metadata.Rom.MergeKey,
DatItemField.MIA => Models.Metadata.Rom.MIAKey,
DatItemField.Offset => Models.Metadata.Rom.OffsetKey,
DatItemField.OpenMSXSubType => Models.Metadata.Rom.OpenMSXMediaType, // TODO: Fix with Key suffix
DatItemField.OpenMSXType => Models.Metadata.Rom.OpenMSXType, // TODO: Fix with Key suffix
DatItemField.Optional => Models.Metadata.Rom.OptionalKey,
//DatItemField.Original => Models.Metadata.Rom.OriginalKey,
DatItemField.OriginalFilename => Models.Metadata.Rom.OriginalKey,
DatItemField.Region => Models.Metadata.Rom.RegionKey,
DatItemField.Remark => Models.Metadata.Rom.RemarkKey,
DatItemField.Rotation => Models.Metadata.Rom.RotationKey,
DatItemField.SHA1 => Models.Metadata.Rom.SHA1Key,
DatItemField.SHA256 => Models.Metadata.Rom.SHA256Key,
DatItemField.SHA384 => Models.Metadata.Rom.SHA384Key,
DatItemField.SHA512 => Models.Metadata.Rom.SHA512Key,
DatItemField.Size => Models.Metadata.Rom.SizeKey,
DatItemField.SpamSum => Models.Metadata.Rom.SpamSumKey,
DatItemField.Status => Models.Metadata.Rom.StatusKey,
DatItemField.Summation => Models.Metadata.Rom.SummationKey,
DatItemField.Value => Models.Metadata.Rom.ValueKey,
_ => null,
};
// A null value means special handling is needed
if (fieldName == null)
{
switch (datItemField)
{
case DatItemField.Boot: Boot = value; return true;
case DatItemField.Original: Original = new Original { Content = value }; return true;
}
}
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
#region Sorting and Merging
/// <inheritdoc/>

View File

@@ -70,22 +70,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -175,23 +175,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
// TODO: Figure out what fields go here
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -80,23 +80,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.Value => Models.Metadata.SharedFeat.ValueKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -85,22 +85,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -93,25 +93,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.Default => Models.Metadata.SlotOption.DefaultKey,
DatItemField.SlotOption_Default => Models.Metadata.SlotOption.DefaultKey,
DatItemField.SlotOption_DeviceName => Models.Metadata.SlotOption.DevNameKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -112,25 +112,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.Filter => Models.Metadata.SoftwareList.FilterKey,
DatItemField.SoftwareListStatus => Models.Metadata.SoftwareList.StatusKey,
DatItemField.Tag => Models.Metadata.SoftwareList.TagKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -62,23 +62,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
DatItemField.Default => Models.Metadata.Sound.ChannelsKey,
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -225,23 +225,5 @@ namespace SabreTools.DatItems.Formats
}
#endregion
#region Manipulation
/// <inheritdoc/>
public override bool SetField(DatItemField datItemField, string value)
{
// Get the correct internal field name
string? fieldName = datItemField switch
{
// TODO: Figure out what fields go here
_ => null,
};
// Set the field and return
return FieldManipulator.SetField(_internal, fieldName, value);
}
#endregion
}
}

View File

@@ -560,77 +560,12 @@ namespace SabreTools.DatItems
/// <summary>
/// Set a field in the Machine from a mapping string
/// </summary>
/// <param name="machineField">Machine field to set</param>
/// <param name="fieldName">Field to set</param>
/// <param name="value">String representing the value to set</param>
/// <returns>True if the setting was successful, false otherwise</returns>
/// <remarks>This only performs minimal validation before setting</remarks>
public bool SetField(MachineField machineField, string value)
{
// Get the correct internal field name
string? fieldName = machineField switch
{
MachineField.Board => Models.Metadata.Machine.BoardKey,
MachineField.Buttons => Models.Metadata.Machine.ButtonsKey,
MachineField.Category => Models.Metadata.Machine.CategoryKey,
MachineField.CloneOf => Models.Metadata.Machine.CloneOfKey,
MachineField.CloneOfID => Models.Metadata.Machine.CloneOfIdKey,
MachineField.Comment => Models.Metadata.Machine.CommentKey,
MachineField.Control => Models.Metadata.Machine.ControlKey,
MachineField.Country => Models.Metadata.Machine.CountryKey,
//MachineField.CRC => Models.Metadata.Machine.CRCKey,
MachineField.Description => Models.Metadata.Machine.DescriptionKey,
//MachineField.Developer => Models.Metadata.Machine.DeveloperKey,
MachineField.DisplayCount => Models.Metadata.Machine.DisplayCountKey,
MachineField.DisplayType => Models.Metadata.Machine.DisplayTypeKey,
//MachineField.Enabled => Models.Metadata.Machine.EnabledKey,
MachineField.GenMSXID => Models.Metadata.Machine.GenMSXIDKey,
//MachineField.Genre => Models.Metadata.Machine.GenreKey,
MachineField.History => Models.Metadata.Machine.HistoryKey,
MachineField.ID => Models.Metadata.Machine.IdKey,
MachineField.Manufacturer => Models.Metadata.Machine.ManufacturerKey,
MachineField.Name => Models.Metadata.Machine.NameKey,
MachineField.Players => Models.Metadata.Machine.PlayersKey,
MachineField.Publisher => Models.Metadata.Machine.PublisherKey,
//MachineField.Ratings => Models.Metadata.Machine.RatingsKey,
MachineField.RebuildTo => Models.Metadata.Machine.RebuildToKey,
//MachineField.RelatedTo => Models.Metadata.Machine.RelatedToKey,
MachineField.RomOf => Models.Metadata.Machine.RomOfKey,
MachineField.Rotation => Models.Metadata.Machine.RotationKey,
MachineField.Runnable => Models.Metadata.Machine.RunnableKey,
MachineField.SampleOf => Models.Metadata.Machine.SampleOfKey,
//MachineField.Score => Models.Metadata.Machine.ScoreKey,
MachineField.SourceFile => Models.Metadata.Machine.SourceFileKey,
MachineField.Status => Models.Metadata.Machine.StatusKey,
//MachineField.Subgenre => Models.Metadata.Machine.SubgenreKey,
MachineField.Supported => Models.Metadata.Machine.SupportedKey,
MachineField.System => Models.Metadata.Machine.SystemKey,
//MachineField.TitleID => Models.Metadata.Machine.TitleIDKey,
//MachineField.Type => Models.Metadata.Machine.TypeKey,
MachineField.Year => Models.Metadata.Machine.YearKey,
_ => null,
};
// A null value means special handling is needed
if (fieldName == null)
{
switch (machineField)
{
case MachineField.CRC: Crc = value.AsYesNo(); return true;
case MachineField.Developer: Developer = value; return true;
case MachineField.Enabled: Enabled = value; return true;
case MachineField.Genre: Genre = value; return true;
case MachineField.Ratings: Ratings = value; return true;
case MachineField.RelatedTo: RelatedTo = value; return true;
case MachineField.Score: Score = value; return true;
case MachineField.Subgenre: Subgenre = value; return true;
case MachineField.TitleID: TitleID = value; return true;
case MachineField.Type: MachineType = value.AsEnumValue<MachineType>(); return true;
}
}
// Remove the field and return
return FieldManipulator.SetField(_machine, fieldName, value);
}
public bool SetField(string? fieldName, string value)
=> FieldManipulator.SetField(_machine, fieldName, value);
#endregion
}