GFramework.Godot.SourceGenerators.Abstractions

April 25, 2026 · View on GitHub

GFramework.Godot.SourceGenerators.Abstractions 存放 Godot 侧源码生成器公开使用的 attribute 和最小辅助类型。 它不是单独推广的消费包,而是 GFramework.Godot.SourceGenerators 的支撑层。

目录定位

这里当前主要提供:

  • 节点与信号相关特性
    • GetNodeAttribute
    • BindNodeSignalAttribute
  • 场景 / UI / 集合注册相关特性
    • AutoSceneAttribute
    • AutoUiPageAttribute
    • AutoRegisterExportedCollectionsAttribute
    • RegisterExportedCollectionAttribute
  • Godot 项目级辅助类型
    • AutoLoadAttribute
    • GodotModuleMarker
    • NodeLookupMode

这些类型负责定义“消费端项目可以声明哪些特性与参数”,而具体的生成逻辑、diagnostics 和生命周期约束仍在 GFramework.Godot.SourceGenerators 中。

与相邻模块的关系

  • GFramework.Godot.SourceGenerators
    • 实际消费这里定义的 attribute,并生成节点注入、信号绑定、Scene / UI 包装与项目元数据辅助代码。
  • GFramework.SourceGenerators.Common
    • 为 Godot 侧生成器提供共享基础设施和通用约束。
  • GFramework.Godot
    • 提供运行时宿主与集成层;生成器只负责编译期辅助。

当前目录本身 IsPackable=false。对 NuGet 使用者来说,更实际的入口仍然是 GeWuYou.GFramework.Godot.SourceGenerators;这个 abstractions DLL 会跟随对应 analyzer 包一起交付。

什么时候需要读这里

  • 你在确认 [GetNode][BindNodeSignal][AutoScene] 等特性的公开参数语义
  • 你在排查生成器文档是否和 attribute 契约一致
  • 你在扩展 Godot 侧生成器,想先看清契约层边界

如果你的目标只是把生成器接进项目,优先回到 Godot.SourceGenerators README 和专题页。

继续阅读