![]() |
Gamedev Framework (gf) 1.2.0
A C++17 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... | |
void | addControl (Control &control) |
Add a user-defined control. More... | |
State of the action | |
void | processEvent (const Event &event) |
Update the state of the action thanks to an event. More... | |
bool | isActive () const |
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.
An action can be continuous or instantaneous. A continuous action is an action that is active as long as the user do not desactivate it. An instantaneous action is an action that is triggered only once when it is active. By default, the action is instantaneous.
|
explicit |
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::addControl | ( | Control & | control | ) |
Add a user-defined control.
control | The 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 | ( | ) | const |
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.