19 #ifndef DEVICE_MANAGER_HPP 
   20 #define DEVICE_MANAGER_HPP 
   22 #include "input/gamepad_config.hpp" 
   23 #include "input/input_manager.hpp" 
   24 #include "input/keyboard_config.hpp" 
   25 #include "states_screens/state_manager.hpp" 
   26 #include "utils/no_copy.hpp" 
   27 #include "utils/ptr_vector.hpp" 
   30 #include <IEventReceiver.h> 
   73     PlayerAssignMode                   m_assign_mode;
 
   86     InputDevice *mapGamepadInput( Input::InputType type, 
int deviceID,
 
   87                                   int btnID, 
int axisDir,
 
   89                                   InputManager::InputDriverMode mode,
 
   93                                   InputManager::InputDriverMode mode,
 
  105     PlayerAssignMode    getAssignMode()
 const               { 
return m_assign_mode; }
 
  106     void                setAssignMode(
const PlayerAssignMode assignMode);
 
  110     int getGamePadAmount()
 const                            { 
return m_gamepads.size(); }
 
  111     int getGamePadConfigAmount()
 const                      { 
return m_gamepad_configs.size(); }
 
  113     GamepadConfig*      getGamepadConfig(
const int i)       { 
return m_gamepad_configs.get(i); }
 
  115     void                clearGamepads();
 
  117     bool                getConfigForGamepad(
const int sdl_id, 
 
  118                                             const std::string& name,
 
  122     void addEmptyKeyboard();
 
  124     void                clearKeyboard();
 
  125     int                 getKeyboardAmount()                 { 
return m_keyboards.size(); }
 
  126     int                 getActiveKeyboardAmount()
 
  129         for (
unsigned int i=0;i<m_keyboard_configs.size();i++)
 
  131             if (m_keyboard_configs[i].isEnabled()) active++;
 
  135     int                 getKeyboardConfigAmount()
 const     { 
return m_keyboard_configs.size(); }
 
  137     KeyboardConfig*     getKeyboardConfig(
const int i)      { 
return m_keyboard_configs.get(i); }
 
  142     void                clearMultitouchDevices();
 
  143     void                updateMultitouchDevice();
 
  160     bool translateInput( Input::InputType type,
 
  165                          InputManager::InputDriverMode mode,
 
  169     void                clearLatestUsedDevice();
 
contains the key bindings information related to one input device
Definition: device_config.hpp:42
 
This class holds the list of all known devices (ands their configurations), as well as the list of cu...
Definition: device_manager.hpp:63
 
StateManager::ActivePlayer * getSinglePlayer()
Returns the active player if there is only a single local player.
Definition: device_manager.hpp:177
 
void setSinglePlayer(StateManager::ActivePlayer *p)
Sets the ActivePlayer if there is only a single local player.
Definition: device_manager.hpp:185
 
StateManager::ActivePlayer * m_single_player
Will be non-null in single-player mode.
Definition: device_manager.hpp:77
 
bool m_map_fire_to_select
If this is flag is set the next fire event (if the fire key is not mapped to anything else) will be m...
Definition: device_manager.hpp:83
 
void mapFireToSelect(bool v)
Sets or reset the 'map fire to select' option.
Definition: device_manager.hpp:192
 
specialisation of Inputdevice for gamepad type devices
Definition: gamepad_device.hpp:33
 
specialisation of DeviceConfig for gamepad type devices
Definition: gamepad_config.hpp:43
 
specialisation of DeviceConfig for keyboard type devices
Definition: keyboard_config.hpp:35
 
specialisation of InputDevice for keyboard type devices
Definition: keyboard_device.hpp:34
 
Definition: multitouch_device.hpp:76
 
Utility class, you can inherit from this class to disallow the assignment operator and copy construct...
Definition: no_copy.hpp:26
 
Represents a player that is currently playing.
Definition: state_manager.hpp:76