Flatten Condition out of existence

This commit is contained in:
Matt Nadareski
2026-04-09 21:13:55 -04:00
parent 2a700dee9c
commit 770f6f75d5
26 changed files with 548 additions and 542 deletions

View File

@@ -152,9 +152,19 @@ namespace SabreTools.Serialization.CrossModel
Default = item.Default,
};
var condition = item.Condition;
if (condition is not null)
adjuster.Condition = ConvertFromInternalModel(condition);
if (item.ConditionMask is not null
|| item.ConditionRelation is not null
|| item.ConditionTag is not null
|| item.ConditionValue is not null)
{
adjuster.Condition = new Condition
{
Mask = item.ConditionMask,
Relation = item.ConditionRelation,
Tag = item.ConditionTag,
Value = item.ConditionValue,
};
}
return adjuster;
}
@@ -201,21 +211,6 @@ namespace SabreTools.Serialization.CrossModel
return chip;
}
/// <summary>
/// Convert from <see cref="Models.Metadata.Condition"/> to <see cref="Condition"/>
/// </summary>
private static Condition ConvertFromInternalModel(Data.Models.Metadata.Condition item)
{
var condition = new Condition
{
Tag = item.Tag,
Mask = item.Mask,
Relation = item.Relation,
Value = item.Value,
};
return condition;
}
/// <summary>
/// Convert from <see cref="Models.Metadata.Configuration"/> to <see cref="Configuration"/>
/// </summary>
@@ -228,9 +223,19 @@ namespace SabreTools.Serialization.CrossModel
Mask = item.Mask,
};
var condition = item.Condition;
if (condition is not null)
configuration.Condition = ConvertFromInternalModel(condition);
if (item.ConditionMask is not null
|| item.ConditionRelation is not null
|| item.ConditionTag is not null
|| item.ConditionValue is not null)
{
configuration.Condition = new Condition
{
Mask = item.ConditionMask,
Relation = item.ConditionRelation,
Tag = item.ConditionTag,
Value = item.ConditionValue,
};
}
var confLocations = item.ConfLocation;
if (confLocations is not null && confLocations.Length > 0)
@@ -269,9 +274,19 @@ namespace SabreTools.Serialization.CrossModel
Default = item.Default,
};
var condition = item.Condition;
if (condition is not null)
confSetting.Condition = ConvertFromInternalModel(condition);
if (item.ConditionMask is not null
|| item.ConditionRelation is not null
|| item.ConditionTag is not null
|| item.ConditionValue is not null)
{
confSetting.Condition = new Condition
{
Mask = item.ConditionMask,
Relation = item.ConditionRelation,
Tag = item.ConditionTag,
Value = item.ConditionValue,
};
}
return confSetting;
}
@@ -362,9 +377,19 @@ namespace SabreTools.Serialization.CrossModel
Mask = item.Mask,
};
var condition = item.Condition;
if (condition is not null)
dipSwitch.Condition = ConvertFromInternalModel(condition);
if (item.ConditionMask is not null
|| item.ConditionRelation is not null
|| item.ConditionTag is not null
|| item.ConditionValue is not null)
{
dipSwitch.Condition = new Condition
{
Mask = item.ConditionMask,
Relation = item.ConditionRelation,
Tag = item.ConditionTag,
Value = item.ConditionValue,
};
}
var dipLocations = item.DipLocation;
if (dipLocations is not null && dipLocations.Length > 0)
@@ -389,9 +414,19 @@ namespace SabreTools.Serialization.CrossModel
Default = item.Default,
};
var condition = item.Condition;
if (condition is not null)
dipValue.Condition = ConvertFromInternalModel(condition);
if (item.ConditionMask is not null
|| item.ConditionRelation is not null
|| item.ConditionTag is not null
|| item.ConditionValue is not null)
{
dipValue.Condition = new Condition
{
Mask = item.ConditionMask,
Relation = item.ConditionRelation,
Tag = item.ConditionTag,
Value = item.ConditionValue,
};
}
return dipValue;
}

View File

@@ -128,13 +128,14 @@ namespace SabreTools.Serialization.CrossModel
{
var adjuster = new Data.Models.Metadata.Adjuster
{
ConditionMask = item.Condition?.Mask,
ConditionRelation = item.Condition?.Relation,
ConditionTag = item.Condition?.Tag,
ConditionValue = item.Condition?.Value,
Name = item.Name,
Default = item.Default,
};
if (item.Condition is not null)
adjuster.Condition = ConvertToInternalModel(item.Condition);
return adjuster;
}
@@ -180,21 +181,6 @@ namespace SabreTools.Serialization.CrossModel
return chip;
}
/// <summary>
/// Convert from <see cref="Condition"/> to <see cref="Models.Metadata.Condition"/>
/// </summary>
private static Data.Models.Metadata.Condition ConvertToInternalModel(Condition item)
{
var condition = new Data.Models.Metadata.Condition
{
Tag = item.Tag,
Mask = item.Mask,
Relation = item.Relation,
Value = item.Value,
};
return condition;
}
/// <summary>
/// Convert from <see cref="Configuration"/> to <see cref="Models.Metadata.Configuration"/>
/// </summary>
@@ -202,14 +188,15 @@ namespace SabreTools.Serialization.CrossModel
{
var configuration = new Data.Models.Metadata.Configuration
{
ConditionMask = item.Condition?.Mask,
ConditionRelation = item.Condition?.Relation,
ConditionTag = item.Condition?.Tag,
ConditionValue = item.Condition?.Value,
Name = item.Name,
Tag = item.Tag,
Mask = item.Mask,
};
if (item.Condition is not null)
configuration.Condition = ConvertToInternalModel(item.Condition);
if (item.ConfLocation is not null && item.ConfLocation.Length > 0)
configuration.ConfLocation = Array.ConvertAll(item.ConfLocation, ConvertToInternalModel);
@@ -240,14 +227,15 @@ namespace SabreTools.Serialization.CrossModel
{
var confSetting = new Data.Models.Metadata.ConfSetting
{
ConditionMask = item.Condition?.Mask,
ConditionRelation = item.Condition?.Relation,
ConditionTag = item.Condition?.Tag,
ConditionValue = item.Condition?.Value,
Name = item.Name,
Value = item.Value,
Default = item.Default,
};
if (item.Condition is not null)
confSetting.Condition = ConvertToInternalModel(item.Condition);
return confSetting;
}
@@ -330,14 +318,15 @@ namespace SabreTools.Serialization.CrossModel
{
var dipSwitch = new Data.Models.Metadata.DipSwitch
{
ConditionMask = item.Condition?.Mask,
ConditionRelation = item.Condition?.Relation,
ConditionTag = item.Condition?.Tag,
ConditionValue = item.Condition?.Value,
Name = item.Name,
Tag = item.Tag,
Mask = item.Mask,
};
if (item.Condition is not null)
dipSwitch.Condition = ConvertToInternalModel(item.Condition);
if (item.DipLocation is not null && item.DipLocation.Length > 0)
dipSwitch.DipLocation = Array.ConvertAll(item.DipLocation, ConvertToInternalModel);
@@ -354,14 +343,15 @@ namespace SabreTools.Serialization.CrossModel
{
var dipValue = new Data.Models.Metadata.DipValue
{
ConditionMask = item.Condition?.Mask,
ConditionRelation = item.Condition?.Relation,
ConditionTag = item.Condition?.Tag,
ConditionValue = item.Condition?.Value,
Name = item.Name,
Value = item.Value,
Default = item.Default,
};
if (item.Condition is not null)
dipValue.Condition = ConvertToInternalModel(item.Condition);
return dipValue;
}