From cacd82d7b7a2375cf393d2073d5ac70096e1061f Mon Sep 17 00:00:00 2001 From: GwWuYou <95328647+GeWuYou@users.noreply.github.com> Date: Fri, 2 Jan 2026 20:46:53 +0800 Subject: [PATCH] =?UTF-8?q?refactor(signal):=20=E4=BC=98=E5=8C=96=20Signal?= =?UTF-8?q?Builder=20=E7=9A=84=20To=20=E6=96=B9=E6=B3=95=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将方法功能描述从"将信号连接到指定的处理方法"更新为"连接信号到指定的可调用对象" - 为 To 方法添加返回值类型 SignalBuilder 以支持链式调用 - 简化连接逻辑,移除不必要的 if-else 分支 - 添加 End 方法用于返回目标节点 - 更新参数说明文档 --- .../extensions/signal/SignalBuilder.cs | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/GFramework.Godot/extensions/signal/SignalBuilder.cs b/GFramework.Godot/extensions/signal/SignalBuilder.cs index b3d6177..c6a7e1b 100644 --- a/GFramework.Godot/extensions/signal/SignalBuilder.cs +++ b/GFramework.Godot/extensions/signal/SignalBuilder.cs @@ -23,18 +23,24 @@ public sealed class SignalBuilder(Node target, StringName signal) } /// - /// 将信号连接到指定的处理方法 + /// 连接信号到指定的可调用对象 /// - /// 信号触发时要调用的处理方法 - public void To(Callable callable) + /// 要连接的可调用对象 + /// 当前构建器实例 + public SignalBuilder To(Callable callable) { - // 根据是否设置了标志来决定使用哪种连接方法 + // 根据是否设置了标志来决定连接方式 if (_flags is null) - { target.Connect(signal, callable); - return; - } + else + target.Connect(signal, callable, (uint)_flags); - target.Connect(signal, callable, (uint)_flags); + return this; } + + /// + /// 显式结束,返回 Node + /// + /// 目标节点 + public Node End() => target; } \ No newline at end of file