gewuyou 0722ba6dbd docs(batch-boot): 收口公开入口页文案
- 更新 source-generators、game、api-reference 与 abstractions 入口页的 reader-facing 标题和导航口吻

- 优化 godot setting 页的继续阅读标题,移除文件名式与指挥式表述

- 补充 documentation full coverage active topic 的 RP-045 跟踪与验证记录
2026-04-28 07:37:19 +08:00

4.5 KiB
Raw Blame History

title, description
title description
Game 模块 GFramework.Game 运行时模块的入口、采用顺序与源码阅读导航。

Game 模块

Game 栏目对应 GFramework.GameGFramework.Game.Abstractions 这层游戏运行时能力。

它建立在 Core 之上,负责把“能运行的基础架构”继续扩展成“可落地的游戏项目基础设施”,重点覆盖静态内容配置、数据与存档、设置、场景与 UI 路由、序列化和文件存储。

模块与包关系

  • GeWuYou.GFramework.Game
    • 游戏层默认运行时实现。
  • GeWuYou.GFramework.Game.Abstractions
    • 对应的契约层。
  • GeWuYou.GFramework.Game.SourceGenerators
    • 面向 schemas/**/*.schema.json 的配置类型与表包装生成器。
  • GeWuYou.GFramework.Core
    • 本层直接依赖的底座,提供架构、生命周期、事件、日志等通用能力。

如果你的项目只想依赖契约,不想带入默认实现,请选择 Game.Abstractions。如果你需要可运行的默认基类与实现,请使用 Game

栏目覆盖范围

Game 栏目聚焦“游戏项目该怎么把这些运行时能力接起来”适合先按目标判断你要接入的是配置、设置与存档、Scene / UI 路由,还是文件存储与序列化。

当前栏目主要入口:

最小接入路径

接入 Game 层前,先确保你已经完成 Core 的基础架构初始化。

最常见的四种接入目标如下:

1. 只想先拿到文件存储

using GFramework.Core.Abstractions.Storage;
using GFramework.Game.Serializer;
using GFramework.Game.Storage;

var serializer = new JsonSerializer();
IStorage storage = new FileStorage("GameData", serializer);

2. 接入设置与存档

典型顺序是:

  1. 注册 JsonSerializer
  2. 注册 IStorage
  3. 注册 ISettingsDataRepository
  4. 注册 SettingsModel<TRepository>
  5. 注册 SettingsSystem
  6. 注册 ISaveRepository<TSaveData>

具体组合方式见:

3. 接入静态 YAML 配置

当你要维护怪物、物品、技能、任务等只读内容数据时,优先使用:

  • GFramework.Game 运行时
  • GFramework.Game.SourceGenerators
  • schemas/**/*.schema.json + config/**/*.yaml

完整约定见:

4. 接入 Scene / UI 路由

SceneRouterBaseUiRouterBase 提供的是可复用基类不直接绑定具体引擎。工厂、root、注册表通常由引擎适配层或项目自身提供。

入口见:

阅读顺序

  1. Core 入口
  2. 配置系统
  3. VS Code 配置工具
  4. 数据系统
  5. 设置系统
  6. 场景系统UI 系统

源码与 API 阅读入口

如果你已经完成栏目入口页阅读,下一步通常不是看统计表,而是按模块角色回到源码和 XML 文档:

模块 代表类型 建议先确认什么
GFramework.Game YamlConfigLoaderSettingsModel<TRepository>SceneRouterBaseUiRouterBase 默认运行时实现、配置加载、设置编排和路由基类
GFramework.Game.Abstractions IConfigRegistryISaveRepository<TSaveData>ISettingsSystemISceneRouterIUiRouter 契约层边界,以及项目中哪些程序集只应依赖接口
GFramework.Game.SourceGenerators SchemaConfigGeneratorConfigSchemaDiagnostics schema 生成入口与诊断模型,确认配置系统的编译期链路

运行时与生成器如何配合

  • 运行时入口主要来自 GFramework.Game
  • 只依赖接口或拆分业务层时,补充 GFramework.Game.Abstractions
  • 需要静态内容配置类型和表包装生成时,再追加 GFramework.Game.SourceGenerators
  • 需要编辑器侧内容维护工作流时,再看 VS Code 配置工具

对应模块入口