project-kyoku/modes/classicmode/game/classicnote.cpp

33 lines
776 B
C++
Raw Normal View History

#include "classicnote.h"
#include "graphics/classicsprite.h"
#include "graphics/classicgraphicsmanager.h"
// Replace with interface by dependency injection
#include "graphics/classicflyinganimationscenario.h"
#include "graphics/classicdyinganimationscenario.h"
//
2021-09-27 23:48:06 -04:00
ClassicNote::ClassicNote(NoteInitializer &&init) :
Note(init.perfect_offset),
_evaluator(init.intervals, _perfect_offset),
2021-09-27 23:48:06 -04:00
_state(State::NONE),
_context(init.context)
{}
bool ClassicNote::isActive(const microsec& offset) const
{
return _evaluator.isActive(offset)
&& _state != State::DYING;
}
bool ClassicNote::isInGame() const
{
return _state == State::FLYING
|| _state == State::DYING;
}
bool ClassicNote::shouldRemove() const
{
return _state == State::DEAD;
}