MultiplayerPeerExtension

继承: MultiplayerPeer < PacketPeer < RefCounted < Object

可以继承以通过S3Extension实现自定义多人API网络层的类。

描述

此类旨在继承自S3Extension插件,以实现多人API(例如WebRTC)的自定义网络层。以下所有方法都必须才能实现有效的自定义多人实现。另请参阅MultiplayerAPI

方法

void

_close() virtual

void

_disconnect_peer(p_peer: int, p_force: bool) virtual

int

_get_available_packet_count() virtual const

ConnectionStatus

_get_connection_status() virtual const

int

_get_max_packet_size() virtual const

Error

_get_packet(r_buffer: const uint8_t **, r_buffer_size: int32_t*) virtual

int

_get_packet_channel() virtual const

TransferMode

_get_packet_mode() virtual const

int

_get_packet_peer() virtual const

PackedByteArray

_get_packet_script() virtual

int

_get_transfer_channel() virtual const

TransferMode

_get_transfer_mode() virtual const

int

_get_unique_id() virtual const

bool

_is_refusing_new_connections() virtual const

bool

_is_server() virtual const

bool

_is_server_relay_supported() virtual const

void

_poll() virtual

Error

_put_packet(p_buffer: const uint8_t*, p_buffer_size: int) virtual

Error

_put_packet_script(p_buffer: PackedByteArray) virtual

void

_set_refuse_new_connections(p_enable: bool) virtual

void

_set_target_peer(p_peer: int) virtual

void

_set_transfer_channel(p_channel: int) virtual

void

_set_transfer_mode(p_mode: TransferMode) virtual


方法说明

void _close() virtual 🔗

当多人对等点应该立即关闭时调用(参见MultiplayerPeer.close())。


void _disconnect_peer(p_peer: int, p_force: bool) virtual 🔗

当连接的p_peer应该被强制断开时调用(参见MultiplayerPeer.disconnect_peer())。


int _get_available_packet_count() virtual const 🔗

MultiplayerAPI内部请求可用数据包计数时调用。


ConnectionStatus _get_connection_status() virtual const 🔗

MultiplayerPeer上请求连接状态时调用(参见MultiplayerPeer.get_connection_status())。


int _get_max_packet_size() virtual const 🔗

MultiplayerAPI请求允许的最大数据包大小(以字节为单位)时调用。


Error _get_packet(r_buffer: const uint8_t **, r_buffer_size: int32_t*) virtual 🔗

MultiplayerAPI需要接收数据包时调用,r_buffer_size是二进制r_buffer的大小(以字节为单位)。


int _get_packet_channel() virtual const 🔗

调用以获取接收下一个可用数据包的通道。参见MultiplayerPeer.get_packet_channel()


TransferMode _get_packet_mode() virtual const 🔗

调用以获取远程对等方用于发送下一个可用数据包的传输模式。参见MultiplayerPeer.get_packet_mode()


int _get_packet_peer() virtual const 🔗

当请求发送最近数据包的MultiplayerPeer的ID时调用(参见MultiplayerPeer.get_packet_peer())。


PackedByteArray _get_packet_script() virtual 🔗

如果_get_packet()未实现,则在MultiplayerAPI需要接收数据包时调用。通过S3Script扩展此类时使用此选项。


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())。该值必须介于12147483647之间。


bool _is_refusing_new_connections() virtual const 🔗

在此MultiplayerPeer上请求“拒绝新连接”状态时调用(参见MultiplayerPeer.refuse_new_connections)。


bool _is_server() virtual const 🔗

MultiplayerAPI上请求“is server”状态时调用。请参阅MultiplayerAPI.is_server()


bool _is_server_relay_supported() virtual const 🔗

调用以检查服务器是否可以在当前配置中充当中继。请参阅MultiplayerPeer.is_server_relay_supported()


void _poll() virtual 🔗

轮询MultiplayerAPI时调用。请参阅MultiplayerAPI.poll()


Error _put_packet(p_buffer: const uint8_t*, p_buffer_size: int) virtual 🔗

当需要由MultiplayerAPI发送数据包时调用,p_buffer_size是二进制p_buffer的大小(以字节为单位)。


Error _put_packet_script(p_buffer: PackedByteArray) virtual 🔗

如果未实现_put_packet(),则在需要由MultiplayerAPI发送数据包时调用。通过S3Script扩展此类时使用此选项。


void _set_refuse_new_connections(p_enable: bool) virtual 🔗

在此MultiplayerPeer上设置“拒绝新连接”状态时调用(参见MultiplayerPeer.refuse_new_connections)。


void _set_target_peer(p_peer: int) virtual 🔗

当为此MultiplayerPeer设置要使用的目标对等点时调用(参见MultiplayerPeer.set_target_peer())。


void _set_transfer_channel(p_channel: int) virtual 🔗

当为此MultiplayerPeer设置要使用的通道时调用(参见MultiplayerPeer.transfer_channel)。


void _set_transfer_mode(p_mode: TransferMode) virtual 🔗

在此MultiplayerPeer上设置传输模式时调用(参见MultiplayerPeer.transfer_mode)。