Files
XCEngine/docs/api/XCEngine/Editor/Application/Shutdown.md

1.1 KiB

Application::Shutdown

命名空间: XCEngine::Editor

类型: method

源文件: editor/src/Application.h

签名

void Shutdown();

作用

按反向顺序释放当前 Editor 宿主壳持有的主要资源与子系统。

当前实现行为

  • 会先把:
    • m_renderReady = false
    • m_hasLastFrameTime = false
  • 然后依次执行:
    • DetachEditorLayer()
    • 若存在 EditorContext,先把其 ViewportHostService 指针清空
    • m_viewportHostService.Shutdown()
    • UI::ShutdownBuiltInIcons()
    • m_imguiBackend.Shutdown()
    • m_imguiSession.Shutdown()
    • ShutdownScriptingRuntime()
    • ShutdownEditorContext()
    • 若资源系统曾初始化,则关闭 ResourceManager
    • m_windowRenderer.Shutdown()

设计含义

  • 当前 shutdown 顺序明显按依赖关系反向释放。
  • 特别是先断开 EditorContext -> ViewportHostService 引用,再销毁视口宿主,避免悬空服务指针。

相关文档