diff options
Diffstat (limited to 'doc/classes/Callable.xml')
-rw-r--r-- | doc/classes/Callable.xml | 119 |
1 files changed, 103 insertions, 16 deletions
diff --git a/doc/classes/Callable.xml b/doc/classes/Callable.xml index 3cc74beb58..cbab1a8f50 100644 --- a/doc/classes/Callable.xml +++ b/doc/classes/Callable.xml @@ -6,87 +6,174 @@ <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] - [codeblock] - var callable = Callable(self, "print_args") + [codeblocks] + [gdscript] func print_args(arg1, arg2, arg3 = ""): prints(arg1, arg2, arg3) + func test(): - callable.call("hello", "world") # Prints "hello world". + 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. - [/codeblock] + [/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"> + <method name="Callable" qualifiers="constructor"> + <return type="Callable"> + </return> + <description> + Constructs a null [Callable] with no object nor method bound. + </description> + </method> + <method name="Callable" qualifiers="constructor"> + <return type="Callable"> + </return> + <argument index="0" name="from" type="Callable"> + </argument> + <description> + Constructs a [Callable] as a copy of the given [Callable]. + </description> + </method> + <method name="Callable" qualifiers="constructor"> <return type="Callable"> </return> <argument index="0" name="object" type="Object"> </argument> - <argument index="1" name="method_name" type="StringName"> + <argument index="1" name="method" type="StringName"> </argument> <description> - Creates a new [Callable] for the method called [code]method_name[/code] in the specified [code]object[/code]. + Creates a new [Callable] for the method called [code]method[/code] in the specified [code]object[/code]. </description> </method> - <method name="call" qualifiers="vararg"> + <method name="bind" qualifiers="vararg const"> + <return type="Callable"> + </return> + <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"> </return> <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"> + <method name="call_deferred" qualifiers="vararg const"> <return type="void"> </return> <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"> + <method name="get_method" qualifiers="const"> <return type="StringName"> </return> <description> Returns the name of the method represented by this [Callable]. </description> </method> - <method name="get_object"> + <method name="get_object" qualifiers="const"> <return type="Object"> </return> <description> Returns the object on which this [Callable] is called. </description> </method> - <method name="get_object_id"> + <method name="get_object_id" qualifiers="const"> <return type="int"> </return> <description> Returns the ID of this [Callable]'s object (see [method Object.get_instance_id]). </description> </method> - <method name="hash"> + <method name="hash" qualifiers="const"> <return type="int"> </return> <description> + Returns the hash value of this [Callable]'s object. </description> </method> - <method name="is_custom"> + <method name="is_custom" qualifiers="const"> <return type="bool"> </return> <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"> + <method name="is_null" qualifiers="const"> <return type="bool"> </return> <description> + Returns [code]true[/code] if this [Callable] has no target to call the method on. </description> </method> - <method name="is_standard"> + <method name="is_standard" qualifiers="const"> <return type="bool"> </return> <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="operator !=" qualifiers="operator"> + <return type="bool"> + </return> + <argument index="0" name="right" type="Callable"> + </argument> + <description> + Returns [code]true[/code] if both [Callable]s invoke different targets. + </description> + </method> + <method name="operator ==" qualifiers="operator"> + <return type="bool"> + </return> + <argument index="0" name="right" type="Callable"> + </argument> + <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"> + </return> + <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"> + </return> + <argument index="0" name="peer_id" type="int"> + </argument> + <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"> + </return> + <argument index="0" name="argcount" type="int"> + </argument> + <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> |