- editor project
- build system fixes
- dummy data editor panels mock
This commit is contained in:
2026-09-16 02:28:42 -07:00
parent 169ff4a277
commit dffb7b7972
11 changed files with 241 additions and 9 deletions
+34
View File
@@ -0,0 +1,34 @@
#include "scene_hierarchy_panel.hpp"
#include <imgui.h>
void SceneHierarchyPanel::drawNode(const Node& node) {
if (node.children.empty()) {
ImGuiTreeNodeFlags flags = ImGuiTreeNodeFlags_Leaf |
ImGuiTreeNodeFlags_NoTreePushOnOpen |
ImGuiTreeNodeFlags_SpanAvailWidth;
if (node.name == selected) {
flags |= ImGuiTreeNodeFlags_Selected;
}
ImGui::TreeNodeEx(node.name.c_str(), flags);
if (ImGui::IsItemClicked()) {
selected = node.name;
}
return;
}
if (ImGui::TreeNodeEx(node.name.c_str(), ImGuiTreeNodeFlags_SpanAvailWidth)) {
for (const Node& child : node.children) {
drawNode(child);
}
ImGui::TreePop();
}
}
void SceneHierarchyPanel::onUpdate(const sophia::FrameInfo&) {
ImGui::Begin("Scene Hierarchy");
for (const Node& node : nodes) {
drawNode(node);
}
ImGui::End();
}