MultiplayerPeerExtension
繼承: MultiplayerPeer < PacketPeer < RefCounted < Object
可以通過 GDExtension 繼承,從而實作自訂多人 API 網路層的類。
說明
該類旨在被一個 GDExtension 外掛程式繼承,以實作多人遊戲 API(例如 WebRTC)的自定義網路層。下面的所有方法都必須被實作,才能實作一個有效的自訂多人遊戲實作。另請參閱 MultiplayerAPI。
方法
void |
_close() virtual required |
void |
_disconnect_peer(p_peer: int, p_force: bool) virtual required |
_get_available_packet_count() virtual required const |
|
_get_connection_status() virtual required const |
|
_get_max_packet_size() virtual required const |
|
_get_packet(r_buffer: |
|
_get_packet_channel() virtual required const |
|
_get_packet_mode() virtual required const |
|
_get_packet_peer() virtual required const |
|
_get_packet_script() virtual |
|
_get_transfer_channel() virtual required const |
|
_get_transfer_mode() virtual required const |
|
_get_unique_id() virtual required const |
|
_is_refusing_new_connections() virtual const |
|
_is_server() virtual required const |
|
_is_server_relay_supported() virtual const |
|
void |
_poll() virtual required |
_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 required |
void |
_set_transfer_channel(p_channel: int) virtual required |
void |
_set_transfer_mode(p_mode: TransferMode) virtual required |
方法說明
void _close() virtual required 🔗
該多人遊戲對等體應當立即關閉時呼叫(見 MultiplayerPeer.close())。
void _disconnect_peer(p_peer: int, p_force: bool) virtual required 🔗
應當強制斷開與對等體 p_peer 的連接時呼叫(見 MultiplayerPeer.disconnect_peer())。
int _get_available_packet_count() virtual required const 🔗
MultiplayerAPI 對可用的封包數量發出內部請求時呼叫。
ConnectionStatus _get_connection_status() virtual required const 🔗
MultiplayerAPI 請求連接狀態時呼叫(見 MultiplayerPeer.get_connection_status())。
int _get_max_packet_size() virtual required 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 required const 🔗
返回接收下一個可用封包所使用的通道。請參閱 MultiplayerPeer.get_packet_channel()。
TransferMode _get_packet_mode() virtual required const 🔗
Called to get the transfer mode the remote peer used to send the next available packet. See MultiplayerPeer.get_packet_mode().
int _get_packet_peer() virtual required const 🔗
請求最近封包發送方 MultiplayerPeer 的 ID 時呼叫(見 MultiplayerPeer.get_packet_peer())。
PackedByteArray _get_packet_script() virtual 🔗
如果 _get_packet() 未實作,則在有封包需要被 MultiplayerAPI 接收時呼叫。使用 GDScript 擴充這個類時請使用。
int _get_transfer_channel() virtual required const 🔗
讀取 MultiplayerPeer 所使用的傳輸通道時呼叫(見 MultiplayerPeer.transfer_channel)。
TransferMode _get_transfer_mode() virtual required const 🔗
讀取 MultiplayerPeer 所使用的傳輸模式時呼叫(見 MultiplayerPeer.transfer_mode)。
int _get_unique_id() virtual required 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 required const 🔗
請求 MultiplayerPeer 的“是否為伺服器”狀態時呼叫。見 MultiplayerAPI.is_server()。
bool _is_server_relay_supported() virtual const 🔗
檢查伺服器在目前配置中是否能夠作為中繼時呼叫。見 MultiplayerPeer.is_server_relay_supported()。
void _poll() virtual required 🔗
輪詢 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 required 🔗
設定 MultiplayerPeer 所使用的目標對等體時呼叫(見 MultiplayerPeer.set_target_peer())。
void _set_transfer_channel(p_channel: int) virtual required 🔗
設定 MultiplayerPeer 所使用的通道時呼叫(見 MultiplayerPeer.transfer_channel)。
void _set_transfer_mode(p_mode: TransferMode) virtual required 🔗
設定 MultiplayerPeer 所使用的傳輸模式時呼叫(見 MultiplayerPeer.transfer_mode)。