using Intrepid.Integration.Input;

namespace Intrepid.Gameplay.Journey.Runtime.Gameplay
{
    public sealed class JourneyGameplayGateContext
    {
        public InputSchema PreviousInputSchema { get; }
        public bool IsValid { get; }

        public JourneyGameplayGateContext(InputSchema previousInputSchema)
        {
            PreviousInputSchema = previousInputSchema;
            IsValid = true;
        }

        public static JourneyGameplayGateContext Invalid { get; } = new();

        private JourneyGameplayGateContext()
        {
            PreviousInputSchema = InputSchema.None;
            IsValid = false;
        }
    }
}