godot/doc/classes/NetworkedMultiplayerCustom.xml

61 lines
3.2 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<class name="NetworkedMultiplayerCustom" inherits="NetworkedMultiplayerPeer" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
A [NetworkedMultiplayerPeer] implementation that can be controlled from a script.
</brief_description>
<description>
A [NetworkedMultiplayerPeer] implementation that can be used as a [member MultiplayerAPI.network_peer] and controlled from a script.
Its purpose is to allow adding a new backend for the high-Level multiplayer API without needing to use GDNative.
</description>
<tutorials>
</tutorials>
<methods>
<method name="deliver_packet">
<return type="void" />
<argument index="0" name="buffer" type="PoolByteArray" />
<argument index="1" name="from_peer_id" type="int" />
<description>
Deliver a packet to the local [MultiplayerAPI].
When your script receives a packet from other peers over the network (originating from the [signal packet_generated] signal on the sending peer), passing it to this method will deliver it locally.
</description>
</method>
<method name="initialize">
<return type="void" />
<argument index="0" name="self_peer_id" type="int" />
<description>
Initialize the peer with the given [code]self_peer_id[/code] (must be between 1 and 2147483647).
Can only be called if the connection status is [constant NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method set_connection_status].
</description>
</method>
<method name="set_connection_status">
<return type="void" />
<argument index="0" name="connection_status" type="int" enum="NetworkedMultiplayerPeer.ConnectionStatus" />
<description>
Set the state of the connection. See [enum NetworkedMultiplayerPeer.ConnectionStatus].
This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], [signal NetworkedMultiplayerPeer.connection_failed] or [signal NetworkedMultiplayerPeer.server_disconnected] signals depending on the status and if the peer has the unique network id of [code]1[/code].
You can only change to [constant NetworkedMultiplayerPeer.CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer.CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer.CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer.CONNECTION_CONNECTING].
</description>
</method>
<method name="set_max_packet_size">
<return type="void" />
<argument index="0" name="max_packet_size" type="int" />
<description>
Set the max packet size that this peer can handle.
</description>
</method>
</methods>
<signals>
<signal name="packet_generated">
<argument index="0" name="peer_id" type="int" />
<argument index="1" name="buffer" type="PoolByteArray" />
<argument index="2" name="transfer_mode" type="int" />
<description>
Emitted when the local [MultiplayerAPI] generates a packet (e.g. when calling [method Node.rpc]).
Your script should take this packet and send it to the requested peer over the network (which should call [method deliver_packet] with the data when it's received).
</description>
</signal>
</signals>
<constants>
</constants>
</class>