namespace FishDice.LuckyDice
{
    public sealed class RollFlowRequest
    {
        public RollFlowRequest(string rollSessionId)
            : this(
                rollSessionId,
                LuckyDiceKeys.NormalDiceSetId,
                LuckyDiceKeys.NormalRollTriggerSource,
                playerLevel: 0,
                isTutorial: false)
        {
        }

        public RollFlowRequest(
            string rollSessionId,
            string diceSetId,
            string triggerSource,
            int playerLevel,
            bool isTutorial)
        {
            RollSessionId = rollSessionId;
            DiceSetId = diceSetId;
            TriggerSource = triggerSource;
            PlayerLevel = playerLevel;
            IsTutorial = isTutorial;
        }

        public string RollSessionId { get; }

        public string DiceSetId { get; }

        public string TriggerSource { get; }

        public int PlayerLevel { get; }

        public bool IsTutorial { get; }
    }
}
