Files
UnityAI/modules/frameworks/场景系统.md
lms ee1ff7f444 [docs][refactor]: 将旧 01~06 中文教程合并整理为 modules/frameworks 文件夹结构
- 删除 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>
2026-07-07 18:36:15 +08:00

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_SceneAbsZYH_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 模块登记规则定义分类和状态口径