Add manual critical table cell editor
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
using RolemasterDb.App.Features;
|
||||
|
||||
namespace RolemasterDb.App.Components.Shared;
|
||||
|
||||
public sealed class CriticalBranchEditorModel
|
||||
{
|
||||
public string BranchKind { get; set; } = "conditional";
|
||||
public string? ConditionKey { get; set; }
|
||||
public string ConditionText { get; set; } = string.Empty;
|
||||
public string ConditionJson { get; set; } = "{}";
|
||||
public string RawText { get; set; } = string.Empty;
|
||||
public string DescriptionText { get; set; } = string.Empty;
|
||||
public string? RawAffixText { get; set; }
|
||||
public string ParsedJson { get; set; } = "{}";
|
||||
public int SortOrder { get; set; }
|
||||
public List<CriticalEffectEditorModel> Effects { get; set; } = [];
|
||||
|
||||
public static CriticalBranchEditorModel FromItem(CriticalBranchEditorItem item) =>
|
||||
new()
|
||||
{
|
||||
BranchKind = item.BranchKind,
|
||||
ConditionKey = item.ConditionKey,
|
||||
ConditionText = item.ConditionText,
|
||||
ConditionJson = item.ConditionJson,
|
||||
RawText = item.RawText,
|
||||
DescriptionText = item.DescriptionText,
|
||||
RawAffixText = item.RawAffixText,
|
||||
ParsedJson = item.ParsedJson,
|
||||
SortOrder = item.SortOrder,
|
||||
Effects = item.Effects.Select(CriticalEffectEditorModel.FromItem).ToList()
|
||||
};
|
||||
|
||||
public CriticalBranchEditorItem ToItem() =>
|
||||
new(
|
||||
BranchKind,
|
||||
ConditionKey,
|
||||
ConditionText,
|
||||
ConditionJson,
|
||||
RawText,
|
||||
DescriptionText,
|
||||
RawAffixText,
|
||||
ParsedJson,
|
||||
SortOrder,
|
||||
Effects.Select(effect => effect.ToItem()).ToList());
|
||||
}
|
||||
Reference in New Issue
Block a user