32 auto& sm = entt::locator<SceneManager>::value();
38 if (ImGui::Button(
"Pop"))
43 if (ImGui::Button(
"Pop all"))
49 static std::string s_buff;
50 ImGui::TextUnformatted(
"Create a new Scene");
53 if (ImGui::InputText(
"Name", &s_buff, ImGuiInputTextFlags_EnterReturnsTrue))
60 ImGui::CloseCurrentPopup();
75 static std::string top;
76 for (
auto&& [
id, scene] : sm.storage())
78 ImGui::PushID(
static_cast<int>(
id));
80 ImGuiTreeNodeFlags flags = ImGuiTreeNodeFlags_OpenOnArrow | ImGuiTreeNodeFlags_SpanAvailWidth | ImGuiTreeNodeFlags_OpenOnDoubleClick;
82 std::string tree_id = scene->name();
85 if (sm.top()->name() == scene->name())
87 flags |= ImGuiTreeNodeFlags_Selected;
92 if (ImGui::TreeNodeEx(tree_id.c_str(), flags))
94 if (ImGui::Button(
"Push"))
96 sm.push(scene->name());