MultiplayerPeerExtension
继承: MultiplayerPeer
< PacketPeer
< RefCounted
< Object
Class that can be inherited to implement custom multiplayer API networking layers via GDExtension.
描述
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 must be implemented to have a working custom multiplayer implementation. See also MultiplayerAPI
.
方法
方法说明
void
_close ( ) virtual1
Called when the multiplayer peer should be immediately closed (see MultiplayerPeer.close
).
void
_disconnect_peer ( p_peer: int
, p_force: bool
) virtual1
Called when the connected p_peer
should be forcibly disconnected (see MultiplayerPeer.disconnect_peer
).
int
_get_available_packet_count ( ) virtual1 const2
Called when the available packet count is internally requested by the MultiplayerAPI
.
ConnectionStatus _get_connection_status ( ) virtual1 const2
Called when the connection status is requested on the MultiplayerPeer
(see MultiplayerPeer.get_connection_status
).
int
_get_max_packet_size ( ) virtual1 const2
Called when the maximum allowed packet size (in bytes) is requested by the MultiplayerAPI
.
Error _get_packet ( r_buffer: const uint8_t **
, r_buffer_size: int32_t*
) virtual1
Called when a packet needs to be received by the MultiplayerAPI
, with r_buffer_size
being the size of the binary r_buffer
in bytes.
int
_get_packet_channel ( ) virtual1 const2
Called to get the channel over which the next available packet was received. See MultiplayerPeer.get_packet_channel
.
TransferMode _get_packet_mode ( ) virtual1 const2
Called to get the transfer mode the remote peer used to send the next available packet. See MultiplayerPeer.get_packet_mode
.
int
_get_packet_peer ( ) virtual1 const2
Called when the ID of the MultiplayerPeer
who sent the most recent packet is requested (see MultiplayerPeer.get_packet_peer
).
PackedByteArray
_get_packet_script ( ) virtual1
Called when a packet needs to be received by the MultiplayerAPI
, if _get_packet
isn't implemented. Use this when extending this class via GDScript.
int
_get_transfer_channel ( ) virtual1 const2
Called when the transfer channel to use is read on this MultiplayerPeer
(see MultiplayerPeer.transfer_channel
).
TransferMode _get_transfer_mode ( ) virtual1 const2
Called when the transfer mode to use is read on this MultiplayerPeer
(see MultiplayerPeer.transfer_mode
).
int
_get_unique_id ( ) virtual1 const2
Called when the unique ID of this MultiplayerPeer
is requested (see MultiplayerPeer.get_unique_id
). The value must be between 1
and 2147483647
.
bool
_is_refusing_new_connections ( ) virtual1 const2
Called when the "refuse new connections" status is requested on this MultiplayerPeer
(see MultiplayerPeer.refuse_new_connections
).
bool
_is_server ( ) virtual1 const2
Called when the "is server" status is requested on the MultiplayerAPI
. See MultiplayerAPI.is_server
.
bool
_is_server_relay_supported ( ) virtual1 const2
Called to check if the server can act as a relay in the current configuration. See MultiplayerPeer.is_server_relay_supported
.
void
_poll ( ) virtual1
Called when the MultiplayerAPI
is polled. See MultiplayerAPI.poll
.
Error _put_packet ( p_buffer: const uint8_t*
, p_buffer_size: int
) virtual1
Called when a packet needs to be sent by the MultiplayerAPI
, with p_buffer_size
being the size of the binary p_buffer
in bytes.
Error _put_packet_script ( p_buffer: PackedByteArray
) virtual1
Called when a packet needs to be sent by the MultiplayerAPI
, if _put_packet
isn't implemented. Use this when extending this class via GDScript.
void
_set_refuse_new_connections ( p_enable: bool
) virtual1
Called when the "refuse new connections" status is set on this MultiplayerPeer
(see MultiplayerPeer.refuse_new_connections
).
void
_set_target_peer ( p_peer: int
) virtual1
Called when the target peer to use is set for this MultiplayerPeer
(see MultiplayerPeer.set_target_peer
).
void
_set_transfer_channel ( p_channel: int
) virtual1
Called when the channel to use is set for this MultiplayerPeer
(see MultiplayerPeer.transfer_channel
).
void
_set_transfer_mode ( p_mode: TransferMode ) virtual1
Called when the transfer mode is set on this MultiplayerPeer
(see MultiplayerPeer.transfer_mode
).
本方法通常需要用户覆盖才能生效。
本方法无副作用,不会修改该实例的任何成员变量。
本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。
本方法用于构造某个类型。
调用本方法无需实例,可直接使用类名进行调用。
本方法描述的是使用本类型作为左操作数的有效运算符。
这个值是由下列位标志构成位掩码的整数。
无返回值。