From 100c0a7a66a383d548138880562dd71d83776249 Mon Sep 17 00:00:00 2001 From: Patrick Wuttke Date: Wed, 18 Aug 2021 22:09:25 +0200 Subject: [PATCH] Added try_connect function that doesn't cause errors when a signal is missing. --- scripts/libs/util.gd | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/libs/util.gd b/scripts/libs/util.gd index 247415e..3978384 100644 --- a/scripts/libs/util.gd +++ b/scripts/libs/util.gd @@ -332,6 +332,10 @@ static func disconnect_all(sender : Object, receiver : Object, signal_name := "" continue sender.disconnect(signal_name, receiver, connection["method"]) +static func try_connect(sender : Object, signal_name : String, receiver : Object, method : String, binds := []): + if sender.has_signal(signal_name): + sender.connect(signal_name, receiver, method, binds) + static func copy_signal_handlers(target : Object, source : Object, sig_name : String) -> void: for connection in source.get_signal_connection_list(sig_name): target.connect(sig_name, connection["target"], connection["method"], connection["binds"])