// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using System; using JetBrains.Annotations; using osu.Framework.Input.States; namespace osu.Framework.Input.StateChanges.Events { /// /// An event which represents a change of an . /// An produces this type of event after it changes . /// public abstract class InputStateChangeEvent { /// /// The changed by this event. /// [NotNull] public readonly InputState State; /// /// The that caused this input state change. /// [CanBeNull] public readonly IInput Input; protected InputStateChangeEvent(InputState state, IInput input) { State = state ?? throw new ArgumentNullException(nameof(state)); Input = input; } } }