project-kyoku/modes/classicmode/game/holdmanager.h

23 lines
502 B
C
Raw Normal View History

2021-09-28 05:48:06 +02:00
#pragma once
#include "core/inputtype.h"
#include <vector>
2021-10-04 17:30:21 +02:00
#include <memory>
2021-09-28 05:48:06 +02:00
class ClassicArrowNote;
2021-10-04 17:30:21 +02:00
class ClassicGraphicsManager;
2021-09-28 05:48:06 +02:00
2021-10-04 17:30:21 +02:00
class HoldManager
2021-09-28 05:48:06 +02:00
{
public:
2021-10-04 17:30:21 +02:00
explicit HoldManager(const std::shared_ptr<ClassicGraphicsManager>& graphics_manager);
2021-09-28 05:48:06 +02:00
void emplace(ClassicArrowNote* note);
void checkRelease(sf::Keyboard::Key released_key);
2021-10-04 17:30:21 +02:00
void drawHoldBar();
2021-09-28 05:48:06 +02:00
private:
std::vector<ClassicArrowNote*> _notes_on_hold;
2021-10-04 17:30:21 +02:00
std::shared_ptr<ClassicGraphicsManager> _graphics_manager;
2021-09-28 05:48:06 +02:00
};