ECSTASY
All in the name
Loading...
Searching...
No Matches
ecstasy::integration::user_action Namespace Reference

User action integration. More...

Classes

struct  Action
 Describe an action changed event. More...
 
class  ActionBinding
 Action binding class, represent a binding between an input and a given action. More...
 
class  ActionBindings
 Wrapper of a std::vector of ActionBinding. More...
 
struct  ActionIdListener
 Action listener component templated with the target action id. More...
 
struct  ActionListener
 Action listener component. More...
 
class  PollActions
 Primary template of PollActions to unpack the action parameter pack. More...
 
class  PollActions< std::integer_sequence< Action::Id, Actions... > >
 Templated system to poll pending actions using the PendingActions resource. More...
 
class  UserProfile
 Represent an application user profile, allowing to configure basic informations like the action bindings. More...
 
class  Users
 UserProfile container resource. More...
 

Typedefs

template<typename E >
using is_valid_action_id = typename std::conditional< std::is_enum_v< E >, std::true_type, std::is_same< E, Action::Id > >::type
 Boolean type trait to check if a type is a valid action id type (enum or size_t).
 
using ActionListeners = std::unordered_map< Action::Id, ActionListener::Listener >
 Action listeners map.
 
using PendingActions = ecstasy::ObjectWrapper< std::queue< Action > >
 Queue of Action.
 

Detailed Description

User action integration.

Includes user action bindings (link events to actions) and user action listeners.

Note
This depends on the event integration.
Enabled by ECSTASY_INTEGRATIONS_USER_ACTION.
Author
Andréas Leroux (andre.nosp@m.as.l.nosp@m.eroux.nosp@m.@epi.nosp@m.tech..nosp@m.eu)
Since
1.0.0 (2024-03-26)

Typedef Documentation

◆ ActionListeners

Action listeners map.

Used to listen to more than one Action on a single entity.

Note
Doesn't handle Action::All .
Author
Andréas Leroux (andre.nosp@m.as.l.nosp@m.eroux.nosp@m.@epi.nosp@m.tech..nosp@m.eu)
Since
1.0.0 (2023-01-31)

Definition at line 84 of file ActionListener.hpp.

◆ is_valid_action_id

Boolean type trait to check if a type is a valid action id type (enum or size_t).

Template Parameters
EType to check.
Author
Andréas Leroux (andre.nosp@m.as.l.nosp@m.eroux.nosp@m.@epi.nosp@m.tech..nosp@m.eu)
Since
1.0.0 (2024-03-27)

Definition at line 42 of file ActionBinding.hpp.

◆ PendingActions