#pragma once #include #include #include #include #include "core/game.h" #include "core/timeline.h" #include "classicmode/context.h" #include "classicnote.h" #include "classicmode/classicactions.h" class ClassicGraphicsManager; class HoldManager; class ClassicGame final : public Game { public: explicit ClassicGame(); virtual ~ClassicGame() override; virtual void run() override; virtual void input(PlayerInput&& inputdata) override; virtual void update(UpdateData&& updatedata) override; virtual void draw(sf::RenderTarget& target, sf::RenderStates states) const override; private: std::map _keys_to_buttons; std::map _buttons_to_pressed_actions; std::map _buttons_to_released_actions; ClassicGraphicsManager * const _graphics_manager; std::shared_ptr _hold_manager; Timeline _timeline; sf::SoundBuffer _slap_buffer; sf::Sound _slap; Context _context; };