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

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(...) 失败时还会弹出 Win32 MessageBoxW 错误框。

当前实现边界

  • 当前启动路径默认只面向单窗口 Win32 + D3D12 宿主。
  • 项目根目录由宿主启动时自动解析,不要求外部先传入项目路径。

相关文档