#pragma once #include "src/Core/Core.h" #include "IEditorWidget.h" #include "EditorContext.h" #include #include // Forward declarations namespace Nuake { class Scene; class Entity; } class SceneHierarchyWidget; class SceneEditorWindow { private: std::string windowID; // This is used for imgui docking EditorContext editorContext; std::vector> widgets; public: SceneEditorWindow(Ref scene); ~SceneEditorWindow() = default; public: void Update(float ts); void Draw(); private: template inline void RegisterWidget() { widgets.push_back(CreateScope(editorContext)); } };