35 lines
711 B
Markdown
35 lines
711 B
Markdown
# MonoScriptRuntime::Initialize
|
|
|
|
**命名空间**: `XCEngine::Scripting`
|
|
|
|
**类型**: `method`
|
|
|
|
**头文件**: `XCEngine/Scripting/Mono/MonoScriptRuntime.h`
|
|
|
|
## 签名
|
|
|
|
```cpp
|
|
bool Initialize();
|
|
```
|
|
|
|
## 当前实现流程
|
|
|
|
1. 重新 `ResolveSettings()`。
|
|
2. 清空 `m_lastError`。
|
|
3. 若已初始化,直接返回 `true`。
|
|
4. 初始化 Mono root domain。
|
|
5. 创建 app domain。
|
|
6. 加载核心程序集和游戏程序集。
|
|
7. 发现脚本类并建立缓存。
|
|
8. 成功后置 `m_initialized = true`。
|
|
|
|
## 失败处理
|
|
|
|
- 若加载程序集或类发现失败,会销毁 app domain。
|
|
- 失败原因会写入 `m_lastError`。
|
|
|
|
## 相关文档
|
|
|
|
- [Shutdown](Shutdown.md)
|
|
- [GetLastError](GetLastError.md)
|