summaryrefslogtreecommitdiff
path: root/doc/classes/MultiplayerAPI.xml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/classes/MultiplayerAPI.xml')
-rw-r--r--doc/classes/MultiplayerAPI.xml57
1 files changed, 23 insertions, 34 deletions
diff --git a/doc/classes/MultiplayerAPI.xml b/doc/classes/MultiplayerAPI.xml
index 591d715174..b2ed712554 100644
--- a/doc/classes/MultiplayerAPI.xml
+++ b/doc/classes/MultiplayerAPI.xml
@@ -1,88 +1,68 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="MultiplayerAPI" inherits="Reference" category="Core" version="3.1">
<brief_description>
+ High Level Multiplayer API.
</brief_description>
<description>
+ This class implements most of the logic behind the high level multiplayer API.
+ By default, [SceneTree] has a reference to this class that is used to provide multiplayer capabilities (i.e. RPC/RSET) across the whole scene.
+ It is possible to override the MultiplayerAPI instance used by specific Nodes by setting the [member Node.custom_multiplayer] property, effectively allowing to run both client and server in the same scene.
</description>
<tutorials>
</tutorials>
<demos>
</demos>
<methods>
- <method name="add_peer">
- <return type="void">
- </return>
- <argument index="0" name="id" type="int">
- </argument>
- <description>
- </description>
- </method>
<method name="clear">
<return type="void">
</return>
<description>
- </description>
- </method>
- <method name="connected_to_server">
- <return type="void">
- </return>
- <description>
- </description>
- </method>
- <method name="connection_failed">
- <return type="void">
- </return>
- <description>
- </description>
- </method>
- <method name="del_peer">
- <return type="void">
- </return>
- <argument index="0" name="id" type="int">
- </argument>
- <description>
+ Clears the current MultiplayerAPI network state (you shouldn't call this unless you know what you are doing).
</description>
</method>
<method name="get_network_connected_peers" qualifiers="const">
<return type="PoolIntArray">
</return>
<description>
+ Returns the peer IDs of all connected peers of this MultiplayerAPI's [member network_peer].
</description>
</method>
<method name="get_network_unique_id" qualifiers="const">
<return type="int">
</return>
<description>
+ Returns the unique peer ID of this MultiplayerAPI's [member network_peer].
</description>
</method>
<method name="get_rpc_sender_id" qualifiers="const">
<return type="int">
</return>
<description>
+ Returns the sender's peer ID for the RPC currently being executed.
+ NOTE: If not inside an RPC this method will return 0.
</description>
</method>
<method name="has_network_peer" qualifiers="const">
<return type="bool">
</return>
<description>
+ Returns [code]true[/code] if there is a [member network_peer] set.
</description>
</method>
<method name="is_network_server" qualifiers="const">
<return type="bool">
</return>
<description>
+ Returns [code]true[/code] if this MultiplayerAPI's [member network_peer] is in server mode (listening for connections).
</description>
</method>
<method name="poll">
<return type="void">
</return>
<description>
- </description>
- </method>
- <method name="server_disconnected">
- <return type="void">
- </return>
- <description>
+ Method used for polling the MultiplayerAPI.
+ You only need to worry about this if you are using [memeber Node.custom_multplayer] override.
+ SceneTree will poll the default MultiplayerAPI for you.
</description>
</method>
<method name="set_root_node">
@@ -91,38 +71,47 @@
<argument index="0" name="node" type="Node">
</argument>
<description>
+ Sets the base root node to use for RPCs. Instead of an absolute path, a relative path will be used to find the node upon which the RPC should be executed.
+ This effectively allows to have different branches of the scene tree to be managed by different MultiplayerAPI, allowing for example to run both client and server in the same scene.
</description>
</method>
</methods>
<members>
<member name="network_peer" type="NetworkedMultiplayerPeer" setter="set_network_peer" getter="get_network_peer">
+ The peer object to handle the RPC system (effectively enabling networking when set). Depending on the peer itself, the MultiplayerAPI will become a network server (check with [method is_network_server()]) and will set root node's network mode to master (see NETWORK_MODE_* constants in [Node]), or it will become a regular peer with root node set to slave. All child nodes are set to inherit the network mode by default. Handling of networking-related events (connection, disconnection, new clients) is done by connecting to MultiplayerAPI's signals.
</member>
<member name="refuse_new_network_connections" type="bool" setter="set_refuse_new_network_connections" getter="is_refusing_new_network_connections">
+ If [code]true[/code] the MultiplayerAPI's [member network_peer] refuses new incoming connections.
</member>
</members>
<signals>
<signal name="connected_to_server">
<description>
+ Emitted whenever this MultiplayerAPI's [member network_peer] successfully connected to a server. Only emitted on clients.
</description>
</signal>
<signal name="connection_failed">
<description>
+ Emitted whenever this MultiplayerAPI's [member network_peer] fails to establish a connection to a server. Only emitted on clients.
</description>
</signal>
<signal name="network_peer_connected">
<argument index="0" name="id" type="int">
</argument>
<description>
+ Emitted whenever this MultiplayerAPI's [member network_peer] connects with a new peer. ID is the peer ID of the new peer. Clients get notified when other clients connect to the same server. Upon connecting to a server, a client also receives this signal for the server (with ID being 1).
</description>
</signal>
<signal name="network_peer_disconnected">
<argument index="0" name="id" type="int">
</argument>
<description>
+ Emitted whenever this MultiplayerAPI's [member network_peer] disconnects from a peer. Clients get notified when other clients disconnect from the same server.
</description>
</signal>
<signal name="server_disconnected">
<description>
+ Emitted whenever this MultiplayerAPI's [member network_peer] disconnected from server. Only emitted on clients.
</description>
</signal>
</signals>