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++
#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;
|
|
};
|