virtualx-engine/doc/classes/FuncRef.xml
Hugo Locurcio b087538119
Add an XML schema for documentation
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.

Each class XML's schema conformance is also checked on GitHub Actions.
2022-03-16 23:01:02 +01:00

47 lines
2.1 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<class name="FuncRef" inherits="Reference" version="3.5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
Reference to a function in an object.
</brief_description>
<description>
In GDScript, functions are not [i]first-class objects[/i]. 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 [method @GDScript.funcref] function, a reference to a function in a given object can be created, passed around and called.
</description>
<tutorials>
</tutorials>
<methods>
<method name="call_func" qualifiers="vararg">
<return type="Variant" />
<description>
Calls the referenced function previously set in [member function] or [method @GDScript.funcref].
</description>
</method>
<method name="call_funcv">
<return type="Variant" />
<argument index="0" name="arg_array" type="Array" />
<description>
Calls the referenced function previously set in [member function] or [method @GDScript.funcref]. Contrarily to [method call_func], this method does not support a variable number of arguments but expects all parameters to be passed via a single [Array].
</description>
</method>
<method name="is_valid" qualifiers="const">
<return type="bool" />
<description>
Returns whether the object still exists and has the function assigned.
</description>
</method>
<method name="set_instance">
<return type="void" />
<argument index="0" name="instance" type="Object" />
<description>
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].
</description>
</method>
</methods>
<members>
<member name="function" type="String" setter="set_function" getter="get_function" default="&quot;&quot;">
The name of the referenced function.
</member>
</members>
<constants>
</constants>
</class>