#include "GUI.h" void SceneExplorer(Scene& scene, std::string PanelName) { if (ImGui::Begin(PanelName.c_str())) { ImGui::ListBoxHeader("##ObjectList"); Node& current = scene.GetRoot(); Node* next = ¤t; // Show first node ImGui::Selectable(next->name.c_str(), true); ImGui::Indent(); if (next->children.size() != 0) { for (auto child : next->children) { std::string& name = child->name; ImGui::Selectable(name.c_str(), false); } } ImGui::ListBoxFooter(); } ImGui::End(); } void CameraTool(Camera* cam) { ImGui::Begin("Camera"); ImGui::SliderFloat("Zoom:", &cam->Zoom, 10, 190); ImGui::InputFloat3("Position:", &cam->Position[0]); ImGui::InputFloat3("Rotation:", &cam->Rotation[0]); ImGui::End(); } void ScriptingTool(char* code) { ImGui::Begin("Scripting"); ImGui::InputTextMultiline("Lua Script", code, 255); bool runCode = ImGui::Button("Run"); ImGui::End(); } void transformWindow(Transform& transform, std::string PanelName) { ImGui::Begin(PanelName.c_str()); ImGui::InputFloat3("Position:", (float*)&transform.Position[0]); ImGui::InputFloat3("Rotation:", (float*)&transform.Rotation[0]); ImGui::InputFloat3("Scale:", (float*)&transform.Scale[0]); ImGui::End(); } void materialWindow(Material& material, std::string PanelName) { ImGui::Begin(PanelName.c_str()); ImGui::ColorPicker3("Color:", &material.Color[0]); ImGui::End(); }