#pragma once #include #include "core/editor.h" #include "core/timeline.h" #include "game/classicnote.h" #include "classicmode/classicactions.h" class ClassicGraphicsManager; class ClassicEditor : public Editor { public: explicit ClassicEditor(const std::shared_ptr>& timeline, const std::shared_ptr& graphics_manager); virtual void input(PlayerInput&& inputdata) override; virtual void update(UpdateData&& updatedata) override; virtual void display() const override; virtual void recalculate(const microsec& timestamp) override; void selectNoteType(Type type) noexcept; private: inline microsec adjustOffset(microsec offset) const noexcept; Context _context; const std::shared_ptr> _timeline; const std::shared_ptr _graphics_manager; Type _selected_type; microsec _current_time; microsec _scroll_step; };