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)。
© 版权所有 2014-present Juan Linietsky, Ariel Manzur and the Godot community (CC BY 3.0). Revision b1c660f7
.
Built with Sphinx using a theme provided by Read the Docs.