Display and control characteristics
This commit is contained in:
parent
acc2f0ca9d
commit
367d030ff1
@ -34,6 +34,12 @@ namespace gui {
|
||||
|
||||
void stat_second_menu() noexcept;
|
||||
|
||||
void materiel_menu() noexcept;
|
||||
|
||||
void gloire_menu() noexcept;
|
||||
|
||||
void richesse_menu() noexcept;
|
||||
|
||||
public:
|
||||
Gui() = delete;
|
||||
|
||||
|
@ -13,6 +13,14 @@ using namespace std::string_view_literals;
|
||||
namespace gui {
|
||||
class Window;
|
||||
|
||||
enum class characChanged {
|
||||
None,
|
||||
Adresse,
|
||||
Endurance,
|
||||
Chance,
|
||||
Habilete
|
||||
};
|
||||
|
||||
class GuiData final {
|
||||
private:
|
||||
friend class Gui;
|
||||
@ -21,6 +29,14 @@ namespace gui {
|
||||
|
||||
character::CharacterSheet &billy;
|
||||
|
||||
std::pair<characChanged, std::uint32_t> base{ characChanged::None, 0 };
|
||||
|
||||
std::pair<characChanged, std::uint32_t> carac{ characChanged::None, 0 };
|
||||
|
||||
std::pair<characChanged, std::uint32_t> materiel{ characChanged::None, 0 };
|
||||
|
||||
std::pair<characChanged, std::uint32_t> additional{ characChanged::None, 0 };
|
||||
|
||||
public:
|
||||
static constexpr std::array classes{
|
||||
"Guerrier"sv,
|
||||
@ -36,6 +52,14 @@ namespace gui {
|
||||
~GuiData() noexcept = default;
|
||||
|
||||
[[nodiscard]] Window &get_window() const;
|
||||
|
||||
[[nodiscard]] const std::pair<characChanged, std::uint32_t> &get_base() const { return base; }
|
||||
|
||||
[[nodiscard]] const std::pair<characChanged, std::uint32_t> &get_carac() const { return carac; }
|
||||
|
||||
[[nodiscard]] const std::pair<characChanged, std::uint32_t> &get_materiel() const { return materiel; }
|
||||
|
||||
[[nodiscard]] const std::pair<characChanged, std::uint32_t> &get_additional() const { return additional; }
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -87,6 +87,17 @@ void gui::Gui::render_gui(const Controller &controller) {
|
||||
|
||||
stat_second_menu();
|
||||
|
||||
materiel_menu();
|
||||
|
||||
ImGui::SameLine();
|
||||
|
||||
ImGui::BeginGroup();
|
||||
gloire_menu();
|
||||
|
||||
richesse_menu();
|
||||
ImGui::EndGroup();
|
||||
|
||||
|
||||
ImGui::End();
|
||||
|
||||
controller.control_menu();
|
||||
@ -105,36 +116,79 @@ void gui::Gui::render_gpu() const {
|
||||
void gui::Gui::habilete_menu() noexcept {
|
||||
ImGui::BeginChild("habilete", ImVec2(ImGui::GetWindowWidth() / 3, ImGui::GetWindowHeight() * 0.2f), true);
|
||||
ImGui::Text("Habileté");
|
||||
data.base.second = data.billy.get_habilete().get_base();
|
||||
data.base.first = ImGui::InputInt("Base", reinterpret_cast<int *>(&data.base.second)) ? characChanged::Habilete : characChanged::None;
|
||||
|
||||
data.carac.second = data.billy.get_habilete().get_carac();
|
||||
data.carac.first = ImGui::InputInt("Carac", reinterpret_cast<int *>(&data.carac.second)) ? characChanged::Habilete : characChanged::None;
|
||||
|
||||
data.materiel.second = data.billy.get_habilete().get_materiel();
|
||||
data.materiel.first = ImGui::InputInt("Matériel", reinterpret_cast<int *>(&data.materiel.second)) ? characChanged::Habilete : characChanged::None;
|
||||
|
||||
data.additional.second = data.billy.get_habilete().get_additional();
|
||||
data.additional.first = ImGui::InputInt("Additionnel", reinterpret_cast<int *>(&data.additional.second)) ?
|
||||
characChanged::Habilete :
|
||||
characChanged::None;
|
||||
ImGui::EndChild();
|
||||
}
|
||||
|
||||
void gui::Gui::adresse_menu() noexcept {
|
||||
ImGui::BeginChild("adresse", ImVec2(ImGui::GetWindowWidth() / 3, ImGui::GetWindowHeight() * 0.2f), true);
|
||||
ImGui::Text("Adresse");
|
||||
ImGui::Text("Bottom pane1");
|
||||
ImGui::Text("Bottom pane2");
|
||||
ImGui::Text("Bottom pane3");
|
||||
ImGui::Text("Bottom pane4");
|
||||
data.base.second = data.billy.get_adresse().get_base();
|
||||
data.base.first = ImGui::InputInt("Base", reinterpret_cast<int *>(&data.base.second)) ? characChanged::Adresse : characChanged::None;
|
||||
|
||||
data.carac.second = data.billy.get_adresse().get_carac();
|
||||
data.carac.first = ImGui::InputInt("Carac", reinterpret_cast<int *>(&data.carac.second)) ? characChanged::Adresse : characChanged::None;
|
||||
|
||||
data.materiel.second = data.billy.get_adresse().get_materiel();
|
||||
data.materiel.first = ImGui::InputInt("Matériel", reinterpret_cast<int *>(&data.materiel.second)) ? characChanged::Adresse : characChanged::None;
|
||||
|
||||
data.additional.second = data.billy.get_adresse().get_additional();
|
||||
data.additional.first = ImGui::InputInt("Additionnel", reinterpret_cast<int *>(&data.additional.second)) ?
|
||||
characChanged::Adresse :
|
||||
characChanged::None;
|
||||
ImGui::EndChild();
|
||||
}
|
||||
|
||||
void gui::Gui::endurance_menu() noexcept {
|
||||
ImGui::BeginChild("endurance", ImVec2(ImGui::GetWindowWidth() / 3, ImGui::GetWindowHeight() * 0.2f), true);
|
||||
ImGui::Text("Endurance");
|
||||
ImGui::Text("Bottom pane1");
|
||||
ImGui::Text("Bottom pane2");
|
||||
ImGui::Text("Bottom pane3");
|
||||
ImGui::Text("Bottom pane4");
|
||||
|
||||
data.base.second = data.billy.get_endurance().get_base();
|
||||
data.base.first = ImGui::InputInt("Base", reinterpret_cast<int *>(&data.base.second)) ? characChanged::Endurance : characChanged::None;
|
||||
|
||||
data.carac.second = data.billy.get_endurance().get_carac();
|
||||
data.carac.first = ImGui::InputInt("Carac", reinterpret_cast<int *>(&data.carac.second)) ? characChanged::Endurance : characChanged::None;
|
||||
|
||||
data.materiel.second = data.billy.get_endurance().get_materiel();
|
||||
data.materiel.first = ImGui::InputInt("Matériel", reinterpret_cast<int *>(&data.materiel.second)) ?
|
||||
characChanged::Endurance :
|
||||
characChanged::None;
|
||||
|
||||
data.additional.second = data.billy.get_endurance().get_additional();
|
||||
data.additional.first = ImGui::InputInt("Additionnel", reinterpret_cast<int *>(&data.additional.second)) ?
|
||||
characChanged::Endurance :
|
||||
characChanged::None;
|
||||
ImGui::EndChild();
|
||||
}
|
||||
|
||||
void gui::Gui::chance_menu() noexcept {
|
||||
ImGui::BeginChild("chance", ImVec2(ImGui::GetWindowWidth() / 3, ImGui::GetWindowHeight() * 0.2f), true);
|
||||
ImGui::Text("Chance");
|
||||
ImGui::Text("Bottom pane1");
|
||||
ImGui::Text("Bottom pane2");
|
||||
ImGui::Text("Bottom pane3");
|
||||
ImGui::Text("Bottom pane4");
|
||||
data.base.second = data.billy.get_chance().get_base();
|
||||
data.base.first = ImGui::InputInt("Base", reinterpret_cast<int *>(&data.base.second)) ? characChanged::Chance : characChanged::None;
|
||||
|
||||
data.carac.second = data.billy.get_chance().get_carac();
|
||||
data.carac.first = ImGui::InputInt("Carac", reinterpret_cast<int *>(&data.carac.second)) ? characChanged::Chance : characChanged::None;
|
||||
|
||||
data.materiel.second = data.billy.get_chance().get_materiel();
|
||||
data.materiel.first = ImGui::InputInt("Matériel", reinterpret_cast<int *>(&data.materiel.second)) ? characChanged::Chance : characChanged::None;
|
||||
|
||||
data.additional.second = data.billy.get_chance().get_additional();
|
||||
data.additional.first = ImGui::InputInt("Additionnel", reinterpret_cast<int *>(&data.additional.second)) ?
|
||||
characChanged::Chance :
|
||||
characChanged::None;
|
||||
ImGui::EndChild();
|
||||
}
|
||||
|
||||
@ -143,3 +197,21 @@ void gui::Gui::stat_second_menu() noexcept {
|
||||
ImGui::Text("STAT. SECONDAIRES");
|
||||
ImGui::EndChild();
|
||||
}
|
||||
|
||||
void gui::Gui::materiel_menu() noexcept {
|
||||
ImGui::BeginChild("materiel", ImVec2(ImGui::GetWindowWidth() / 3, ImGui::GetWindowHeight() * 0.2f), true);
|
||||
ImGui::Text("Matériel");
|
||||
ImGui::EndChild();
|
||||
}
|
||||
|
||||
void gui::Gui::gloire_menu() noexcept {
|
||||
ImGui::BeginChild("gloire", ImVec2(ImGui::GetWindowWidth() / 3, ImGui::GetWindowHeight() * 0.1f), true);
|
||||
ImGui::Text("Gloire");
|
||||
ImGui::EndChild();
|
||||
}
|
||||
|
||||
void gui::Gui::richesse_menu() noexcept {
|
||||
ImGui::BeginChild("richesse", ImVec2(ImGui::GetWindowWidth() / 3, ImGui::GetWindowHeight() * 0.1f), true);
|
||||
ImGui::Text("Richesse");
|
||||
ImGui::EndChild();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user