Add yield with multiple arguments example to GDSCript Basics

This commit is contained in:
HaSa1002
2020-09-02 14:09:06 +02:00
parent e37ee4239c
commit 5df18b894f

View File

@@ -1591,6 +1591,24 @@ You can also get the signal's argument once it's emitted by an object:
# Wait for when any node is added to the scene tree.
var node = yield(get_tree(), "node_added")
If there are more than one argument ``yield`` returns an array containing
the arguments:
::
signal done(input, processed)
func process_input(input):
print("Processing initialized")
yield(get_tree(), "idle_frame")
print("Waiting")
yield(get_tree(), "idle_frame")
emit_signal(input, "Processed " + input)
func _ready():
process_input("Test") # Prints: Processing initialized
var data = yield(self, "done") # Prints: waiting
print(data[1]) # Prints: Processed Test
If you're unsure whether a function may yield or not, or whether it may yield
multiple times, you can yield to the ``completed`` signal conditionally: