跳转至

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 内置原子扩展形式随框架发布;跨扩展组合留给项目代码或独立插件。

文档入口

源码结构

addons/gf/
  kernel/              # 运行内核、基础契约、架构容器、事件、绑定、扩展基础设施、核心编辑器装配
  standard/            # 稳定标准库:foundation、input、utilities、state_machine、sequence 等
  extensions/          # 随 GF 发布的可选原子通用扩展

判断归属时遵循三条规则:

  • 支撑 GF 启动与基础契约的内容进入 kernel
  • 足够稳定、通用、默认随框架理解的能力进入 standard
  • 通用但不是所有项目都需要的能力进入 extensions;项目组合和第三方扩展放在项目代码或 addons/gf 外的独立插件中。
  • 如果多个扩展需要同一份稳定机制,优先抽到 standard;如果只是具体玩法、内容、流程或跨扩展编排,应留在项目层或独立插件中。

能力地图

Kernel:

Standard:

Extensions:

常用入口

  • Gf:全局 AutoLoad 入口,默认路径为 res://addons/gf/kernel/core/gf.gd
  • GFArchitecture:运行时容器,负责模块注册、依赖查询、事件派发、工厂和生命周期。
  • GFInstaller:项目或扩展的集中装配入口。
  • GFNodeContext:场景树中的局部架构上下文。
  • GFAccessGenerator:强类型访问器生成器。
  • GF Workspace:独立编辑器工作区,包含扩展管理、输入映射、存档文件查看、场景存档图、信号诊断和诊断快照等页面。