BillySheet/include/gui/gui.hpp

65 lines
1.1 KiB
C++

#ifndef BILLYSHEET_GUI_HPP
#define BILLYSHEET_GUI_HPP
#include <filesystem>
#include "gui/menu/menu.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;
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