- 删除 01~05 旧中文教程目录 - 将 03 核心功能教程拆分为各 framework 模块的子文档 - 06 工具脚本移入 modules/frameworks/编辑器工具/UI工具/ - 非框架内容合并进 rules/20-开发规则.md 与 rules/40-工作流清单.md - 更新所有交叉链接与文档关联表 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2.4 KiB
2.4 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 窗口的自动关闭/销毁配置。
相关模块
文档关联
当本文档发生变更时,应同步检查以下关联文档,避免信息不一致。
| 文档 | 关联原因 |
|---|---|
| modules/模块索引.md | 模块索引是项目知识总入口 |
| modules/frameworks/资源管理/README.md | 场景资源加载依赖资源管理 |
| modules/frameworks/UI窗口系统/README.md | 切场景影响 UI 窗口生命周期 |
| rules/10-架构说明.md | 架构说明定义总体分层和依赖方向 |
| rules/30-模块登记规则.md | 模块登记规则定义分类和状态口径 |