summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/classes/MultiplayerPeerExtension.xml20
-rw-r--r--scene/main/multiplayer_peer.cpp4
2 files changed, 23 insertions, 1 deletions
diff --git a/doc/classes/MultiplayerPeerExtension.xml b/doc/classes/MultiplayerPeerExtension.xml
index 5717135b80..c7d46f136d 100644
--- a/doc/classes/MultiplayerPeerExtension.xml
+++ b/doc/classes/MultiplayerPeerExtension.xml
@@ -49,6 +49,18 @@
Called when a packet needs to be received by the [MultiplayerAPI], with [param r_buffer_size] being the size of the binary [param r_buffer] in bytes.
</description>
</method>
+ <method name="_get_packet_channel" qualifiers="virtual const">
+ <return type="int" />
+ <description>
+ Called to get the channel over which the next available packet was received. See [method MultiplayerPeer.get_packet_channel].
+ </description>
+ </method>
+ <method name="_get_packet_mode" qualifiers="virtual const">
+ <return type="int" enum="MultiplayerPeer.TransferMode" />
+ <description>
+ Called to get the [enum MultiplayerPeer.TransferMode] the remote peer used to send the next available packet. See [method MultiplayerPeer.get_packet_mode].
+ </description>
+ </method>
<method name="_get_packet_peer" qualifiers="virtual const">
<return type="int" />
<description>
@@ -76,7 +88,7 @@
<method name="_get_unique_id" qualifiers="virtual const">
<return type="int" />
<description>
- Called when the unique ID of this [MultiplayerPeer] is requested (see [method MultiplayerPeer.get_unique_id]).
+ Called when the unique ID of this [MultiplayerPeer] is requested (see [method MultiplayerPeer.get_unique_id]). The value must be between [code]1[/code] and [code]2147483647[/code].
</description>
</method>
<method name="_is_refusing_new_connections" qualifiers="virtual const">
@@ -91,6 +103,12 @@
Called when the "is server" status is requested on the [MultiplayerAPI]. See [method MultiplayerAPI.is_server].
</description>
</method>
+ <method name="_is_server_relay_supported" qualifiers="virtual const">
+ <return type="bool" />
+ <description>
+ Called to check if the server can act as a relay in the current configuration. See [method MultiplayerPeer.is_server_relay_supported].
+ </description>
+ </method>
<method name="_poll" qualifiers="virtual">
<return type="void" />
<description>
diff --git a/scene/main/multiplayer_peer.cpp b/scene/main/multiplayer_peer.cpp
index f3e56a1455..8c9eeea027 100644
--- a/scene/main/multiplayer_peer.cpp
+++ b/scene/main/multiplayer_peer.cpp
@@ -201,6 +201,9 @@ void MultiplayerPeerExtension::_bind_methods() {
GDVIRTUAL_BIND(_get_packet_script)
GDVIRTUAL_BIND(_put_packet_script, "p_buffer");
+ GDVIRTUAL_BIND(_get_packet_channel);
+ GDVIRTUAL_BIND(_get_packet_mode);
+
GDVIRTUAL_BIND(_set_transfer_channel, "p_channel");
GDVIRTUAL_BIND(_get_transfer_channel);
@@ -217,6 +220,7 @@ void MultiplayerPeerExtension::_bind_methods() {
GDVIRTUAL_BIND(_get_unique_id);
GDVIRTUAL_BIND(_set_refuse_new_connections, "p_enable");
GDVIRTUAL_BIND(_is_refusing_new_connections);
+ GDVIRTUAL_BIND(_is_server_relay_supported);
GDVIRTUAL_BIND(_get_connection_status);
ADD_PROPERTY_DEFAULT("transfer_mode", TRANSFER_MODE_RELIABLE);