Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
MultiplayerPeerExtension¶
继承: MultiplayerPeer < PacketPeer < RefCounted < Object
可以通过 GDExtension 继承,从而实现自定义多人 API 网络层的类。
描述¶
该类旨在被一个 GDExtension 插件继承,以实现多人游戏 API(例如 WebRTC)的自定义网络层。下面的所有方法都必须被实现,才能实现一个有效的自定义多人游戏实现。另请参阅 MultiplayerAPI。
方法¶
void |
_close ( ) virtual |
void |
_disconnect_peer ( int p_peer, bool p_force ) virtual |
_get_available_packet_count ( ) virtual const |
|
_get_connection_status ( ) virtual const |
|
_get_max_packet_size ( ) virtual const |
|
_get_packet ( const uint8_t ** r_buffer, int32_t* r_buffer_size ) virtual |
|
_get_packet_channel ( ) virtual const |
|
_get_packet_mode ( ) virtual const |
|
_get_packet_peer ( ) virtual const |
|
_get_packet_script ( ) virtual |
|
_get_transfer_channel ( ) virtual const |
|
_get_transfer_mode ( ) virtual const |
|
_get_unique_id ( ) virtual const |
|
_is_refusing_new_connections ( ) virtual const |
|
_is_server ( ) virtual const |
|
_is_server_relay_supported ( ) virtual const |
|
void |
_poll ( ) virtual |
_put_packet ( const uint8_t* p_buffer, int p_buffer_size ) virtual |
|
_put_packet_script ( PackedByteArray p_buffer ) virtual |
|
void |
_set_refuse_new_connections ( bool p_enable ) virtual |
void |
_set_target_peer ( int p_peer ) virtual |
void |
_set_transfer_channel ( int p_channel ) virtual |
void |
_set_transfer_mode ( TransferMode p_mode ) virtual |
方法说明¶
void _close ( ) virtual
该多人游戏对等体应当立即关闭时调用(见 MultiplayerPeer.close)。
void _disconnect_peer ( int p_peer, bool p_force ) virtual
应当强制断开与对等体 p_peer
的连接时调用(见 MultiplayerPeer.disconnect_peer)。
int _get_available_packet_count ( ) virtual const
MultiplayerAPI 对可用的数据包数量发出内部请求时调用。
ConnectionStatus _get_connection_status ( ) virtual const
MultiplayerAPI 请求连接状态时调用(见 MultiplayerPeer.get_connection_status)。
int _get_max_packet_size ( ) virtual const
MultiplayerAPI 请求最大允许的数据包大小(单位为字节)时调用。
Error _get_packet ( const uint8_t ** r_buffer, int32_t* r_buffer_size ) virtual
MultiplayerAPI 需要接收一个数据包时调用,r_buffer_size
是二进制缓冲区 r_buffer
的字节大小。
int _get_packet_channel ( ) virtual const
返回接收下一个可用数据包所使用的通道。请参阅 MultiplayerPeer.get_packet_channel。
TransferMode _get_packet_mode ( ) virtual const
返回发送下一个可用数据包所使用的远程对等体的 TransferMode。请参阅 MultiplayerPeer.get_packet_mode。
int _get_packet_peer ( ) virtual const
请求最近数据包发送方 MultiplayerPeer 的 ID 时调用(见 MultiplayerPeer.get_packet_peer)。
PackedByteArray _get_packet_script ( ) virtual
如果 _get_packet 未实现,则在有数据包需要被 MultiplayerAPI 接收时调用。使用 GDScript 扩展这个类时请使用。
int _get_transfer_channel ( ) virtual const
读取 MultiplayerPeer 所使用的传输通道时调用(见 MultiplayerPeer.transfer_channel)。
TransferMode _get_transfer_mode ( ) virtual const
读取 MultiplayerPeer 所使用的传输模式时调用(见 MultiplayerPeer.transfer_mode)。
int _get_unique_id ( ) virtual const
请求 MultiplayerPeer 的唯一 ID 时调用(见 MultiplayerPeer.get_unique_id)。取值必须在 1
和 2147483647
之间。
bool _is_refusing_new_connections ( ) virtual const
请求 MultiplayerPeer 的“拒绝新连接”状态时调用(见 MultiplayerPeer.refuse_new_connections)。
bool _is_server ( ) virtual const
请求 MultiplayerPeer 的“是否为服务器”状态时调用。见 MultiplayerAPI.is_server。
bool _is_server_relay_supported ( ) virtual const
检查服务器在当前配置中是否能够作为中继时调用。见 MultiplayerPeer.is_server_relay_supported。
void _poll ( ) virtual
轮询 MultiplayerPeer 时调用。见 MultiplayerAPI.poll。
Error _put_packet ( const uint8_t* p_buffer, int p_buffer_size ) virtual
需要让 MultiplayerAPI 发送数据包时调用,p_buffer_size
是二进制缓冲区 p_buffer
的字节大小。
Error _put_packet_script ( PackedByteArray p_buffer ) virtual
如果 _put_packet 未实现,则在需要让 MultiplayerAPI 发送数据包时调用。使用 GDScript 扩展这个类时请使用。
void _set_refuse_new_connections ( bool p_enable ) virtual
设置 MultiplayerPeer 的“拒绝新连接”状态时调用(见 MultiplayerPeer.refuse_new_connections)。
void _set_target_peer ( int p_peer ) virtual
设置 MultiplayerPeer 所使用的目标对等体时调用(见 MultiplayerPeer.set_target_peer)。
void _set_transfer_channel ( int p_channel ) virtual
设置 MultiplayerPeer 所使用的通道时调用(见 MultiplayerPeer.transfer_channel)。
void _set_transfer_mode ( TransferMode p_mode ) virtual
设置 MultiplayerPeer 所使用的传输模式时调用(见 MultiplayerPeer.transfer_mode)。