2022-01-08 21:57:17 +01:00
|
|
|
#ifndef BILLYSHEET_GUI_HPP
|
|
|
|
#define BILLYSHEET_GUI_HPP
|
|
|
|
|
2022-01-09 00:43:33 +01:00
|
|
|
#include <filesystem>
|
2022-01-14 22:06:07 +01:00
|
|
|
#include "gui/menu/menu.hpp"
|
2022-01-09 00:43:33 +01:00
|
|
|
|
|
|
|
namespace fs = std::filesystem;
|
2022-01-08 21:57:17 +01:00
|
|
|
|
2022-01-20 23:16:51 +01:00
|
|
|
class Controller;
|
|
|
|
|
2024-02-26 23:40:46 +01:00
|
|
|
namespace character::characteristic {
|
|
|
|
class Characteristic;
|
|
|
|
}
|
|
|
|
|
2022-01-08 21:57:17 +01:00
|
|
|
namespace gui {
|
2022-01-09 00:43:33 +01:00
|
|
|
|
2024-01-28 20:31:50 +01:00
|
|
|
class GuiData;
|
2022-01-09 00:43:33 +01:00
|
|
|
|
2024-01-28 20:31:50 +01:00
|
|
|
class Window;
|
2022-02-09 23:43:49 +01:00
|
|
|
|
2024-01-28 20:31:50 +01:00
|
|
|
namespace menu { class MenuData; }
|
2022-01-14 22:06:07 +01:00
|
|
|
|
2024-01-28 20:31:50 +01:00
|
|
|
class Gui final {
|
|
|
|
private:
|
|
|
|
GuiData &data;
|
2022-01-09 00:43:33 +01:00
|
|
|
|
2024-01-28 20:31:50 +01:00
|
|
|
menu::Menu menu;
|
2022-01-14 19:21:42 +01:00
|
|
|
|
2024-01-28 20:31:50 +01:00
|
|
|
const fs::path font;
|
2022-01-08 21:57:17 +01:00
|
|
|
|
2024-01-28 20:31:50 +01:00
|
|
|
bool initialized{ false };
|
2022-01-24 21:00:25 +01:00
|
|
|
|
2024-01-28 20:31:50 +01:00
|
|
|
void habilete_menu() noexcept;
|
2022-01-24 21:00:25 +01:00
|
|
|
|
2024-01-28 20:31:50 +01:00
|
|
|
void adresse_menu() noexcept;
|
2022-01-24 21:00:25 +01:00
|
|
|
|
2024-01-28 20:31:50 +01:00
|
|
|
void endurance_menu() noexcept;
|
2022-01-24 21:00:25 +01:00
|
|
|
|
2024-01-28 20:31:50 +01:00
|
|
|
void chance_menu() noexcept;
|
2022-01-24 21:00:25 +01:00
|
|
|
|
2024-01-28 20:31:50 +01:00
|
|
|
void stat_second_menu() noexcept;
|
2022-01-24 21:00:25 +01:00
|
|
|
|
2024-01-28 20:31:50 +01:00
|
|
|
void materiel_menu() noexcept;
|
2022-01-31 20:37:35 +01:00
|
|
|
|
2024-01-28 20:31:50 +01:00
|
|
|
void gloire_menu() noexcept;
|
2022-01-31 20:37:35 +01:00
|
|
|
|
2024-01-28 20:31:50 +01:00
|
|
|
void richesse_menu() noexcept;
|
2022-01-31 20:37:35 +01:00
|
|
|
|
2024-01-28 20:31:50 +01:00
|
|
|
public:
|
|
|
|
Gui() = delete;
|
2022-01-08 21:57:17 +01:00
|
|
|
|
2024-01-28 20:31:50 +01:00
|
|
|
explicit Gui(Window &window, GuiData &data, menu::MenuData &menuData);
|
2022-01-09 00:43:33 +01:00
|
|
|
|
2024-01-28 20:31:50 +01:00
|
|
|
~Gui() noexcept;
|
2022-01-09 00:43:33 +01:00
|
|
|
|
2024-01-28 20:31:50 +01:00
|
|
|
void render_gui(const Controller &controller);
|
2022-01-09 00:43:33 +01:00
|
|
|
|
2024-01-28 20:31:50 +01:00
|
|
|
void render_gpu() const;
|
2024-02-26 23:40:46 +01:00
|
|
|
|
|
|
|
static void characteristic_gui(const character::characteristic::Characteristic &characteristic) noexcept;
|
2024-01-28 20:31:50 +01:00
|
|
|
};
|
2022-01-08 21:57:17 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
#endif //BILLYSHEET_GUI_HPP
|