2021-09-07 23:50:22 +00:00
<?xml version="1.0" encoding="UTF-8" ?>
2022-02-14 13:18:53 +00:00
<class name= "MultiplayerPeerExtension" inherits= "MultiplayerPeer" version= "4.0" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2021-09-07 23:50:22 +00:00
<brief_description >
2021-12-08 11:49:22 +00:00
Class that can be inherited to implement custom multiplayer API networking layers via GDExtension.
2021-09-07 23:50:22 +00:00
</brief_description>
<description >
2021-12-08 11:49:22 +00:00
This class is designed to be inherited from a GDExtension plugin to implement custom networking layers for the multiplayer API (such as WebRTC). All the methods below [b]must[/b] be implemented to have a working custom multiplayer implementation. See also [MultiplayerAPI].
2021-09-07 23:50:22 +00:00
</description>
<tutorials >
</tutorials>
<methods >
<method name= "_get_available_packet_count" qualifiers= "virtual const" >
<return type= "int" />
<description >
2021-12-08 11:49:22 +00:00
Called when the available packet count is internally requested by the [MultiplayerAPI].
2021-09-07 23:50:22 +00:00
</description>
</method>
<method name= "_get_connection_status" qualifiers= "virtual const" >
<return type= "int" />
<description >
2021-12-08 11:49:22 +00:00
Called when the connection status is requested on the [MultiplayerPeer] (see [method MultiplayerPeer.get_connection_status]).
2021-09-07 23:50:22 +00:00
</description>
</method>
<method name= "_get_max_packet_size" qualifiers= "virtual const" >
<return type= "int" />
<description >
2021-12-08 11:49:22 +00:00
Called when the maximum allowed packet size (in bytes) is requested by the [MultiplayerAPI].
2021-09-07 23:50:22 +00:00
</description>
</method>
<method name= "_get_packet" qualifiers= "virtual" >
<return type= "int" />
2021-09-29 12:27:57 +00:00
<argument index= "0" name= "r_buffer" type= "const uint8_t **" />
2021-09-07 23:50:22 +00:00
<argument index= "1" name= "r_buffer_size" type= "int32_t*" />
<description >
2021-12-08 11:49:22 +00:00
Called when a packet needs to be received by the [MultiplayerAPI], with [code]p_buffer_size[/code] being the size of the binary [code]p_buffer[/code] in bytes.
2021-09-07 23:50:22 +00:00
</description>
</method>
<method name= "_get_packet_peer" qualifiers= "virtual const" >
<return type= "int" />
<description >
2021-12-08 11:49:22 +00:00
Called when the ID of the [MultiplayerPeer] who sent the most recent packet is requested (see [method MultiplayerPeer.get_packet_peer]).
2021-09-07 23:50:22 +00:00
</description>
</method>
<method name= "_get_transfer_channel" qualifiers= "virtual const" >
<return type= "int" />
<description >
2021-12-08 11:49:22 +00:00
Called when the transfer channel to use is read on this [MultiplayerPeer] (see [member MultiplayerPeer.transfer_channel]).
2021-09-07 23:50:22 +00:00
</description>
</method>
<method name= "_get_transfer_mode" qualifiers= "virtual const" >
<return type= "int" />
<description >
2021-12-08 11:49:22 +00:00
Called when the transfer mode to use is read on this [MultiplayerPeer] (see [member MultiplayerPeer.transfer_mode]).
2021-09-07 23:50:22 +00:00
</description>
</method>
<method name= "_get_unique_id" qualifiers= "virtual const" >
<return type= "int" />
<description >
2021-12-08 11:49:22 +00:00
Called when the unique ID of this [MultiplayerPeer] is requested (see [method MultiplayerPeer.get_unique_id]).
2021-09-07 23:50:22 +00:00
</description>
</method>
<method name= "_is_refusing_new_connections" qualifiers= "virtual const" >
<return type= "bool" />
<description >
2021-12-08 11:49:22 +00:00
Called when the "refuse new connections" status is requested on this [MultiplayerPeer] (see [member MultiplayerPeer.refuse_new_connections]).
2021-09-07 23:50:22 +00:00
</description>
</method>
<method name= "_is_server" qualifiers= "virtual const" >
<return type= "bool" />
<description >
2021-12-08 11:49:22 +00:00
Called when the "is server" status is requested on the [MultiplayerAPI]. See [method MultiplayerAPI.is_server].
2021-09-07 23:50:22 +00:00
</description>
</method>
<method name= "_poll" qualifiers= "virtual" >
<return type= "int" />
<description >
2021-12-08 11:49:22 +00:00
Called when the [MultiplayerAPI] is polled. See [method MultiplayerAPI.poll].
2021-09-07 23:50:22 +00:00
</description>
</method>
<method name= "_put_packet" qualifiers= "virtual" >
<return type= "int" />
2021-09-29 12:27:57 +00:00
<argument index= "0" name= "p_buffer" type= "const uint8_t*" />
2021-09-07 23:50:22 +00:00
<argument index= "1" name= "p_buffer_size" type= "int" />
<description >
2021-12-08 11:49:22 +00:00
Called when a packet needs to be sent by the [MultiplayerAPI], with [code]p_buffer_size[/code] being the size of the binary [code]p_buffer[/code] in bytes.
2021-09-07 23:50:22 +00:00
</description>
</method>
<method name= "_set_refuse_new_connections" qualifiers= "virtual" >
<return type= "void" />
<argument index= "0" name= "p_enable" type= "bool" />
<description >
2021-12-08 11:49:22 +00:00
Called when the "refuse new connections" status is set on this [MultiplayerPeer] (see [member MultiplayerPeer.refuse_new_connections]).
2021-09-07 23:50:22 +00:00
</description>
</method>
<method name= "_set_target_peer" qualifiers= "virtual" >
<return type= "void" />
<argument index= "0" name= "p_peer" type= "int" />
<description >
2021-12-08 11:49:22 +00:00
Called when the target peer to use is set for this [MultiplayerPeer] (see [method MultiplayerPeer.set_target_peer]).
2021-09-07 23:50:22 +00:00
</description>
</method>
<method name= "_set_transfer_channel" qualifiers= "virtual" >
<return type= "void" />
<argument index= "0" name= "p_channel" type= "int" />
<description >
2021-12-08 11:49:22 +00:00
Called when the channel to use is set for this [MultiplayerPeer] (see [member MultiplayerPeer.transfer_channel]).
2021-09-07 23:50:22 +00:00
</description>
</method>
<method name= "_set_transfer_mode" qualifiers= "virtual" >
<return type= "void" />
<argument index= "0" name= "p_mode" type= "int" />
<description >
2021-12-08 11:49:22 +00:00
Called when the transfer mode is set on this [MultiplayerPeer] (see [member MultiplayerPeer.transfer_mode]).
2021-09-07 23:50:22 +00:00
</description>
</method>
</methods>
</class>