Implement critical editor override state
This commit is contained in:
@@ -20,6 +20,10 @@ public sealed class CriticalCellEditorModel
|
||||
public string? RawAffixText { get; set; }
|
||||
public string ParseStatus { get; set; } = string.Empty;
|
||||
public string ParsedJson { get; set; } = "{}";
|
||||
public bool IsDescriptionOverridden { get; set; }
|
||||
public bool IsRawAffixTextOverridden { get; set; }
|
||||
public bool AreEffectsOverridden { get; set; }
|
||||
public bool AreBranchesOverridden { get; set; }
|
||||
public List<string> ValidationMessages { get; set; } = [];
|
||||
public List<CriticalEffectEditorModel> Effects { get; set; } = [];
|
||||
public List<CriticalBranchEditorModel> Branches { get; set; } = [];
|
||||
@@ -42,18 +46,27 @@ public sealed class CriticalCellEditorModel
|
||||
RawAffixText = response.RawAffixText,
|
||||
ParseStatus = response.ParseStatus,
|
||||
ParsedJson = response.ParsedJson,
|
||||
IsDescriptionOverridden = response.IsDescriptionOverridden,
|
||||
IsRawAffixTextOverridden = response.IsRawAffixTextOverridden,
|
||||
AreEffectsOverridden = response.AreEffectsOverridden,
|
||||
AreBranchesOverridden = response.AreBranchesOverridden,
|
||||
ValidationMessages = response.ValidationMessages.ToList(),
|
||||
Effects = response.Effects.Select(CriticalEffectEditorModel.FromItem).ToList(),
|
||||
Branches = response.Branches.Select(CriticalBranchEditorModel.FromItem).ToList()
|
||||
};
|
||||
|
||||
public CriticalCellUpdateRequest ToRequest() =>
|
||||
new(
|
||||
public CriticalCellUpdateRequest ToRequest()
|
||||
{
|
||||
var request = new CriticalCellUpdateRequest(
|
||||
RawCellText,
|
||||
DescriptionText,
|
||||
RawAffixText,
|
||||
ResolveParseStatus(Effects, Branches),
|
||||
SerializeParsedEffects(Effects),
|
||||
IsDescriptionOverridden,
|
||||
IsRawAffixTextOverridden,
|
||||
AreEffectsOverridden,
|
||||
AreBranchesOverridden,
|
||||
Effects.Select(effect => effect.ToItem()).ToList(),
|
||||
Branches
|
||||
.OrderBy(branch => branch.SortOrder)
|
||||
@@ -64,6 +77,12 @@ public sealed class CriticalCellEditorModel
|
||||
})
|
||||
.ToList());
|
||||
|
||||
return request with
|
||||
{
|
||||
ParsedJson = CriticalCellEditorSnapshot.FromRequest(request).ToJson()
|
||||
};
|
||||
}
|
||||
|
||||
private static string ResolveParseStatus(
|
||||
IReadOnlyList<CriticalEffectEditorModel> effects,
|
||||
IReadOnlyList<CriticalBranchEditorModel> branches) =>
|
||||
|
||||
Reference in New Issue
Block a user