#ifndef CLASSICGAME_H #define CLASSICGAME_H #include #include #include "game/game.h" #include "classicactions.h" #include #include class Music; class ClassicNote; class ClassicTimeline; class ClassicGraphicsManager; class ClassicNoteManager; class ClassicGame final : public Game { public: explicit ClassicGame(std::shared_ptr&& manager, std::unique_ptr&& music); virtual ~ClassicGame() override; virtual void run() override; virtual void input(PlayerInput &&inputdata) override; virtual void update() override; virtual void draw() const override; private: std::map _keys_to_buttons; std::map _buttons_to_pressed_actions; std::map _buttons_to_released_actions; std::vector _notes_on_hold; std::unique_ptr _timeline; std::shared_ptr _graphics_manager; std::shared_ptr _note_manager; sf::SoundBuffer _slap_buffer; sf::Sound _slap; std::unique_ptr _music; bool _is_paused; }; #endif // CLASSICGAME_H