editor: centralize engine runtime access

This commit is contained in:
2026-04-28 17:23:10 +08:00
parent 23aab98a09
commit 357dc136fe
36 changed files with 337 additions and 102 deletions

View File

@@ -21,7 +21,8 @@ void EditorShellRuntime::Initialize(
const EditorRuntimePaths& runtimePaths,
Rendering::Host::UiTextureHost& textureHost,
Host::EditorHostResourceService& resourceService,
UIEditorTextMeasurer& textMeasurer) {
UIEditorTextMeasurer& textMeasurer,
EditorEngineServices& engineServices) {
assert(m_iconService != nullptr);
assert(m_viewportRuntimeServices != nullptr);
if (m_iconService == nullptr || m_viewportRuntimeServices == nullptr) {
@@ -29,7 +30,7 @@ void EditorShellRuntime::Initialize(
}
m_iconService->Initialize(textureHost, resourceService);
m_viewportRuntimeServices->Initialize(runtimePaths);
m_viewportRuntimeServices->Initialize(runtimePaths, engineServices);
m_workspacePanels.Initialize(
EditorWorkspacePanelInitializationContext{
.runtimePaths = runtimePaths,
@@ -248,6 +249,8 @@ void EditorShellRuntime::Update(
});
m_traceEntries = frameServices.SyncWorkspacePanelFrameEvents(
m_workspacePanels.CollectFrameEvents());
frameServices.SyncSceneViewportRenderRequest(
m_viewportRuntimeServices->GetSceneViewportRuntime());
}
} // namespace XCEngine::UI::Editor::App