Files
UnityAI/modules/frameworks/Hotfix启动.md
lms d31b49221e [docs][fix]: 补齐单文件模块状态字段与 MCP 维护 checklist
- 场景系统/数据配置框架/网络系统/Hotfix启动增加验证与当前状态
- 数据配置变更清单补充具体菜单/路径/命令
- 模块登记规则增加 README/使用指南/注意事项量化标准
- 模块文档模板明确 README 与使用指南分工
- MCP 使用规则维护要求改为 checklist

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-15 14:40:38 +08:00

67 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Hotfix 启动
## 目的
记录非热更层更新启动代码、加载 AOT/HotUpdate 程序集并进入 `HFGameStart` 的稳定顺序。
## 主要路径
- 非热更入口:`Assets/Game/GameMono/Scripts/GameDllManager.cs`
- V2 公共下载层:`Assets/StrayFog/Core/SFSubPackageV2.cs`
- 热更入口:`Assets/Game/GameHFScripte/GameFunction/GameRoot/HFGameStart.cs`
- 普通资源检查:`Assets/Game/GameHFScripte/GameFunction/HFDownLoadSubPackage/`
## 启动顺序
```text
GameDllManager.GameStart
-> SetDownloadConfig
-> 获取远端 V2 subpackage.json
-> CheckAndDownloadBootstrapFiles
-> PersistentData / StreamingAssets / CDN 逐文件 MD5 校验
-> 按 LoadOrder 加载 AOT
-> 按 LoadOrder 加载 HotUpdate
-> 调用热更入口 HFGameStart.Init
-> CommitBootstrapCodeLoaded
-> CheckAndDownloadAllFiles 更新普通资源
-> 加载配置、场景和业务管理器
```
Bootstrap 阶段是普通资源的硬门禁。远端清单、代码下载、MD5、AOT、HotUpdate 或热更入口失败时,不提交新清单,也不进入普通资源比对。
## 失败处理
- 清单获取失败通过独立回调返回并阻断启动。
- 文件失败结果包含 Path、期望 MD5、错误和尝试 URL。
- 下载写临时文件MD5 成功后才替换 PersistentData 正式文件。
- AOT 始终先于 HotUpdate不同版本代码不能混合加载。
- 失败后可以重新执行整个 Bootstrap 阶段,已校验成功文件不会重复下载。
## 热更入口
`HFGameStart` 负责设置 GameSetting、检查普通资源、加载配置和场景、初始化业务管理器。业务访问框架能力统一通过 `HFFunCatalogue`
启动顺序变化必须同时检查非热更层、V2 门禁、普通资源和 UI 首屏,不能只修改热更入口一侧。
## 验证
- 构建 `GameMono``SFMono.csproj`)与非热更入口相关程序集。
- 构建 `GameHF.csproj`
- 在目标平台或 Editor 中验证 Bootstrap 阶段清单获取、MD5 校验、AOT/HotUpdate 加载顺序。
- 模拟 Bootstrap 失败(如断网、错误 MD5确认重试与回调行为。
- 验证普通资源更新后 `HFGameStart` 正常进入配置/场景加载。
## 当前状态
- 待验证
## 文档关联
| 文档 | 关联原因 |
|---|---|
| [模块索引](../模块索引.md) | 模块入口和状态 |
| [资源管理](资源管理/README.md) | V2 清单、Bootstrap 和普通资源 |
| [UI 窗口系统](UI窗口系统/README.md) | 启动后窗口加载 |
| [场景系统](场景系统.md) | 启动后的场景流程 |
| [架构说明](../../rules/10-架构说明.md) | 非热更层与热更层边界 |