<?xml version="1.0" encoding="UTF-8" ?> <class name="GDScriptFunctionState" inherits="Reference" version="4.2"> <brief_description> State of a function call after yielding. </brief_description> <description> Calling [method @GDScript.yield] within a function will cause that function to yield and return its current state as an object of this type. The yielded function call can then be resumed later by calling [method resume] on this state object. </description> <tutorials> </tutorials> <methods> <method name="is_valid" qualifiers="const"> <return type="bool" /> <argument index="0" name="extended_check" type="bool" default="false" /> <description> Check whether the function call may be resumed. This is not the case if the function state was already resumed. If [code]extended_check[/code] is enabled, it also checks if the associated script and object still exist. The extended check is done in debug mode as part of [method GDScriptFunctionState.resume], but you can use this if you know you may be trying to resume without knowing for sure the object and/or script have survived up to that point. </description> </method> <method name="resume"> <return type="Variant" /> <argument index="0" name="arg" type="Variant" default="null" /> <description> Resume execution of the yielded function call. If handed an argument, return the argument from the [method @GDScript.yield] call in the yielded function call. You can pass e.g. an [Array] to hand multiple arguments. This function returns what the resumed function call returns, possibly another function state if yielded again. </description> </method> </methods> <signals> <signal name="completed"> <argument index="0" name="result" type="Variant" /> <description> </description> </signal> </signals> <constants> </constants> </class>