Apos.Input
Polling input library for MonoGame.
Documentation
Build
Features
- Manages the input states for you every frame
- Mouse, Keyboard, and GamePad buttons abstractions
- Tracking mode so that you don’t accidentally consume the same input multiple times
- Static or instanced usage
Usage samples
In your game’s LoadContent(), pass the game class to InputHelper.Setup():
protected override void LoadContent() {
    InputHelper.Setup(this);
}
In your game’s Update(GameTime gameTime), call the two functions:
protected override void Update(GameTime gametime) {
    // Call UpdateSetup at the start.
    InputHelper.UpdateSetup();
    // ...
    // Call UpdateCleanup at the end.
    InputHelper.UpdateCleanup();
}
// Create a condition to jump.
// It should work on space, the first gamepad's A button, or the mouse's left button.
ICondition jump =
    new AnyCondition(
        new KeyboardCondition(Keys.Space),
        new GamePadCondition(GamePadButton.A, 0),
        new MouseCondition(MouseButton.LeftButton)
    );
// To check if the jump is triggered:
if (jump.Pressed()) {
    // Do the jump change.
}
Other projects you might like
- Apos.Gui - UI library for MonoGame.
- Apos.Camera - Camera library for MonoGame.
- Apos.History - A C# library that makes it easy to handle undo and redo.
- Apos.Content - Content builder library for MonoGame.
- Apos.Framework - Game architecture for MonoGame.