#pragma once #include "game/inputtype.h" #include "classicnote.h" #include class ClassicGraphicsManager; class ClassicNoteManager { public: explicit ClassicNoteManager(const std::shared_ptr& manager); ~ClassicNoteManager(); bool isActive(const ClassicNote* note) const; void update(ClassicNote* note, const microsec &music_offset); void input(ClassicNote* note, PlayerInput&& inputdata); void putToGame(ClassicNote* note, const microsec &music_offset); bool isInGame(const ClassicNote* note) const; bool shouldRemove(const ClassicNote* note) const; void draw(const ClassicNote* note) const; bool allElementsPressed(const ClassicNote* note) const; bool isPressedAs(const ClassicNote* note, sf::Keyboard::Key key) const; private: const std::shared_ptr _graphics_manager; };