1.5 KiB
1.5 KiB
Application::Initialize
命名空间: XCEngine::Editor
类型: method
源文件: editor/src/Application.h
签名
bool Initialize(HWND hwnd);
作用
完成当前 Editor 宿主壳的启动编排,包括日志、项目根解析、窗口渲染宿主、资源系统、EditorContext、脚本运行时、ImGui 和 EditorLayer 挂接。
当前实现行为
- 启动早期会先执行:
InstallCrashExceptionFilter()RedirectStderrToExecutableLog()ConfigureEditorLogging(exeDir)
- 然后解析当前编辑器项目根目录,并尝试切换工作目录到该路径。
- 之后缓存主窗口句柄
m_hwnd,并调用InitializeWindowRenderer(hwnd)。 - 窗口渲染宿主成功后,会初始化全局
ResourceManager并把资源根设置到项目根目录。 - 接着按顺序初始化:
EditorContext- 脚本运行时
- ImGui session / backend / 内置图标 /
ViewportHostService EditorLayer
- 最后清空上一帧时间戳状态并把
m_renderReady设为true。
失败路径
- 任一关键步骤失败时,当前会直接返回
false。 InitializeWindowRenderer(...)失败时还会弹出 Win32MessageBoxW错误框。
当前实现边界
- 当前启动路径默认只面向单窗口 Win32 + D3D12 宿主。
- 项目根目录由宿主启动时自动解析,不要求外部先传入项目路径。