mirror of
https://github.com/godotengine/godot.git
synced 2024-12-15 10:12:40 +08:00
7adf4cc9b5
For the time being we don't support writing a description for those, preferring having all details in the method's description. Using self-closing tags saves half the lines, and prevents contributors from thinking that they should write the argument or return documentation there.
164 lines
6.4 KiB
XML
164 lines
6.4 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="Callable" version="4.0">
|
|
<brief_description>
|
|
An object representing a method in a certain object that can be called.
|
|
</brief_description>
|
|
<description>
|
|
[Callable] is a first class object which can be held in variables and passed to functions. It represents a given method in an [Object], and is typically used for signal callbacks.
|
|
[b]Example:[/b]
|
|
[codeblocks]
|
|
[gdscript]
|
|
func print_args(arg1, arg2, arg3 = ""):
|
|
prints(arg1, arg2, arg3)
|
|
|
|
func test():
|
|
var callable = Callable(self, "print_args")
|
|
callable.call("hello", "world") # Prints "hello world ".
|
|
callable.call(Vector2.UP, 42, callable) # Prints "(0, -1) 42 Node(Node.gd)::print_args".
|
|
callable.call("invalid") # Invalid call, should have at least 2 arguments.
|
|
[/gdscript]
|
|
[csharp]
|
|
public void PrintArgs(object arg1, object arg2, object arg3 = null)
|
|
{
|
|
GD.PrintS(arg1, arg2, arg3);
|
|
}
|
|
|
|
public void Test()
|
|
{
|
|
Callable callable = new Callable(this, nameof(PrintArgs));
|
|
callable.Call("hello", "world"); // Prints "hello world null".
|
|
callable.Call(Vector2.Up, 42, callable); // Prints "(0, -1) 42 Node(Node.cs)::PrintArgs".
|
|
callable.Call("invalid"); // Invalid call, should have at least 2 arguments.
|
|
}
|
|
[/csharp]
|
|
[/codeblocks]
|
|
</description>
|
|
<tutorials>
|
|
</tutorials>
|
|
<methods>
|
|
<method name="Callable" qualifiers="constructor">
|
|
<return type="Callable" />
|
|
<description>
|
|
Constructs a null [Callable] with no object nor method bound.
|
|
</description>
|
|
</method>
|
|
<method name="Callable" qualifiers="constructor">
|
|
<return type="Callable" />
|
|
<argument index="0" name="from" type="Callable" />
|
|
<description>
|
|
Constructs a [Callable] as a copy of the given [Callable].
|
|
</description>
|
|
</method>
|
|
<method name="Callable" qualifiers="constructor">
|
|
<return type="Callable" />
|
|
<argument index="0" name="object" type="Object" />
|
|
<argument index="1" name="method" type="StringName" />
|
|
<description>
|
|
Creates a new [Callable] for the method called [code]method[/code] in the specified [code]object[/code].
|
|
</description>
|
|
</method>
|
|
<method name="bind" qualifiers="vararg const">
|
|
<return type="Callable" />
|
|
<description>
|
|
Returns a copy of this [Callable] with the arguments bound. Bound arguments are passed after the arguments supplied by [method call].
|
|
</description>
|
|
</method>
|
|
<method name="call" qualifiers="vararg const">
|
|
<return type="Variant" />
|
|
<description>
|
|
Calls the method represented by this [Callable]. Arguments can be passed and should match the method's signature.
|
|
</description>
|
|
</method>
|
|
<method name="call_deferred" qualifiers="vararg const">
|
|
<return type="void" />
|
|
<description>
|
|
Calls the method represented by this [Callable] in deferred mode, i.e. during the idle frame. Arguments can be passed and should match the method's signature.
|
|
</description>
|
|
</method>
|
|
<method name="get_method" qualifiers="const">
|
|
<return type="StringName" />
|
|
<description>
|
|
Returns the name of the method represented by this [Callable].
|
|
</description>
|
|
</method>
|
|
<method name="get_object" qualifiers="const">
|
|
<return type="Object" />
|
|
<description>
|
|
Returns the object on which this [Callable] is called.
|
|
</description>
|
|
</method>
|
|
<method name="get_object_id" qualifiers="const">
|
|
<return type="int" />
|
|
<description>
|
|
Returns the ID of this [Callable]'s object (see [method Object.get_instance_id]).
|
|
</description>
|
|
</method>
|
|
<method name="hash" qualifiers="const">
|
|
<return type="int" />
|
|
<description>
|
|
Returns the hash value of this [Callable]'s object.
|
|
</description>
|
|
</method>
|
|
<method name="is_custom" qualifiers="const">
|
|
<return type="bool" />
|
|
<description>
|
|
Returns [code]true[/code] if this [Callable] is a custom callable whose behavior differs based on implementation details. Custom callables are used in the engine for various reasons. If [code]true[/code], you can't use [method get_method].
|
|
</description>
|
|
</method>
|
|
<method name="is_null" qualifiers="const">
|
|
<return type="bool" />
|
|
<description>
|
|
Returns [code]true[/code] if this [Callable] has no target to call the method on.
|
|
</description>
|
|
</method>
|
|
<method name="is_standard" qualifiers="const">
|
|
<return type="bool" />
|
|
<description>
|
|
Returns [code]true[/code] if this [Callable] is a standard callable, referencing an object and a method using a [StringName].
|
|
</description>
|
|
</method>
|
|
<method name="is_valid" qualifiers="const">
|
|
<return type="bool" />
|
|
<description>
|
|
Returns [code]true[/code] if the object exists and has a valid function assigned, or is a custom callable.
|
|
</description>
|
|
</method>
|
|
<method name="operator !=" qualifiers="operator">
|
|
<return type="bool" />
|
|
<argument index="0" name="right" type="Callable" />
|
|
<description>
|
|
Returns [code]true[/code] if both [Callable]s invoke different targets.
|
|
</description>
|
|
</method>
|
|
<method name="operator ==" qualifiers="operator">
|
|
<return type="bool" />
|
|
<argument index="0" name="right" type="Callable" />
|
|
<description>
|
|
Returns [code]true[/code] if both [Callable]s invoke the same custom target.
|
|
</description>
|
|
</method>
|
|
<method name="rpc" qualifiers="vararg const">
|
|
<return type="void" />
|
|
<description>
|
|
Perform an RPC (Remote Procedure Call). This is used for multiplayer and is normally not available unless the function being called has been marked as [i]RPC[/i]. Calling it on unsupported functions will result in an error.
|
|
</description>
|
|
</method>
|
|
<method name="rpc_id" qualifiers="vararg const">
|
|
<return type="void" />
|
|
<argument index="0" name="peer_id" type="int" />
|
|
<description>
|
|
Perform an RPC (Remote Procedure Call) on a specific peer ID (see multiplayer documentation for reference). This is used for multiplayer and is normally not available unless the function being called has been marked as [i]RPC[/i]. Calling it on unsupported functions will result in an error.
|
|
</description>
|
|
</method>
|
|
<method name="unbind" qualifiers="const">
|
|
<return type="Callable" />
|
|
<argument index="0" name="argcount" type="int" />
|
|
<description>
|
|
Returns a copy of this [Callable] with the arguments unbound. Calling the returned [Callable] will call the method without the extra arguments that are supplied in the [Callable] on which you are calling this method.
|
|
</description>
|
|
</method>
|
|
</methods>
|
|
<constants>
|
|
</constants>
|
|
</class>
|