Skip to content

Latest commit

 

History

History
58 lines (35 loc) · 2.6 KB

class_funcref.rst

File metadata and controls

58 lines (35 loc) · 2.6 KB

FuncRef

Inherits: :ref:`Reference<class_reference>` < :ref:`Object<class_object>`

Category: Core

Brief Description

Reference to a function in an object.

Member Functions

:ref:`Variant<class_variant>` :ref:`call_func<class_FuncRef_call_func>` ( ) vararg
void :ref:`set_function<class_FuncRef_set_function>` ( :ref:`String<class_string>` name )
void :ref:`set_instance<class_FuncRef_set_instance>` ( :ref:`Object<class_object>` instance )

Description

In GDScript, functions are not first-class objects. This means it is impossible to store them directly as variables, return them from another function, or pass them as arguments.

However, by creating a FuncRef using the :ref:`@GDScript.funcref<class_@GDScript_funcref>` function, a reference to a function in a given object can be created, passed around and called.

Member Function Description

Calls the referenced function previously set by :ref:`set_function<class_FuncRef_set_function>` or :ref:`@GDScript.funcref<class_@GDScript_funcref>`.

The name of the referenced function to call on the object, without parentheses or any parameters.

The object containing the referenced function. This object must be of a type actually inheriting from :ref:`Object<class_object>`, not a built-in type such as :ref:`int<class_int>`, :ref:`Vector2<class_vector2>` or :ref:`Dictionary<class_dictionary>`.