用途:为 Godot 项目提供信号驱动架构的专家级蓝图,围绕“Signal Up, Call Down”实现松耦合。核心规则是子节点向上用过去式信号(如 health_changed、died),父节点向下用直接方法调用或属性(如 apply_damage、play_anim);同级节点通过父级中介或限定作用域的 Autoload 总线通信,禁止同级硬引用。
主要能力:覆盖类型化信号、信号链、一次性与延迟连接、Callable 的 bind/unbind、Autoload 全局事件总线路由、await 信号序列、动态信号断连与幽灵连接清理、信号调试与测试间谍。提供连接位置决策树:子通知父/UI 用本地 signal.connect;父编排子用向下方法调用;跨场景系统用 Autoload 总线;线性异步步骤用 await 序列;切换追踪目标先断连;一次性或物理安全场景用 CONNECT_ONE_SHOT/CONNECT_DEFERRED;补充上下文或用 bind/unbind。
必要用法与限制:禁止使用旧式字符串 Object.connect(),应使用 signal.connect(_callback) 以获得编译期校验;禁止用信号自上而下下达命令;禁止重复连接同一 Callable;禁止用全局信号总线承载本地数据;禁止循环信号依赖,须用中介打破;禁止省略信号类型标注;动态信号须在 _exit_tree() 或重定向时断连;发射信号不应在发射端立即产生副作用(如 queue_free),应先 emit;禁止用信号传输每秒 1000+ 的高频数据流,应改用共享数组或直接缓冲。捕获局部变量的 lambda 不会被自动断连,必须手动 disconnect。CONNECT_REFERENCE_COUNTED 仅表示多次相同连接共享一个带引用计数的连接,并非发射器释放时自动清理,也不修复捕获 lambda 泄漏。
随附脚本:signal_up_call_down_pattern.gd(层级接线前强制)、global_signal_bus_router.gd / global_event_bus.gd(Autoload 总线前强制)、disconnect_ghost_signals.gd(切换追踪发射器时强制)、await_signal_sequencing.gd / complex_signal_sequencer.gd(多步 await 强制)、safe_dynamic_connections.gd、one_shot_deferred_connections.gd、callable_bind_context.gd / unbind_unwanted_args.gd、track_signal_emitter_source.gd、signal_debugger.gd / signal_spy.gd。
适用场景:Godot 游戏项目中的 UI、死亡与游戏结束、掉落进背包、跨场景事件总线等事件流设计。前置技能包括 godot-project-foundations、godot-gdscript-mastery、godot-autoload-architecture;与组合、场景管理、状态机、资源数据、测试、UI 容器等技能互补。具体安装或调用方式资料暂未提供。