namespace Nerfed.Editor.Editor { internal static class EditorGui { internal static void Initialize() { // Create GuiController. // Subscribe to GUI update. // GuiController.OnGui call => UpdateDock; // GuiController.OnGui call => UpdateEditorWindows; // GuiController.OnGui call => ...; } internal static void Update() { // Update GuiController. } internal static void Render() { // Reneder GuiController. } private static void UpdateDock() { // Setup default dockspace for the main window. } } }