You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
883 B
C
29 lines
883 B
C
3 years ago
|
#pragma once
|
||
|
|
||
|
#include "game/inputtype.h"
|
||
|
#include "classicnote.h"
|
||
|
#include <memory>
|
||
|
|
||
|
class ClassicGraphicsManager;
|
||
|
|
||
|
class ClassicNoteManager
|
||
|
{
|
||
|
public:
|
||
|
explicit ClassicNoteManager(const std::shared_ptr<ClassicGraphicsManager>& 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<ClassicGraphicsManager> _graphics_manager;
|
||
|
};
|