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