- 删除 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>
6.9 KiB
6.9 KiB
架构说明
本文档是 UnityAI / StrayFog 框架知识库的长期规则,为 Codex (AGENTS.md) 和 Claude Code (CLAUDE.md) 共同引用。
项目文档按三类组织:核心运行时、编辑器工具、业务参考。详细模块索引见 模块索引。
分类口径
- 核心运行时:支撑游戏运行的内部系统,例如实体、UI、网络、资源、事件、场景、对象池。
- 编辑器工具:Unity Editor 内使用的生成器、Inspector、菜单、配置工具。
- 业务参考:外部实际项目的业务实现示例,仅作参考,不作为框架规范。
总体分层
┌─────────────────────────────────────────────────────────────┐
│ StrayFog Framework │
├─────────────────────────────────────────────────────────────┤
│ ┌──────────────────┐ ┌──────────────────┐ ┌───────────┐ │
│ │ GameGeneral │ │ GameHF │ │ Core │ │
│ │ 通用工具层 │ │ 业务核心层 │ │ 基础框架 │ │
│ └────────┬─────────┘ └────────┬─────────┘ └─────┬─────┘ │
├───────────┼─────────────────────┼──────────────────┼─────────┤
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Unity Engine │ │
│ └─────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
各层职责
| 层级 | 路径 | 职责描述 |
|---|---|---|
| Core 层 | Assets/StrayFog/Core |
核心基础框架,模拟行为系统、全局数据管理 |
| HF 层 | Assets/Game/GameHFScripte/CopyToHF |
游戏核心业务框架,资源管理、事件系统、相机管理、UI 管理等 |
| General 层 | Assets/Game/GameGeneralScripte |
通用工具层,状态机、辅助工具、扩展方法等 |
核心运行时层
核心运行时按技术职责命名,可以对应内部目录。
- Hotfix 启动/目录:
GameFunction/GameRoot/ - 实体系统:
GameFunction/GameEntity/、Logic/EntityData/ - UI 系统:
CopyToHF/UIWindowMgr/、GameFunction/UIWindows/、GameMono/Scripts/UIMono/ - 场景系统:
GameFunction/SceneManager/、GameMono/Scenes/ - 网络系统:
CopyToHF/Network/、GameFunction/WebSocket/、GoogleProtobufNetwork/(如项目使用) - 资源系统:
CopyToHF/AssetBundle/、CopyToHF/SpriteAtlas/、GameHFResource/ - 事件系统:
CopyToHF/Event/、GameFunction/Event/ - 对象池:
CopyToHF/MemoryManager/、GameFunction/GameEntity/EntityPool/ - 通用框架:
GameGeneralScripte/、StrayFog/Core/
编辑器工具层
Assets/StrayFog/Editor/:StrayFog 编辑器扩展。Assets/Editor/:项目编辑器资源与脚本。Assets/AutoBuildScript/Editor/:编辑器生成工具(如项目使用)。
程序集边界
已识别 asmdef:
| 程序集 | 主要路径 | 分类 |
|---|---|---|
StrayFogCore |
Assets/StrayFog/Core/ |
核心运行时 |
SFEditor |
Assets/StrayFog/Editor/ |
编辑器工具 |
GameHF |
Assets/Game/GameHFScripte/ |
核心运行时 / hotfix 承载 |
GameGeneral |
Assets/Game/GameGeneralScripte/ |
核心运行时 / general |
SFMono |
Assets/Game/GameMono/ |
核心运行时 / Mono 桥接 |
依赖方向
业务功能(PVE、PVP、背包、商店等,放在外部业务参考层)
|
v
核心运行时(GameRoot、GameEntity、UIWindowMgr、SceneManager、Network、AssetBundle、Event 等)
|
v
通用框架 / 第三方插件(StrayFog Core、Spine、DOTween 等)
|
v
Unity Engine / .NET Runtime
编辑器工具 -----------------> 读取/生成 核心运行时代码
依赖规则
| 上层 | 可以依赖 | 禁止依赖 |
|---|---|---|
| 业务功能 | 核心运行时、通用框架 | 编辑器工具、第三方插件源码 |
| 核心运行时 | 通用框架、第三方插件 | 具体业务功能、编辑器工具 |
| 编辑器工具 | 核心运行时源码、生成模板 | 被运行时代码反向引用 |
说明
- 运行时代码不要依赖 Editor 程序集。
- 第三方插件不应反向依赖具体玩法模块。
- 业务功能代码按业务命名,代码目录可以仍然按框架/实现组织。
文档与代码分层对应
| 文档层 | 对应代码层 | 示例 |
|---|---|---|
modules/frameworks/ |
核心运行时 | 实体系统、UI 系统、事件系统等 |
modules/frameworks/通用框架/框架架构.md |
核心运行时 + 规范 | StrayFog 整体架构分析 |
rules/ |
规范与流程 | 开发规则、工作流清单、架构说明 |
待确认
- 各项目实际使用的 StrayFog 版本与目录可能略有差异,文档中路径以当前仓库描述的
Assets/StrayFog/和Assets/Game/结构为准。 - 网络系统、配置生成系统是否为所有使用 StrayFog 的项目标配,需按具体项目确认。
文档关联
当本文档发生变更时,应同步检查以下关联文档,避免信息不一致。
| 文档 | 关联原因 |
|---|---|
| modules/frameworks/通用框架/框架架构.md | 实现视角的框架架构分析 |
| modules/模块索引.md | 模块索引是架构说明的落地入口,分类口径需一致 |
| rules/30-模块登记规则.md | 模块登记口径、状态定义与架构分层互相影响 |
| rules/20-开发规则.md | 程序集边界、依赖方向与开发规则互相引用 |
| rules/项目规则入口.md | 架构说明是项目规则入口索引的关键规则 |