- 场景系统/数据配置框架/网络系统/Hotfix启动增加验证与当前状态 - 数据配置变更清单补充具体菜单/路径/命令 - 模块登记规则增加 README/使用指南/注意事项量化标准 - 模块文档模板明确 README 与使用指南分工 - MCP 使用规则维护要求改为 checklist Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2.6 KiB
2.6 KiB
场景系统
分类
- 核心框架
目的
管理 Unity 场景的加载、资源配置读取和场景生命周期回调。
核心路径
- 场景管理器:
Assets/Game/GameHFScripte/GameFunction/SceneManager/ - Unity 场景:
Assets/Game/GameMono/Scenes/
核心类
| 类 | 职责 |
|---|---|
HFSceneMgr |
场景管理器单例,继承 AbsHFSingleMonoBehaviour<HFSceneMgr> |
enHFSceneName |
场景枚举,例如 Game = 80001 |
加载流程
LoadScene(enHFSceneName scene, Action complete)
-> 转为资源/关卡 id
-> LoadScene(int levelId, Action complete)
-> HFFunCatalogue.NDB.ds_Resource840C5F09TableData.ReadTableByPK(levelId)
-> 读取资源配置
Editor 模式
从配置 Path 取文件名
-> SceneManager.LoadScene(scName)
非 Editor 模式
HFFunCatalogue.Asset.LoadAsset(levelId, ...)
-> 用结果中的 res.sceneName 调用 SceneManager.LoadScene
OnLoadScene() 同步调用 SceneManager.LoadScene() 后立即执行完成回调。
生命周期
ZYCore 中存在 IZYH_ZYCore_Scene 和 AbsZYH_ZYCore_Scene 接口:
- 进入加载场景
- 加载完成
- 进入/退出场景前后
- 切场景释放
ZYUGUI 窗口管理器提供:
isAutoCloseWhenToggleScene:切场景时自动关闭isAutoDestoryWhenToggleScene:切场景时自动销毁
使用规则
- 场景切换统一走
HFFunCatalogue.Scene.LoadScene()。 - 不要在场景里堆放运行时动态加载的资源。
- 切场景时注意 UI 窗口的自动关闭/销毁配置。
验证
- 构建
GameHF.csproj与SFMono.csproj。 - 在 Unity Editor 中切换场景,确认加载回调、资源引用和 UI 自动关闭行为正确。
- 检查
enHFSceneName与资源配置表的主键一致性。
当前状态
- 待验证
相关模块
文档关联
当本文档发生变更时,应同步检查以下关联文档,避免信息不一致。
| 文档 | 关联原因 |
|---|---|
| modules/模块索引.md | 模块索引是项目知识总入口 |
| modules/frameworks/资源管理/README.md | 场景资源加载依赖资源管理 |
| modules/frameworks/UI窗口系统/README.md | 切场景影响 UI 窗口生命周期 |
| rules/10-架构说明.md | 架构说明定义总体分层和依赖方向 |
| rules/30-模块登记规则.md | 模块登记规则定义分类和状态口径 |