Gamedev Framework (gf)
0.3.0
A C++11 framework for 2D games
|
An action that can be triggered by different controls. More...
#include <gf/Action.h>
Public Member Functions | |
Action (std::string name) | |
Construct an action with a name. More... | |
Action (const Action &)=delete | |
Deleted copy constructor. More... | |
Action & | operator= (const Action &)=delete |
Deleted copy assignment. More... | |
const std::string & | getName () const |
Get the name of the action. More... | |
Type of the action | |
void | setContinuous () |
Set the action continuous. More... | |
bool | isContinuous () const |
Check if the action is continuous. More... | |
void | setInstantaneous () |
Set the action instantaneous. More... | |
bool | isInstantaneous () const |
Check if the action is instantaneous. More... | |
Controls for the action | |
void | addKeycodeKeyControl (Keycode code) |
Add a key control. More... | |
void | addScancodeKeyControl (Scancode code) |
Add a key control. More... | |
void | addMouseButtonControl (MouseButton button) |
Add a mouse button control. More... | |
void | addGamepadButtonControl (GamepadId id, GamepadButton button) |
Add a gamepad button control. More... | |
void | addGamepadAxisControl (GamepadId id, GamepadAxis axis, GamepadAxisDirection dir) |
Add a gamepad axis control. More... | |
void | addCloseControl () |
Add a close control. More... | |
State of the action | |
void | processEvent (const Event &event) |
Update the state of the action thanks to an event. More... | |
bool | isActive () |
Check if the action is active. More... | |
void | reset () |
Reset the state of the action. More... | |
An action that can be triggered by different controls.
gf::Action::Action | ( | std::string | name | ) |
Construct an action with a name.
name | the name of the action. |
|
delete |
Deleted copy constructor.
void gf::Action::addCloseControl | ( | ) |
Add a close control.
void gf::Action::addGamepadAxisControl | ( | GamepadId | id, |
GamepadAxis | axis, | ||
GamepadAxisDirection | dir | ||
) |
Add a gamepad axis control.
id | the id of the gamepad. |
axis | the axis of the gamepad. |
dir | the direction of the axis of the gamepad. |
void gf::Action::addGamepadButtonControl | ( | GamepadId | id, |
GamepadButton | button | ||
) |
Add a gamepad button control.
id | the id of the gamepad. |
button | the button of the gamepad |
void gf::Action::addKeycodeKeyControl | ( | Keycode | code | ) |
void gf::Action::addMouseButtonControl | ( | MouseButton | button | ) |
void gf::Action::addScancodeKeyControl | ( | Scancode | code | ) |
|
inline |
Get the name of the action.
bool gf::Action::isActive | ( | ) |
Check if the action is active.
An action is active if at least one of its control is active.
bool gf::Action::isContinuous | ( | ) | const |
Check if the action is continuous.
bool gf::Action::isInstantaneous | ( | ) | const |
Check if the action is instantaneous.
void gf::Action::processEvent | ( | const Event & | event | ) |
Update the state of the action thanks to an event.
event | the event to update the action. |
void gf::Action::reset | ( | ) |
Reset the state of the action.
This function depends of the type of the action.
void gf::Action::setContinuous | ( | ) |
Set the action continuous.
A continuous action is an action that is active as long as the user do not desactivate it. A reset() call does not desactivate the action.
void gf::Action::setInstantaneous | ( | ) |
Set the action instantaneous.
An instantaneous action is an action that is active until the next reset() call.