# ImGuiSession **命名空间**: `XCEngine::Editor::UI` **类型**: `class` **源文件**: `editor/src/UI/ImGuiSession.h` **描述**: 管理编辑器的 ImGui 上下文、布局 ini 文件位置、基础字体配置和默认主题应用。 ## 概述 `ImGuiSession` 负责的是 ImGui 自身的生命周期和持久化布局配置。 它当前主要做三件事: - 创建/销毁 ImGui context - 把布局 ini 文件放到 `/.xceditor/imgui_layout.ini` - 配置默认字体并应用基础主题 ## 当前实现说明 - `Initialize(projectPath)` 会开启 `ImGuiConfigFlags_DockingEnable`。 - 字体优先尝试加载 `C:/Windows/Fonts/msyh.ttc`,失败时回退到 ImGui 默认字体。 - `Shutdown()` 会先保存设置,再销毁当前 context。 - `SaveSettings()` 只在 context 存在且 ini 路径非空时生效。 ## 当前实现边界 - 当前字体路径写死为 Windows 字体目录。 - 当前 ini 文件位置策略是项目局部目录,而不是全局用户目录。 - 当前主要负责会话和基础样式,不处理平台/渲染后端桥接。 ## 相关文档 - [UI](../UI.md) - [Application](../../Application/Application.md) - [Win32EditorHost](../../Platform/Win32EditorHost/Win32EditorHost.md)