Files
godot-docs/classes/class_gdfunctionstate.rst
2017-06-17 14:07:36 +02:00

54 lines
2.6 KiB
ReStructuredText

.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
.. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead.
.. _class_GDFunctionState:
GDFunctionState
===============
**Inherits:** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
**Category:** Core
Brief Description
-----------------
State of a function call after yielding.
Member Functions
----------------
+--------------------------------+------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_valid<class_GDFunctionState_is_valid>` **(** :ref:`bool<class_bool>` extended_check=false **)** const |
+--------------------------------+------------------------------------------------------------------------------------------------------------------+
| :ref:`Variant<class_variant>` | :ref:`resume<class_GDFunctionState_resume>` **(** :ref:`Variant<class_variant>` arg=NULL **)** |
+--------------------------------+------------------------------------------------------------------------------------------------------------------+
Description
-----------
Calling :ref:`@GDScript.yield<class_@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 :ref:`resume<class_GDFunctionState_resume>` on this state object.
Member Function Description
---------------------------
.. _class_GDFunctionState_is_valid:
- :ref:`bool<class_bool>` **is_valid** **(** :ref:`bool<class_bool>` extended_check=false **)** const
Check whether the function call may be resumed. This is not the case if the function state was already resumed.
If ``extended_check`` is enabled, it also checks if the associated script and object still exist. The extended check is done in debug mode as part of :ref:`GDFunctionState.resume<class_GDFunctionState_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.
.. _class_GDFunctionState_resume:
- :ref:`Variant<class_variant>` **resume** **(** :ref:`Variant<class_variant>` arg=NULL **)**
Resume execution of the yielded function call.
If handed an argument, return the argument from the :ref:`@GDScript.yield<class_@GDScript_yield>` call in the yielded function call. You can pass e.g. an :ref:`Array<class_array>` to hand multiple arguments.
This function returns what the resumed function call returns, possibly another function state if yielded again.