Turn Condition keys into properties as a test

This commit is contained in:
Matt Nadareski
2026-04-03 23:33:11 -04:00
parent 2fdecebe66
commit a8c060ff26
16 changed files with 234 additions and 164 deletions

View File

@@ -12,15 +12,10 @@ namespace SabreTools.Metadata.DatItems.Formats
{
#region Fields
public Condition? Condition { get; set; }
[JsonIgnore]
public bool ConditionsSpecified
{
get
{
var conditions = Read<Condition[]?>(Data.Models.Metadata.Adjuster.ConditionKey);
return conditions is not null && conditions.Length > 0;
}
}
public bool ConditionSpecified => Condition is not null;
public bool? Default
{
@@ -47,9 +42,8 @@ namespace SabreTools.Metadata.DatItems.Formats
public Adjuster(Data.Models.Metadata.Adjuster item) : base(item)
{
// Handle subitems
var condition = item.Read<Data.Models.Metadata.Condition>(Data.Models.Metadata.Adjuster.ConditionKey);
if (condition is not null)
Write(Data.Models.Metadata.Adjuster.ConditionKey, new Condition(condition));
if (item.Condition is not null)
Condition = new Condition(item.Condition);
}
public Adjuster(Data.Models.Metadata.Adjuster item, Machine machine, Source source) : this(item)
@@ -70,9 +64,8 @@ namespace SabreTools.Metadata.DatItems.Formats
{
var adjusterItem = base.GetInternalClone();
var condition = Read<Condition?>(Data.Models.Metadata.Adjuster.ConditionKey);
if (condition is not null)
adjusterItem[Data.Models.Metadata.Adjuster.ConditionKey] = condition.GetInternalClone();
if (Condition is not null)
adjusterItem.Condition = Condition.GetInternalClone();
return adjusterItem;
}

View File

@@ -12,15 +12,10 @@ namespace SabreTools.Metadata.DatItems.Formats
{
#region Fields
public Condition? Condition { get; set; }
[JsonIgnore]
public bool ConditionsSpecified
{
get
{
var conditions = Read<Condition[]?>(Data.Models.Metadata.ConfSetting.ConditionKey);
return conditions is not null && conditions.Length > 0;
}
}
public bool ConditionSpecified => Condition is not null;
public bool? Default
{
@@ -53,9 +48,8 @@ namespace SabreTools.Metadata.DatItems.Formats
public ConfSetting(Data.Models.Metadata.ConfSetting item) : base(item)
{
// Handle subitems
var condition = Read<Data.Models.Metadata.Condition>(Data.Models.Metadata.ConfSetting.ConditionKey);
if (condition is not null)
Write<Condition?>(Data.Models.Metadata.ConfSetting.ConditionKey, new Condition(condition));
if (item.Condition is not null)
Condition = new Condition(item.Condition);
}
public ConfSetting(Data.Models.Metadata.ConfSetting item, Machine machine, Source source) : this(item)
@@ -76,10 +70,8 @@ namespace SabreTools.Metadata.DatItems.Formats
{
var confSettingItem = base.GetInternalClone();
// Handle subitems
var condition = Read<Condition>(Data.Models.Metadata.ConfSetting.ConditionKey);
if (condition is not null)
confSettingItem[Data.Models.Metadata.ConfSetting.ConditionKey] = condition.GetInternalClone();
if (Condition is not null)
confSettingItem.Condition = Condition.GetInternalClone();
return confSettingItem;
}

View File

@@ -13,15 +13,10 @@ namespace SabreTools.Metadata.DatItems.Formats
{
#region Fields
public Condition? Condition { get; set; }
[JsonIgnore]
public bool ConditionsSpecified
{
get
{
var conditions = Read<Condition[]?>(Data.Models.Metadata.Configuration.ConditionKey);
return conditions is not null && conditions.Length > 0;
}
}
public bool ConditionSpecified => Condition is not null;
/// <inheritdoc>/>
public override Data.Models.Metadata.ItemType ItemType
@@ -74,9 +69,8 @@ namespace SabreTools.Metadata.DatItems.Formats
public Configuration(Data.Models.Metadata.Configuration item) : base(item)
{
// Handle subitems
var condition = item.Read<Data.Models.Metadata.Condition>(Data.Models.Metadata.Configuration.ConditionKey);
if (condition is not null)
Write<Condition?>(Data.Models.Metadata.Configuration.ConditionKey, new Condition(condition));
if (item.Condition is not null)
Condition = new Condition(item.Condition);
var confLocations = item.ReadArray<Data.Models.Metadata.ConfLocation>(Data.Models.Metadata.Configuration.ConfLocationKey);
if (confLocations is not null)
@@ -111,9 +105,8 @@ namespace SabreTools.Metadata.DatItems.Formats
{
var configurationItem = base.GetInternalClone();
var condition = Read<Condition?>(Data.Models.Metadata.Configuration.ConditionKey);
if (condition is not null)
configurationItem[Data.Models.Metadata.Configuration.ConditionKey] = condition.GetInternalClone();
if (Condition is not null)
configurationItem.Condition = Condition.GetInternalClone();
var confLocations = Read<ConfLocation[]?>(Data.Models.Metadata.Configuration.ConfLocationKey);
if (confLocations is not null)

View File

@@ -22,15 +22,10 @@ namespace SabreTools.Metadata.DatItems.Formats
#region Fields
public Condition? Condition { get; set; }
[JsonIgnore]
public bool ConditionsSpecified
{
get
{
var conditions = Read<Condition[]?>(Data.Models.Metadata.DipSwitch.ConditionKey);
return conditions is not null && conditions.Length > 0;
}
}
public bool ConditionSpecified => Condition is not null;
[JsonIgnore]
public bool? Default
@@ -102,9 +97,8 @@ namespace SabreTools.Metadata.DatItems.Formats
public DipSwitch(Data.Models.Metadata.DipSwitch item) : base(item)
{
// Handle subitems
var condition = item.Read<Data.Models.Metadata.Condition>(Data.Models.Metadata.DipSwitch.ConditionKey);
if (condition is not null)
Write<Condition?>(Data.Models.Metadata.DipSwitch.ConditionKey, new Condition(condition));
if (item.Condition is not null)
Condition = new Condition(item.Condition);
var dipLocations = item.ReadArray<Data.Models.Metadata.DipLocation>(Data.Models.Metadata.DipSwitch.DipLocationKey);
if (dipLocations is not null)
@@ -139,9 +133,8 @@ namespace SabreTools.Metadata.DatItems.Formats
{
var dipSwitchItem = base.GetInternalClone();
var condition = Read<Condition?>(Data.Models.Metadata.DipSwitch.ConditionKey);
if (condition is not null)
dipSwitchItem[Data.Models.Metadata.DipSwitch.ConditionKey] = condition.GetInternalClone();
if (Condition is not null)
dipSwitchItem.Condition = Condition.GetInternalClone();
var dipLocations = Read<DipLocation[]?>(Data.Models.Metadata.DipSwitch.DipLocationKey);
if (dipLocations is not null)

View File

@@ -12,15 +12,10 @@ namespace SabreTools.Metadata.DatItems.Formats
{
#region Fields
public Condition? Condition { get; set; }
[JsonIgnore]
public bool ConditionsSpecified
{
get
{
var conditions = Read<Condition[]?>(Data.Models.Metadata.DipValue.ConditionKey);
return conditions is not null && conditions.Length > 0;
}
}
public bool ConditionSpecified => Condition is not null;
public bool? Default
{
@@ -53,9 +48,8 @@ namespace SabreTools.Metadata.DatItems.Formats
public DipValue(Data.Models.Metadata.DipValue item) : base(item)
{
// Handle subitems
var condition = Read<Data.Models.Metadata.Condition>(Data.Models.Metadata.DipValue.ConditionKey);
if (condition is not null)
Write<Condition?>(Data.Models.Metadata.DipValue.ConditionKey, new Condition(condition));
if (item.Condition is not null)
Condition = new Condition(item.Condition);
}
public DipValue(Data.Models.Metadata.DipValue item, Machine machine, Source source) : this(item)
@@ -76,10 +70,8 @@ namespace SabreTools.Metadata.DatItems.Formats
{
var dipValueItem = base.GetInternalClone();
// Handle subitems
var subCondition = Read<Condition>(Data.Models.Metadata.DipValue.ConditionKey);
if (subCondition is not null)
dipValueItem[Data.Models.Metadata.DipValue.ConditionKey] = subCondition.GetInternalClone();
if (Condition is not null)
dipValueItem.Condition = Condition.GetInternalClone();
return dipValueItem;
}