From 8c46591488d08a0ec976a316127a02093a1bbe88 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Tue, 3 Oct 2017 21:26:59 +0100 Subject: [PATCH] Added ImGui.ShowDemo console variable to show/hide ImGui demo. --- Source/ImGui/Private/ImGuiDemo.cpp | 58 ++++++++++++++++++------------ 1 file changed, 35 insertions(+), 23 deletions(-) diff --git a/Source/ImGui/Private/ImGuiDemo.cpp b/Source/ImGui/Private/ImGuiDemo.cpp index 4d65904..4656701 100644 --- a/Source/ImGui/Private/ImGuiDemo.cpp +++ b/Source/ImGui/Private/ImGuiDemo.cpp @@ -6,34 +6,46 @@ #include "ImGuiModuleManager.h" +namespace CVars +{ + TAutoConsoleVariable ShowDemo(TEXT("ImGui.ShowDemo"), 0, + TEXT("Show ImGui demo.\n") + TEXT("0: disabled (default)\n") + TEXT("1: enabled."), + ECVF_Default); +} + // Demo copied from ImGui examples. See https://github.com/ocornut/imgui. void FImGuiDemo::DrawControls() { - // 1. Show a simple window - // Tip: if we don't call ImGui::Begin()/ImGui::End() the widgets appears in a window automatically called "Debug" + if (CVars::ShowDemo.GetValueOnGameThread() > 0) { - static float f = 0.0f; - ImGui::Text("Hello, world!"); - ImGui::SliderFloat("float", &f, 0.0f, 1.0f); - ImGui::ColorEdit3("clear color", (float*)&ClearColor); - if (ImGui::Button("Test Window")) bDemoShowTestWindow = !bDemoShowTestWindow; - if (ImGui::Button("Another Window")) bDemoShowAnotherTestWindow = !bDemoShowAnotherTestWindow; - ImGui::Text("Application average %.3f ms/frame (%.1f FPS)", 1000.0f / ImGui::GetIO().Framerate, ImGui::GetIO().Framerate); - } + // 1. Show a simple window + // Tip: if we don't call ImGui::Begin()/ImGui::End() the widgets appears in a window automatically called "Debug" + { + static float f = 0.0f; + ImGui::Text("Hello, world!"); + ImGui::SliderFloat("float", &f, 0.0f, 1.0f); + ImGui::ColorEdit3("clear color", (float*)&ClearColor); + if (ImGui::Button("Test Window")) bDemoShowTestWindow = !bDemoShowTestWindow; + if (ImGui::Button("Another Window")) bDemoShowAnotherTestWindow = !bDemoShowAnotherTestWindow; + ImGui::Text("Application average %.3f ms/frame (%.1f FPS)", 1000.0f / ImGui::GetIO().Framerate, ImGui::GetIO().Framerate); + } - // 2. Show another simple window, this time using an explicit Begin/End pair - if (bDemoShowAnotherTestWindow) - { - ImGui::SetNextWindowSize(ImVec2(200, 100), ImGuiSetCond_FirstUseEver); - ImGui::Begin("Another Window", &bDemoShowAnotherTestWindow); - ImGui::Text("Hello"); - ImGui::End(); - } + // 2. Show another simple window, this time using an explicit Begin/End pair + if (bDemoShowAnotherTestWindow) + { + ImGui::SetNextWindowSize(ImVec2(200, 100), ImGuiSetCond_FirstUseEver); + ImGui::Begin("Another Window", &bDemoShowAnotherTestWindow); + ImGui::Text("Hello"); + ImGui::End(); + } - // 3. Show the ImGui test window. Most of the sample code is in ImGui::ShowTestWindow() - if (bDemoShowTestWindow) - { - ImGui::SetNextWindowPos(ImVec2(650, 20), ImGuiSetCond_FirstUseEver); - ImGui::ShowTestWindow(&bDemoShowTestWindow); + // 3. Show the ImGui test window. Most of the sample code is in ImGui::ShowTestWindow() + if (bDemoShowTestWindow) + { + ImGui::SetNextWindowPos(ImVec2(650, 20), ImGuiSetCond_FirstUseEver); + ImGui::ShowTestWindow(&bDemoShowTestWindow); + } } }