le2d v0.4.7
2D game engine framework
 
Loading...
Searching...
No Matches
le::input::ActionMapping Class Reference

Stores bindings of actions to callbacks. More...

#include <le2d/input/action_mapping.hpp>

Inheritance diagram for le::input::ActionMapping:
le::input::IMapping

Public Member Functions

 ActionMapping ()=default
 
void bind_action (gsl::not_null< IAction * > action, OnAction on_action)
 Bind an action to a callback.
 
void unbind_action (gsl::not_null< IAction const * > action)
 Remove existing bindings for an action, if any.
 
void clear_bindings ()
 Remove all existing bindings.
 
void dispatch (std::span< le::Event const > events, Gamepad::Manager const &gamepads) override
 Process events and dispatch callbacks.
 
void disengage () override
 Disengage all bindings.
 

Detailed Description

Stores bindings of actions to callbacks.

Constructor & Destructor Documentation

◆ ActionMapping()

le::input::ActionMapping::ActionMapping ( )
default

Member Function Documentation

◆ bind_action()

void le::input::ActionMapping::bind_action ( gsl::not_null< IAction * >  action,
OnAction  on_action 
)

Bind an action to a callback.

Parameters
actionPersistent pointer to target action.
on_actionaction callback.

◆ clear_bindings()

void le::input::ActionMapping::clear_bindings ( )
inline

Remove all existing bindings.

◆ disengage()

void le::input::ActionMapping::disengage ( )
overridevirtual

Disengage all bindings.

Implements le::input::IMapping.

◆ dispatch()

void le::input::ActionMapping::dispatch ( std::span< le::Event const >  events,
Gamepad::Manager const &  gamepads 
)
overridevirtual

Process events and dispatch callbacks.

Parameters
eventsList of events for this frame.
gamepadsGamepad manager instance.

Implements le::input::IMapping.

◆ unbind_action()

void le::input::ActionMapping::unbind_action ( gsl::not_null< IAction const * >  action)

Remove existing bindings for an action, if any.

Parameters
actionAction to remove bindings for.

The documentation for this class was generated from the following file: