MultiplayerPeerExtension
继承: MultiplayerPeer < PacketPeer < RefCounted < Object
可以通过 GDExtension 继承,从而实现自定义多人 API 网络层的类。
描述
该类旨在被一个 GDExtension 插件继承,以实现多人游戏 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 🔗
MultiplayerAPI 请求连接状态时调用(见 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 接收时调用。使用 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(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 发送数据包时调用。使用 GDScript 扩展这个类时请使用。
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)。