Files
UnityAI/modules/frameworks/场景系统.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

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_SceneAbsZYH_ZYCore_Scene 接口:

  • 进入加载场景
  • 加载完成
  • 进入/退出场景前后
  • 切场景释放

ZYUGUI 窗口管理器提供:

  • isAutoCloseWhenToggleScene:切场景时自动关闭
  • isAutoDestoryWhenToggleScene:切场景时自动销毁

使用规则

  • 场景切换统一走 HFFunCatalogue.Scene.LoadScene()
  • 不要在场景里堆放运行时动态加载的资源。
  • 切场景时注意 UI 窗口的自动关闭/销毁配置。

验证

  • 构建 GameHF.csprojSFMono.csproj
  • 在 Unity Editor 中切换场景,确认加载回调、资源引用和 UI 自动关闭行为正确。
  • 检查 enHFSceneName 与资源配置表的主键一致性。

当前状态

  • 待验证

相关模块


文档关联

当本文档发生变更时,应同步检查以下关联文档,避免信息不一致。

文档 关联原因
modules/模块索引.md 模块索引是项目知识总入口
modules/frameworks/资源管理/README.md 场景资源加载依赖资源管理
modules/frameworks/UI窗口系统/README.md 切场景影响 UI 窗口生命周期
rules/10-架构说明.md 架构说明定义总体分层和依赖方向
rules/30-模块登记规则.md 模块登记规则定义分类和状态口径