diff --git a/src/Editor/Ghost.Editor/App.xaml b/src/Editor/Ghost.Editor/App.xaml
index a329b04..3df924f 100644
--- a/src/Editor/Ghost.Editor/App.xaml
+++ b/src/Editor/Ghost.Editor/App.xaml
@@ -10,6 +10,7 @@
+
diff --git a/src/Editor/Ghost.Editor/Themes/DockingDictionary.xaml b/src/Editor/Ghost.Editor/Themes/DockingDictionary.xaml
new file mode 100644
index 0000000..13dd43f
--- /dev/null
+++ b/src/Editor/Ghost.Editor/Themes/DockingDictionary.xaml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Editor/Ghost.Editor/View/Windows/EngineEditorWindow.xaml.cs b/src/Editor/Ghost.Editor/View/Windows/EngineEditorWindow.xaml.cs
index a0f8668..8c9bb9e 100644
--- a/src/Editor/Ghost.Editor/View/Windows/EngineEditorWindow.xaml.cs
+++ b/src/Editor/Ghost.Editor/View/Windows/EngineEditorWindow.xaml.cs
@@ -43,6 +43,41 @@ internal sealed partial class EngineEditorWindow : WindowEx
_notificationService.SetReference(InfoBar, NotificationQueue);
_progressService.SetReference(ProgressBarContainer);
+
+ InitializeDockingLayout();
+ }
+
+ private void InitializeDockingLayout()
+ {
+ var sceneDoc = new Ghost.Editor.View.Controls.Docking.DockDocument { Title = "Scene", Content = new Ghost.Editor.View.Pages.EngineEditor.ScenePage() };
+ var hierarchyDoc = new Ghost.Editor.View.Controls.Docking.DockDocument { Title = "Hierarchy", Content = new Ghost.Editor.View.Controls.Hierarchy() };
+ var inspectorDoc = new Ghost.Editor.View.Controls.Docking.DockDocument { Title = "Inspector", Content = new Ghost.Editor.View.Pages.EngineEditor.InspectorPage() };
+ var projectDoc = new Ghost.Editor.View.Controls.Docking.DockDocument { Title = "Project", Content = new Ghost.Editor.View.Controls.ProjectBrowser() };
+ var consoleDoc = new Ghost.Editor.View.Controls.Docking.DockDocument { Title = "Console", Content = new Ghost.Editor.View.Pages.EngineEditor.ConsolePage() };
+
+ var leftGroup = new Ghost.Editor.View.Controls.Docking.DockGroup();
+ leftGroup.AddChild(hierarchyDoc);
+
+ var centerGroup = new Ghost.Editor.View.Controls.Docking.DockGroup();
+ centerGroup.AddChild(sceneDoc);
+
+ var rightGroup = new Ghost.Editor.View.Controls.Docking.DockGroup();
+ rightGroup.AddChild(inspectorDoc);
+
+ var bottomGroup = new Ghost.Editor.View.Controls.Docking.DockGroup();
+ bottomGroup.AddChild(projectDoc);
+ bottomGroup.AddChild(consoleDoc);
+
+ var topPanel = new Ghost.Editor.View.Controls.Docking.DockPanel { Orientation = Microsoft.UI.Xaml.Controls.Orientation.Horizontal };
+ topPanel.AddChild(leftGroup);
+ topPanel.AddChild(centerGroup);
+ topPanel.AddChild(rightGroup);
+
+ var rootPanel = new Ghost.Editor.View.Controls.Docking.DockPanel { Orientation = Microsoft.UI.Xaml.Controls.Orientation.Vertical };
+ rootPanel.AddChild(topPanel);
+ rootPanel.AddChild(bottomGroup);
+
+ MainDockingLayout.RootModule = rootPanel;
}
private void MainGrid_Unloaded(object sender, Microsoft.UI.Xaml.RoutedEventArgs e)