FuncRef

Inherits: Reference < Object

Category: Core

Brief Description

Reference to a function in an object.

Member Functions

void call_func ( Variant arg0=NULL, Variant arg1=NULL, Variant arg2=NULL, Variant arg3=NULL, Variant arg4=NULL, Variant arg5=NULL, Variant arg6=NULL, Variant arg7=NULL, Variant arg8=NULL, Variant arg9=NULL )
void set_function ( String name )
void set_instance ( 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 @GDScript.funcref function, a reference to a function in a given object can be created, passed around and called.

Member Function Description

Call the referenced function with the given arguments. The argument count must correspond to the required number of arguments in the function. Returns the return value of the function call.

  • void set_function ( String name )

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

  • void set_instance ( Object instance )

Set the object on which to call the referenced function. This object must be of a type actually inheriting from Object, not a built-in type such as int, Vector2 or Dictionary.