mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 21:51:22 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			53 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <?xml version="1.0" encoding="UTF-8" ?>
 | |
| <class name="FuncRef" inherits="Reference" version="3.2">
 | |
| 	<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">
 | |
| 			</return>
 | |
| 			<description>
 | |
| 				Calls the referenced function previously set in [member function] or [method @GDScript.funcref].
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="call_funcv">
 | |
| 			<return type="Variant">
 | |
| 			</return>
 | |
| 			<argument index="0" name="arg_array" type="Array">
 | |
| 			</argument>
 | |
| 			<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="set_instance">
 | |
| 			<return type="void">
 | |
| 			</return>
 | |
| 			<argument index="0" name="instance" type="Object">
 | |
| 			</argument>
 | |
| 			<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>
 | |
| 		<method name="is_valid" qualifiers="const">
 | |
| 			<return type="bool">
 | |
| 			</return>
 | |
| 			<description>
 | |
| 				Returns whether the object still exists and has the function assigned.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 	</methods>
 | |
| 	<members>
 | |
| 		<member name="function" type="String" setter="set_function" getter="get_function">
 | |
| 			The name of the referenced function.
 | |
| 		</member>
 | |
| 	</members>
 | |
| 	<constants>
 | |
| 	</constants>
 | |
| </class>
 | 
