#include "mockclassicnote.h" #include "graphics/classicgraphicsmanager.h" #include "graphics/animations/classicanimationscenario.h" MockClassicNote::MockClassicNote(MockArrowNoteInitializer&& init) : ClassicNote({nullptr, {}, init.initializer.perfect_offset}), _state(State::NONE), _context(init.initializer.context) { _elements.resize(init.elements.size()); for (std::size_t i = 0; i < _elements.size(); ++i) { _elements[i].coordinates = init.elements[i].coordinates; _elements[i].type = init.elements[i].type; } } void MockClassicNote::putToGame() { _state = State::FLYING; } void MockClassicNote::update(const microsec &music_offset) { switch (_state) { default: return; break; case State::FLYING: if (music_offset > offset()) _state = State::DEAD; break; } for (auto& element : _elements) if (element.animations[_state]) element.animations[_state]->update(music_offset); }