#pragma once #include "interfaces/generation_tracker.hpp" #include "interfaces/status_manager.hpp" #include "interfaces/statusline.hpp" #include "engine/data/vector2.hpp" #include #include class StatusManager : public IStatusManager { public: explicit StatusManager(std::shared_ptr statusline) noexcept; void initialize() noexcept override; void set_section_title( const StatusLineSection §ion, const std::string_view &title) noexcept override; void set_section_body( const StatusLineSection §ion, const std::string_view &body) noexcept override; auto get_statusline() const noexcept -> std::shared_ptr override; private: std::shared_ptr _statusline; std::unordered_map _title_lengths; };