docs: sync editor viewport host docs
This commit is contained in:
45
docs/api/XCEngine/Editor/Application/Shutdown.md
Normal file
45
docs/api/XCEngine/Editor/Application/Shutdown.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# Application::Shutdown
|
||||
|
||||
**命名空间**: `XCEngine::Editor`
|
||||
|
||||
**类型**: `method`
|
||||
|
||||
**源文件**: `editor/src/Application.h`
|
||||
|
||||
## 签名
|
||||
|
||||
```cpp
|
||||
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` 引用,再销毁视口宿主,避免悬空服务指针。
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [Application](Application.md)
|
||||
- [Initialize](Initialize.md)
|
||||
- [Render](Render.md)
|
||||
Reference in New Issue
Block a user