GFramework/README.md
GeWuYou ebdc231c07 docs(sdk): 更新文档规范并添加VitePress配置
- 调整文档真实性原则,以源码和测试为首要证据源
- 新增模块README要求,规定所有用户包必须有说明文档
- 更新仓库文档规范,要求根README与文档站点分类一致
- 添加VitePress配置文件,支持中文搜索和泛型转义
- 创建入门指南文档,说明GFramework模块组成和接入路径
- 添加快速开始教程,演示Core模块最小使用示例
- 为Core模块添加详细README文档
- 为Core.Abstractions添加契约层说明文档
- 为Core.SourceGenerators添加源码生成器文档
- 为Game模块添加运行时层详细说明文档
2026-04-18 10:08:05 +08:00

7.8 KiB
Raw Blame History

GFramework

面向游戏开发场景的模块化 C# 框架,按运行时、抽象层、引擎集成和源码生成器拆分能力。

NuGet Core NuGet Meta Godot .NET License zread

从哪里开始

模块地图

模块 作用 入口
GFramework.Core 架构、命令、查询、事件、状态、日志、资源、协程等基础运行时 README
GFramework.Core.Abstractions Core 对应的契约层,适合面向接口开发或做模块拆分 README
GFramework.Cqrs 新版 CQRS runtime提供 request dispatcher、notification publish 与 handler 注册 README
GFramework.Cqrs.Abstractions CQRS 消息、处理器、pipeline 行为等契约 README
GFramework.Game 面向游戏项目的配置、数据、路由、场景、UI、设置和存储运行时 README
GFramework.Game.Abstractions Game 对应的契约层 README
GFramework.Godot Godot 集成层负责把框架能力接入节点、场景、UI、设置与存储 README
GFramework.Ecs.Arch Arch ECS 集成 README
GFramework.Core.SourceGenerators Core 侧通用源码生成器与分析器 README
GFramework.Game.SourceGenerators 游戏内容配置 schema 生成器 README
GFramework.Cqrs.SourceGenerators CQRS handler registry 生成器 README
GFramework.Godot.SourceGenerators Godot 场景专用源码生成器 README

文档导航

仓库根 README 与文档站点保持同一套栏目命名:

包选择

  • GeWuYou.GFramework 当前是聚合元包,只聚合 GFramework.CoreGFramework.Game 这两层运行时,适合快速试用。
  • GeWuYou.GFramework.Core 推荐的最小起步包。先从核心运行时开始,再按需叠加 CqrsGameGodot 和 Source Generators。
  • GeWuYou.GFramework.*.Abstractions 适合需要单独依赖契约层、插件化、测试替身或多模块解耦的场景。
  • GeWuYou.GFramework.*.SourceGenerators 只在需要编译期生成代码时安装,版本应与运行时包保持一致。

最小安装组合

# 最小起步
dotnet add package GeWuYou.GFramework.Core
dotnet add package GeWuYou.GFramework.Core.Abstractions

# 新版 CQRS
dotnet add package GeWuYou.GFramework.Cqrs
dotnet add package GeWuYou.GFramework.Cqrs.Abstractions

# 游戏层运行时
dotnet add package GeWuYou.GFramework.Game
dotnet add package GeWuYou.GFramework.Game.Abstractions

# Godot 集成
dotnet add package GeWuYou.GFramework.Godot

# 按需安装源码生成器
dotnet add package GeWuYou.GFramework.Core.SourceGenerators
dotnet add package GeWuYou.GFramework.Game.SourceGenerators
dotnet add package GeWuYou.GFramework.Cqrs.SourceGenerators
dotnet add package GeWuYou.GFramework.Godot.SourceGenerators

可选全局 using

NuGet 消费项目可显式开启模块级自动导入:

<PropertyGroup>
  <EnableGFrameworkGlobalUsings>true</EnableGFrameworkGlobalUsings>
</PropertyGroup>

如果只想排除部分命名空间:

<ItemGroup>
  <GFrameworkExcludedUsing Include="GFramework.Core.Environment" />
  <GFrameworkExcludedUsing Include="GFramework.Godot.Extensions" />
</ItemGroup>

该能力主要面向 NuGet 消费场景。仓库内 ProjectReference 方式仍建议显式维护自己的 GlobalUsings.cs

仓库结构

GFramework.sln
├─ GFramework.Core/
├─ GFramework.Core.Abstractions/
├─ GFramework.Cqrs/
├─ GFramework.Cqrs.Abstractions/
├─ GFramework.Game/
├─ GFramework.Game.Abstractions/
├─ GFramework.Godot/
├─ GFramework.Ecs.Arch/
├─ GFramework.Core.SourceGenerators/
├─ GFramework.Game.SourceGenerators/
├─ GFramework.Cqrs.SourceGenerators/
├─ GFramework.Godot.SourceGenerators/
├─ GFramework.SourceGenerators.Common/
└─ docs/

贡献

提交功能或行为变更时,请把代码、测试和文档一起更新:

  1. 先阅读对应模块目录下的 README.md
  2. 如果改动影响采用路径、安装方式、公共 API 或目录结构,同时更新 docs/zh-CN/
  3. 对跨模块或多阶段任务,维护 local-plan/todos/local-plan/traces/

许可证

本仓库当前采用 Apache License 2.0