Advance editor runtime and scripting integration

This commit is contained in:
2026-04-29 16:55:44 +08:00
parent 631bf32db2
commit 2e50c90167
60 changed files with 4071 additions and 228 deletions

View File

@@ -5,10 +5,12 @@
#include "EditorShellInteractionEngine.h"
#include "EditorShellSessionCoordinator.h"
#include "Assets/EditorIconService.h"
#include "Commands/EditorHostCommandBridge.h"
#include "Viewport/EditorViewportRuntimeServices.h"
#include "Windowing/EditorWorkspaceShellRuntime.h"
#include "WorkspacePanels/EditorWorkspacePanelRuntime.h"
#include <XCEditor/Foundation/UIEditorShortcutManager.h>
#include <XCEditor/Shell/UIEditorShellInteraction.h>
#include <XCEditor/Docking/UIEditorDockHostTransfer.h>
#include <XCEditor/Foundation/UIEditorTextMeasurement.h>
@@ -18,6 +20,7 @@
#include <XCEngine/UI/DrawData.h>
#include <filesystem>
#include <functional>
#include <memory>
#include <string_view>
#include <vector>
@@ -48,7 +51,10 @@ public:
EditorShellRuntime(
EditorWorkspacePanelRuntimeSet workspacePanels,
std::unique_ptr<EditorIconService> iconService,
std::unique_ptr<EditorViewportRuntimeServices> viewportRuntimeServices);
std::unique_ptr<EditorViewportRuntimeServices> viewportRuntimeServices,
UIEditorShortcutManager shortcutManager,
EditorHostCommandBridge::RuntimeCommandOwner& runtimeCommandOwner,
std::function<void()> requestExit);
void Initialize(
const EditorRuntimePaths& runtimePaths,
@@ -104,6 +110,9 @@ private:
std::unique_ptr<EditorIconService> m_iconService = {};
std::unique_ptr<EditorViewportRuntimeServices> m_viewportRuntimeServices = {};
EditorWorkspacePanelRuntimeSet m_workspacePanels = {};
UIEditorShortcutManager m_shortcutManager = {};
EditorHostCommandBridge m_hostCommandBridge = {};
UIEditorShellInteractionServices m_shellServices = {};
UIEditorShellInteractionState m_shellInteractionState = {};
UIEditorShellInteractionFrame m_shellFrame = {};
std::vector<WorkspaceTraceEntry> m_traceEntries = {};
@@ -117,7 +126,10 @@ private:
std::unique_ptr<EditorWorkspaceShellRuntime> CreateEditorWorkspaceShellRuntime(
EditorWorkspacePanelRuntimeSet workspacePanels,
std::unique_ptr<EditorIconService> iconService,
std::unique_ptr<EditorViewportRuntimeServices> viewportRuntimeServices);
std::unique_ptr<EditorViewportRuntimeServices> viewportRuntimeServices,
UIEditorShortcutManager shortcutManager,
EditorHostCommandBridge::RuntimeCommandOwner& runtimeCommandOwner,
std::function<void()> requestExit);
} // namespace XCEngine::UI::Editor::App