make quit button useful

This commit is contained in:
2025-03-29 16:46:57 +01:00
parent 6fa0475acf
commit 2f0c9ad012
3 changed files with 17 additions and 7 deletions

View File

@@ -3,7 +3,7 @@
namespace ph {
namespace gui {
void Render();
bool Render();
void Init();
} // namespace gui

View File

@@ -107,24 +107,29 @@ static void RenderGameWindow() {
})
}
static void RenderMainWindow() {
static bool RenderMainWindow() {
if (ImGui::Button("Nouvelle Partie")) {
InGame = true;
Right = true;
}
if (ImGui::Button("Quitter")) {
// TODO
return false;
}
return true;
}
void Render() {
bool Render() {
ImGuiIO& io = ImGui::GetIO();
ImGui::SetNextWindowPos(ImVec2(io.DisplaySize.x * 0.5f, io.DisplaySize.y * 0.5f), ImGuiCond_Always, ImVec2(0.5f, 0.5f));
ImGui::Begin("MainWindow", nullptr, ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoDecoration);
if (InGame)
RenderGameWindow();
else
RenderMainWindow();
else {
if (!RenderMainWindow()) {
ImGui::End();
return false;
}
}
if (Cooldown > 0.0f) {
ImGui::NewLine();
@@ -139,6 +144,8 @@ void Render() {
#ifndef NDEBUG
ImGui::ShowDemoWindow();
#endif
return true;
}
void Init() {}

View File

@@ -146,7 +146,10 @@ int main(int, char**) {
ImGui_ImplSDL2_NewFrame();
ImGui::NewFrame();
ph::gui::Render();
if (!done && !ph::gui::Render()) {
done = true;
}
// Rendering
ImGui::Render();