godot/modules/gdscript/doc_classes/GDScriptFunctionState.xml

47 lines
1.9 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<class name="GDScriptFunctionState" inherits="Reference" category="Core" version="3.1">
<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>
<demos>
</demos>
<methods>
<method name="is_valid" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="extended_check" type="bool" default="false">
</argument>
<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">
</return>
<argument index="0" name="arg" type="Variant" default="null">
</argument>
<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="Nil">
</argument>
<description>
</description>
</signal>
</signals>
<constants>
</constants>
</class>