using Microsoft.Xna.Framework.Input;

namespace RecrownedAthenaeum.Input
{
    /// <summary>
    /// Input listener for <see cref="InputUtilities"/>.
    /// </summary>
    public interface IInputListener
    {
        /// <summary>
        /// Called when the state of the keyboard has changed.
        /// </summary>
        /// <param name="state">The new state.</param>
        /// <returns>True to continue calling other listeners.</returns>
        bool KeyboardStateChanged(KeyboardState state);

        /// <summary>
        /// Called when the state of the mouse has changed.
        /// </summary>
        /// <param name="state">The new state.</param>
        /// <returns>True to continue calling other listeners.</returns>
        bool MouseStateChanged(MouseState state);
    }
}
