#ifndef BILLYSHEET_GUI_HPP #define BILLYSHEET_GUI_HPP #include #include "gui/menu/menu.hpp" #include "billy_objects.hpp" namespace fs = std::filesystem; class Controller; namespace character::characteristic { class Characteristic; } namespace gui { class GuiData; class Window; namespace menu { class MenuData; } class Gui final { private: GuiData &data; character::BillyObjects deal_objects{}; menu::Menu menu; const fs::path font; bool initialized{ false }; void habilete_menu() noexcept; void adresse_menu() noexcept; void endurance_menu() noexcept; void chance_menu() noexcept; void stat_second_menu() noexcept; void materiel_menu() noexcept; void gloire_menu() noexcept; void richesse_menu() noexcept; public: Gui() = delete; explicit Gui(Window &window, GuiData &data, menu::MenuData &menuData); ~Gui() noexcept; void render_gui(const Controller &controller); void render_gpu() const; static void characteristic_gui(const character::characteristic::Characteristic &characteristic) noexcept; }; } #endif //BILLYSHEET_GUI_HPP