private unsafe void LoadWorkspaces() { uint dockspaceId = ImGui.GetID($"###workspace"); int workspaceID = 0; var windowFlags = ImGuiWindowFlags.NoCollapse; if (ImGui.DockBuilderGetNode(dock_id).NativePtr == null) { ReloadDockLayout(dock_id, workspaceID); } //Create an inital dock space for docking workspaces. ImGui.DockSpace(dock_id, new System.Numerics.Vector2(0.0f, 0.0f), 0, window_class); LoadWindow(GetWindowName("Viewport", workspaceID), windowFlags | ImGuiWindowFlags.MenuBar, ViewportRender); LoadWindow(GetWindowName("Timeline", workspaceID), windowFlags, TimelineWindow.Render); LoadWindow(GetWindowName("Outliner", workspaceID), windowFlags, () => Outliner.Render()); LoadWindow(GetWindowName("Properties", workspaceID), windowFlags, () => PropertyWindow.Render(Pipeline, Outliner, TimelineWindow)); }