HoverRace  2.0
Namespaces | Classes | Typedefs | Functions
HoverRace::Control Namespace Reference

Namespaces

 Mouse
 
 TextControl
 

Classes

class  Action
 Actions are effectively signals that can be triggered by both the InputEventController and other things such as UI buttons. More...
 
class  BlankAction
 An action performer that does absolutely nothing. More...
 
class  BrakeAction
 
struct  CancelCombiner
 Combiner that allows slots to cancel the remaining slots by returning true. More...
 
class  ChangeItemAction
 
class  ControlAction
 Abstract base class which allows us a simple reference to arbitrary functors of type ControlActionImpl (which bind a class via a template parameter). More...
 
struct  ControlState
 
class  EngineAction
 
class  InputEventController
 Translates input events into actions. More...
 
class  InputHandler
 
class  JumpAction
 
class  LookBackAction
 
class  Nav
 A navigation direction. More...
 
class  PlayerEffectAction
 
class  PowerupAction
 
class  TurnLeftAction
 
class  TurnRightAction
 

Typedefs

using ControlActionPtr = std::shared_ptr< ControlAction< int >>
 
typedef std::shared_ptr< InputHandlerInputHandlerPtr
 
using mouseClickSignal_t = boost::signals2::signal< bool(const Mouse::Click &), CancelCombiner >
 Signals for mouse clicks. More...
 
using mouseScrollSignal_t = boost::signals2::signal< bool(const Mouse::Scroll &), CancelCombiner >
 Signals for mouse scrolling. More...
 
using stringSignal_t = boost::signals2::signal< void(const std::string &)>
 Signals which have a single string payload. More...
 
using textControlSignal_t = boost::signals2::signal< void(TextControl::key_t)>
 Signals for text input control. More...
 
using valueSignal_t = boost::signals2::signal< void(int)>
 Signals which have a single (action-dependent) payload. More...
 
using vec2Signal_t = boost::signals2::signal< void(const Vec2 &)>
 Signals which have a Vec2 payload. More...
 
using voidSignal_t = boost::signals2::signal< void()>
 Signals which are self-contained (no payload). More...
 

Functions

std::ostream & operator<< (std::ostream &os, const Nav &nav)
 
template<class T >
std::ostream & operator<< (std::ostream &os, const ControlAction< T > &action)
 
template<class T , class Val >
void PerformAction (const T &, Val)
 
template<>
void PerformAction< mouseClickSignal_t, const Mouse::Click & > (const mouseClickSignal_t &signal, const Mouse::Click &vec)
 
template<>
void PerformAction< mouseScrollSignal_t, const Mouse::Scroll & > (const mouseScrollSignal_t &signal, const Mouse::Scroll &scroll)
 
template<>
void PerformAction< textControlSignal_t, TextControl::key_t > (const textControlSignal_t &signal, TextControl::key_t key)
 
template<>
void PerformAction< valueSignal_t, int > (const valueSignal_t &signal, int value)
 
template<>
void PerformAction< vec2Signal_t, const Vec2 & > (const vec2Signal_t &signal, const Vec2 &vec)
 
template<>
void PerformAction< voidSignal_t, int > (const voidSignal_t &signal, int value)
 

Typedef Documentation

using HoverRace::Control::ControlActionPtr = typedef std::shared_ptr<ControlAction<int>>
using HoverRace::Control::mouseClickSignal_t = typedef boost::signals2::signal<bool(const Mouse::Click&), CancelCombiner>

Signals for mouse clicks.

using HoverRace::Control::mouseScrollSignal_t = typedef boost::signals2::signal<bool(const Mouse::Scroll&), CancelCombiner>

Signals for mouse scrolling.

using HoverRace::Control::stringSignal_t = typedef boost::signals2::signal<void(const std::string&)>

Signals which have a single string payload.

using HoverRace::Control::textControlSignal_t = typedef boost::signals2::signal<void(TextControl::key_t)>

Signals for text input control.

using HoverRace::Control::valueSignal_t = typedef boost::signals2::signal<void(int)>

Signals which have a single (action-dependent) payload.

using HoverRace::Control::vec2Signal_t = typedef boost::signals2::signal<void(const Vec2&)>

Signals which have a Vec2 payload.

using HoverRace::Control::voidSignal_t = typedef boost::signals2::signal<void()>

Signals which are self-contained (no payload).

Function Documentation

std::ostream& HoverRace::Control::operator<< ( std::ostream &  os,
const Nav nav 
)
inline
template<class T >
std::ostream& HoverRace::Control::operator<< ( std::ostream &  os,
const ControlAction< T > &  action 
)
template<class T , class Val >
void HoverRace::Control::PerformAction ( const T &  ,
Val   
)
inline
template<>
void HoverRace::Control::PerformAction< mouseClickSignal_t, const Mouse::Click & > ( const mouseClickSignal_t signal,
const Mouse::Click vec 
)
inline
template<>
void HoverRace::Control::PerformAction< mouseScrollSignal_t, const Mouse::Scroll & > ( const mouseScrollSignal_t signal,
const Mouse::Scroll scroll 
)
inline
template<>
void HoverRace::Control::PerformAction< valueSignal_t, int > ( const valueSignal_t signal,
int  value 
)
inline
template<>
void HoverRace::Control::PerformAction< vec2Signal_t, const Vec2 & > ( const vec2Signal_t signal,
const Vec2 vec 
)
inline
template<>
void HoverRace::Control::PerformAction< voidSignal_t, int > ( const voidSignal_t signal,
int  value 
)
inline