MultiplayerPeerExtension¶
继承: MultiplayerPeer < PacketPeer < RefCounted < Object
可以继承以通过S3Extension实现自定义多人API网络层的类。
描述¶
此类旨在继承自S3Extension插件,以实现多人API(例如WebRTC)的自定义网络层。以下所有方法都必须才能实现有效的自定义多人实现。另请参阅MultiplayerAPI。
方法¶
void |
_close() virtual |
void |
_disconnect_peer(p_peer: int, p_force: bool) virtual |
_get_available_packet_count() virtual const |
|
_get_connection_status() virtual const |
|
_get_max_packet_size() virtual const |
|
_get_packet(r_buffer: |
|
_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(p_buffer: |
|
_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())。该值必须介于1和2147483647之间。
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)。