namespace FishDice.Demo
{
    public sealed class LuckyDiceDemoSnapshot
    {
        public LuckyDiceDemoSnapshot(
            string title,
            string description,
            string faceLine,
            string comboLine,
            string ruleLine,
            string effectLine,
            string luckyDiceLine,
            string targetModeLine,
            string summary,
            string[] normalFaces,
            string[] luckyDiceSlotKeys,
            string outcomeKind)
        {
            Title = title;
            Description = description;
            FaceLine = faceLine;
            ComboLine = comboLine;
            RuleLine = ruleLine;
            EffectLine = effectLine;
            LuckyDiceLine = luckyDiceLine;
            TargetModeLine = targetModeLine;
            Summary = summary;
            NormalFaces = normalFaces ?? new string[0];
            LuckyDiceSlotKeys = luckyDiceSlotKeys ?? new string[0];
            OutcomeKind = string.IsNullOrEmpty(outcomeKind) ? "none" : outcomeKind;
        }

        public string Title { get; }

        public string Description { get; }

        public string FaceLine { get; }

        public string ComboLine { get; }

        public string RuleLine { get; }

        public string EffectLine { get; }

        public string LuckyDiceLine { get; }

        public string TargetModeLine { get; }

        public string Summary { get; }

        public string[] NormalFaces { get; }

        public string[] LuckyDiceSlotKeys { get; }

        public string OutcomeKind { get; }
    }
}
