#pragma once #include "interfaces/component.hpp" #include "interfaces/cursor.hpp" #include "engine/data/vector2.hpp" #include #include // NOLINTNEXTLINE(cppcoreguidelines-special-member-functions) class IComponentRenderer { public: virtual ~IComponentRenderer() = default; virtual void render( const std::shared_ptr &component, const Vector2 &position) noexcept = 0; }; using IComponentRendererFactory = yacppdic::Factory( const std::shared_ptr &)>;