GF Framework¶
Godot 4 轻量级架构框架:关注点分离、生命周期管理、事件驱动、标准库与可选原子扩展生态。
GF Framework 用一套清晰的运行时架构,把游戏项目中的数据、规则、表现、服务和纯算法拆开管理。它不替代 Godot 场景树,而是让场景树继续负责输入、显示、节点和引擎能力,让核心逻辑拥有可测试、可诊断、可组合的生命周期。
核心理念¶
- 逻辑与表现分离:核心规则放在
GFSystem,状态放在GFModel,Godot 节点和 UI 通过GFController桥接。 - 生命周期可控:
GFArchitecture统一推进init()、async_init()、ready()和dispose(),并支持 Installer、局部架构和依赖诊断。 - 通信边界明确:强类型事件、simple 事件、命令、查询和规则对象分别服务不同粒度的模块协作。
- 工具层稳定:需要生命周期、缓存、异步或运行时状态的能力放入
GFUtility;纯算法、纯数据和纯格式化留在standard/foundation。 - 扩展能力可选:Capability、Save、Combat、Network、Flow、ActionQueue 等通用能力以 GF 内置原子扩展形式随框架发布;跨扩展组合留给项目代码或独立插件。
文档入口¶
- 入门总览:快速开始、项目实践建议和下一步阅读路线。
- 快速开始:安装、
GfAutoLoad、最小示例和 Installer。 - Kernel 架构容器:
GFArchitecture、模块注册、依赖查询、事件、工厂和调试快照。 - Standard 标准库总览:基础算法、输入流程、资源存储、运行时服务和调试工具。
- GF 内置扩展总览与扩展规范:manifest、启用状态、扩展 Installer、导出排除和内置扩展清单。
- 编辑器工具、访问器与项目常量:GF 插件、扩展管理器、Inspector、工作区页面、导出插件和代码生成。
- 项目实践建议:项目落地时的分层、依赖、生命周期和测试建议。
- FAQ:安装、使用边界、文档生成和扩展协作的常见问题。
- 参考资料:API Reference、版本变更和查阅型资料入口。
- API Reference:从源码 API 注释生成的类、属性、信号和方法签名。
- 更新日志:当前发布版本的变更摘要、API 变化和迁移提示。
源码结构¶
addons/gf/
kernel/ # 运行内核、基础契约、架构容器、事件、绑定、扩展基础设施、核心编辑器装配
standard/ # 稳定标准库:foundation、input、utilities、state_machine、sequence 等
extensions/ # 随 GF 发布的可选原子通用扩展
判断归属时遵循三条规则:
- 支撑 GF 启动与基础契约的内容进入
kernel。 - 足够稳定、通用、默认随框架理解的能力进入
standard。 - 通用但不是所有项目都需要的能力进入
extensions;项目组合和第三方扩展放在项目代码或addons/gf外的独立插件中。 - 如果多个扩展需要同一份稳定机制,优先抽到
standard;如果只是具体玩法、内容、流程或跨扩展编排,应留在项目层或独立插件中。
能力地图¶
Kernel:
Standard:
Extensions:
- Capability
- Interaction
- Feedback
- Combat
- ActionQueue
- Network 与 TurnBased
- Flow
- Decision
- Domain
- Physics
- Save 场景存档图
- BehaviorTree
常用入口¶
Gf:全局 AutoLoad 入口,默认路径为res://addons/gf/kernel/core/gf.gd。GFArchitecture:运行时容器,负责模块注册、依赖查询、事件派发、工厂和生命周期。GFInstaller:项目或扩展的集中装配入口。GFNodeContext:场景树中的局部架构上下文。GFAccessGenerator:强类型访问器生成器。GF Workspace:独立编辑器工作区,包含扩展管理、输入映射、存档文件查看、场景存档图、信号诊断和诊断快照等页面。