#pragma once #include "classicmode/classicnote.h" #include "mockelement.h" #include "classicmode/arrownoteinitializer.h" class SelectionManager; class ClassicMockNote : public ClassicNote { public: explicit ClassicMockNote(ArrowNoteInitializer&& init, const std::shared_ptr& selection_manager); virtual ~ClassicMockNote() = default; virtual bool isActive(const kku::microsec& offset) const override; virtual void update(const kku::microsec &music_offset) override; virtual void input(kku::GameEvent&& input) override; virtual void display(const ClassicGraphicsManager * const manager) const override; virtual void setGraphics(ClassicGraphicsManager * const manager, kku::TimeRange&& range) override; virtual void removeGraphics(ClassicGraphicsManager * const manager) override; std::vector& getElements(); private: const std::shared_ptr _selection_manager; std::vector _elements; }; using MockElements = std::vector;