TowerGame/addons/rakugo-nodes/utils/utils.gd

28 lines
972 B
GDScript3
Raw Normal View History

2025-04-27 14:34:17 +01:00
class_name Utils
extends Object
## Is shortcut of:
## if !object.is_connected(signal_name, method):
## object.connect(signal_name, method)
static func connect_if_possible(
object:Object, signal_name:StringName, method:Callable):
if !object.is_connected(signal_name, method):
object.connect(signal_name, method)
## Is shortcut of:
## if object.is_connected(signal_name, method):
## object.disconnect(signal_name, method)
static func disconnect_if_possible(
object:Object, signal_name:StringName, method:Callable):
if object.is_connected(signal_name, method):
object.disconnect(signal_name, method)
## Is shortcut of:
## disconnect_if_possible(object, signal_name, old_method)
## connect_if_possible(object, signal_name, new_method)
static func change_signal(
object:Object, signal_name:StringName,
old_method:Callable, new_method:Callable):
disconnect_if_possible(object, signal_name, old_method)
connect_if_possible(object, signal_name, new_method)