FuncRef

Inherits: Reference < Object

Reference to a function in an object.

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.

Properties

String

function

""

Methods

Variant

call_func ( ... ) vararg

Variant

call_funcv ( Array arg_array )

bool

is_valid ( ) const

void

set_instance ( Object instance )


Property Descriptions

String function = ""

  • void set_function ( String value )

  • String get_function ( )

The name of the referenced function.


Method Descriptions

Variant call_func ( ... ) vararg

Calls the referenced function previously set in function or @GDScript.funcref.


Variant call_funcv ( Array arg_array )

Calls the referenced function previously set in function or @GDScript.funcref. Contrarily to call_func, this method does not support a variable number of arguments but expects all parameters to be passed via a single Array.


bool is_valid ( ) const

Returns whether the object still exists and has the function assigned.


void set_instance ( Object instance )

The object containing 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.