namespace RolemasterDb.ImportTool.Parsing;

public sealed class ParsedCriticalCellArtifact(
    string? groupKey,
    string rollBandLabel,
    string columnKey,
    IReadOnlyList<string> lines,
    IReadOnlyList<string> baseLines,
    string rawCellText,
    string descriptionText,
    string? rawAffixText,
    IReadOnlyList<ParsedCriticalEffect> effects,
    IReadOnlyList<ParsedCriticalBranch> branches,
    ParsedCriticalSourceRect sourceBounds)
{
    public string? GroupKey { get; } = groupKey;
    public string RollBandLabel { get; } = rollBandLabel;
    public string ColumnKey { get; } = columnKey;
    public IReadOnlyList<string> Lines { get; } = lines;
    public IReadOnlyList<string> BaseLines { get; } = baseLines;
    public string RawCellText { get; } = rawCellText;
    public string DescriptionText { get; } = descriptionText;
    public string? RawAffixText { get; } = rawAffixText;
    public IReadOnlyList<ParsedCriticalEffect> Effects { get; } = effects;
    public IReadOnlyList<ParsedCriticalBranch> Branches { get; } = branches;
    public ParsedCriticalSourceRect SourceBounds { get; } = sourceBounds;
    public string? SourceImagePath { get; set; }
    public CriticalSourceImageCrop? SourceImageCrop { get; set; }
}
