forked from NaiJi/project-kyoku
Implement logic for HoldManager
parent
24aadf8174
commit
8579dc5507
@ -1,6 +1,36 @@
|
|||||||
#include "holdmanager.h"
|
#include "holdmanager.h"
|
||||||
|
#include "classicarrownote.h"
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
/* THIS IS SIDEQUEST!!!! Right now I am working on the Editor >:C
|
HoldManager::HoldManager(const std::shared_ptr<ClassicGraphicsManager>& graphics_manager) :
|
||||||
*
|
_graphics_manager(graphics_manager)
|
||||||
* */
|
{}
|
||||||
|
|
||||||
|
void HoldManager::emplace(ClassicArrowNote* note)
|
||||||
|
{
|
||||||
|
_notes_on_hold.emplace_back(note);
|
||||||
|
}
|
||||||
|
|
||||||
|
void HoldManager::checkRelease(sf::Keyboard::Key released_key)
|
||||||
|
{
|
||||||
|
bool key_match = std::any_of(_notes_on_hold.begin(), _notes_on_hold.end(),
|
||||||
|
[released_key](const auto& note)
|
||||||
|
{
|
||||||
|
return note->isPressedAs(released_key);
|
||||||
|
});
|
||||||
|
|
||||||
|
if (key_match)
|
||||||
|
_notes_on_hold.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
void HoldManager::drawHoldBar()
|
||||||
|
{
|
||||||
|
if (_notes_on_hold.empty())
|
||||||
|
return;
|
||||||
|
|
||||||
|
/* taking proxy sprites for notes on hold
|
||||||
|
* and drawing on centered bar */
|
||||||
|
|
||||||
|
// _graphics_manager-> . . .
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue