libsuit  0.1.1
SFML User Interface Toolkit
Public Member Functions | List of all members
ui::Action Class Reference

An action that can be triggered by different controls. More...

#include <ui/Action.h>

Public Member Functions

 Action (std::string name)
 Construct an action with a name. 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
 Tell whether the action is continuous. More...
 
void setInstantaneous ()
 Set the action instantaneous. More...
 
bool isInstantaneous () const
 Tell whether the action is instantaneous. More...
 
Controls for the action
void addGamepadAxisControl (unsigned int id, sf::Joystick::Axis axis, Direction dir)
 Add a gamepad axis control. More...
 
void addGamepadButtonControl (unsigned int id, unsigned int button)
 Add a gamepad button control. More...
 
void addKeyControl (sf::Keyboard::Key key)
 Add a key control. More...
 
void addMouseButtonControl (sf::Mouse::Button button)
 Add a mouse button control. More...
 
void addCloseControl ()
 Add a close control. More...
 
State of the action
void update (const sf::Event &event)
 Update the state of the action thanks to an event. More...
 
bool isActive ()
 Tell whether the action is active. More...
 
void reset ()
 Reset the state of the action. More...
 

Detailed Description

An action that can be triggered by different controls.

Constructor & Destructor Documentation

ui::Action::Action ( std::string  name)

Construct an action with a name.

Parameters
namethe name of the action.

Member Function Documentation

void ui::Action::addCloseControl ( )

Add a close control.

See also
CloseControl
void ui::Action::addGamepadAxisControl ( unsigned int  id,
sf::Joystick::Axis  axis,
Direction  dir 
)

Add a gamepad axis control.

Parameters
idthe id of the gamepad.
axisthe axis of the gamepad.
dirthe direction of the axis of the gamepad.
See also
GamepadAxisControl
void ui::Action::addGamepadButtonControl ( unsigned int  id,
unsigned int  button 
)

Add a gamepad button control.

Parameters
idthe id of the gamepad.
buttonthe button of the gamepad
See also
GamepadButtonControl
void ui::Action::addKeyControl ( sf::Keyboard::Key  key)

Add a key control.

Parameters
keythe key of the keyboard.
See also
KeyControl
void ui::Action::addMouseButtonControl ( sf::Mouse::Button  button)

Add a mouse button control.

Parameters
buttonthe button of the mouse.
See also
MouseButtonControl
const std::string& ui::Action::getName ( ) const
inline

Get the name of the action.

Returns
the name of the action.
bool ui::Action::isActive ( )

Tell whether the action is active.

An action is active if at least one of its control is active.

Returns
true if the action is active.
See also
Control::isActive()
bool ui::Action::isContinuous ( ) const

Tell whether the action is continuous.

Returns
true if the action is continuous.
bool ui::Action::isInstantaneous ( ) const

Tell whether the action is instantaneous.

Returns
true if the action is instantaneous.
void ui::Action::reset ( )

Reset the state of the action.

This function depends of the type of the action.

See also
setContinuous(), setInstantaneous(), Control::reset()
void ui::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.

See also
reset(), setInstantaneous()
void ui::Action::setInstantaneous ( )

Set the action instantaneous.

An instantaneous action is an action that is active until the next reset() call.

See also
reset(), setContinuous()
void ui::Action::update ( const sf::Event &  event)

Update the state of the action thanks to an event.

Parameters
eventthe event to update the action.
See also
Control::update()