X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fcontrol%2Finput_manager.hpp;h=d047e537b75a4195716ef36a1b36c54f4274aa04;hb=8d724d1a29a14ef6e8ffaf39a642cd588808d54f;hp=7e5e377f6e71e773882352762012290645e0f465;hpb=fdd4409cae442e2ccf092da87f4b7c6e0a6d7382;p=supertux.git diff --git a/src/control/input_manager.hpp b/src/control/input_manager.hpp index 7e5e377f6..d047e537b 100644 --- a/src/control/input_manager.hpp +++ b/src/control/input_manager.hpp @@ -25,6 +25,7 @@ #include #include +#include "util/currenton.hpp" #include "util/reader_fwd.hpp" #include "util/writer_fwd.hpp" @@ -35,8 +36,10 @@ class JoystickMenu; class KeyboardManager; class KeyboardMenu; class Menu; +class KeyboardConfig; +class JoystickConfig; -class InputManager final +class InputManager final : public Currenton { private: friend class KeyboardMenu; @@ -45,16 +48,18 @@ private: typedef Controller::Control Control; public: - InputManager(); + InputManager(KeyboardConfig& keyboard_config, + JoystickConfig& joystick_config); virtual ~InputManager(); void process_event(const SDL_Event& event); - void write(Writer& writer); - void read(const Reader& lisp); void update(); void reset(); + void use_game_controller(bool v); + bool use_game_controller() const { return m_use_game_controller; } + Controller* get_controller(); private: @@ -63,7 +68,7 @@ private: public: bool m_use_game_controller; std::unique_ptr keyboard_manager; - std::unique_ptr joystick_manager; + std::unique_ptr joystick_manager; std::unique_ptr game_controller_manager; private: