If a signal function emits a signal, that signal is processed before another signal on the same level.
Here is how I tested it (a 2d project with a button where the function test()
is called from the button.pressed()
signal):
extends Node2D
signal signalA
signal signalB
signal signalC
func _ready():
connect("signalA", self, "sigA")
connect("signalB", self, "sigB")
connect("signalC", self, "sigC")
func test():
emit_signal("signalA")
emit_signal("signalB")
func _on_Button_pressed():
test()
func sigA():
print("signalA")
emit_signal("signalC")
func sigB():
print("signalB")
func sigC():
print("signalC")
This prints:
signalA
signalC
signalB