#pragma once #include "interfaces/command.hpp" #include "interfaces/cursor.hpp" #include "interfaces/scene.hpp" #include "interfaces/window.hpp" #include "engine/data/vector2.hpp" #include class MoveCursorCommand : public ICommand { public: MoveCursorCommand(const Vector2 &direction, const std::shared_ptr &cursor_controller, const std::shared_ptr &scene, const std::shared_ptr &window) noexcept; void execute() noexcept override; private: Vector2 _direction; const std::shared_ptr &_cursor_controller; const std::shared_ptr &_scene; const std::shared_ptr &_window; };