Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

MultiplayerPeerExtension

Eredita: MultiplayerPeer < PacketPeer < RefCounted < Object

Classe che può essere ereditata per implementare livelli personalizzati di rete dell'API multiplayer tramite GDExtension.

Descrizione

Questa classe è progettata per essere ereditata da un plugin GDExtension per implementare livelli personalizzati di rete per l'API multigiocatore (come WebRTC). Tutti i metodi sottostanti devono essere implementati per avere un'implementazione multigiocatore personalizzata funzionante. Vedi anche MultiplayerAPI.

Metodi

void

_close() virtual required

void

_disconnect_peer(peer: int, force: bool) virtual required

int

_get_available_packet_count() virtual required const

ConnectionStatus

_get_connection_status() virtual required const

int

_get_max_packet_size() virtual required const

Error

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

int

_get_packet_channel() virtual required const

TransferMode

_get_packet_mode() virtual required const

int

_get_packet_peer() virtual required const

PackedByteArray

_get_packet_script() virtual

int

_get_transfer_channel() virtual required const

TransferMode

_get_transfer_mode() virtual required const

int

_get_unique_id() virtual required const

bool

_is_refusing_new_connections() virtual const

bool

_is_server() virtual required const

bool

_is_server_relay_supported() virtual const

void

_poll() virtual required

Error

_put_packet(buffer: const uint8_t*, buffer_size: int) virtual

Error

_put_packet_script(buffer: PackedByteArray) virtual

void

_set_refuse_new_connections(enable: bool) virtual

void

_set_target_peer(peer: int) virtual required

void

_set_transfer_channel(channel: int) virtual required

void

_set_transfer_mode(mode: TransferMode) virtual required


Descrizioni dei metodi

void _close() virtual required 🔗

Chiamato quando il peer multigiocatore deve essere chiuso immediatamente (vedi MultiplayerPeer.close()).


void _disconnect_peer(peer: int, force: bool) virtual required 🔗

Called when the connected peer should be forcibly disconnected (see MultiplayerPeer.disconnect_peer()).


int _get_available_packet_count() virtual required const 🔗

Chiamato quando il conteggio dei pacchetti disponibili viene richiesto internamente dalla MultiplayerAPI.


ConnectionStatus _get_connection_status() virtual required const 🔗

Chiamato quando viene richiesto lo stato della connessione sul MultiplayerPeer (vedi MultiplayerPeer.get_connection_status()).


int _get_max_packet_size() virtual required const 🔗

Chiamato quando la dimensione massima consentita dei pacchetti (in byte) viene richiesta dalla MultiplayerAPI.


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

Chiamato quando un pacchetto deve essere ricevuto dalla MultiplayerAPI, dove r_buffer_size è la dimensione del r_buffer binario in byte.


int _get_packet_channel() virtual required const 🔗

Chiamato per ottenere il canale su cui è stato ricevuto il prossimo pacchetto disponibile. Vedi MultiplayerPeer.get_packet_channel().


TransferMode _get_packet_mode() virtual required const 🔗

Chiamato per ottenere la modalità di trasferimento utilizzata dal peer remoto per inviare il prossimo pacchetto disponibile. Vedi MultiplayerPeer.get_packet_mode().


int _get_packet_peer() virtual required const 🔗

Chiamato quando viene richiesto l'ID del MultiplayerPeer che ha inviato il pacchetto più recente (vedi MultiplayerPeer.get_packet_peer()).


PackedByteArray _get_packet_script() virtual 🔗

Chiamato quando un pacchetto deve essere ricevuto dalla MultiplayerAPI, se _get_packet() non è implementato. Usalo quando estendi questa classe tramite GDScript.


int _get_transfer_channel() virtual required const 🔗

Chiamato quando viene letto il canale di trasferimento da utilizzare su questo MultiplayerPeer (vedi MultiplayerPeer.transfer_channel).


TransferMode _get_transfer_mode() virtual required const 🔗

Chiamato quando viene letta la modalità di trasferimento da utilizzare su questo MultiplayerPeer (vedi MultiplayerPeer.transfer_mode).


int _get_unique_id() virtual required const 🔗

Chiamato quando viene richiesto l'ID univoco di questo MultiplayerPeer (vedi MultiplayerPeer.get_unique_id()). Il valore deve essere compreso tra 1 e 2147483647.


bool _is_refusing_new_connections() virtual const 🔗

Chiamato quando viene richiesto lo stato "rifiuta nuove connessioni" su questo MultiplayerPeer (vedi MultiplayerPeer.refuse_new_connections).


bool _is_server() virtual required const 🔗

Chiamato quando viene richiesto lo stato "è il server" sulla MultiplayerAPI. Vedi MultiplayerAPI.is_server().


bool _is_server_relay_supported() virtual const 🔗

Chiamato per verificare se il server può fungere da ripetitore nella configurazione attuale. Vedi MultiplayerPeer.is_server_relay_supported().


void _poll() virtual required 🔗

Chiamato quando la MultiplayerAPI viene interrogata. Vedi MultiplayerAPI.poll().


Error _put_packet(buffer: const uint8_t*, buffer_size: int) virtual 🔗

Called when a packet needs to be sent by the MultiplayerAPI, with buffer_size being the size of the binary buffer in bytes.


Error _put_packet_script(buffer: PackedByteArray) virtual 🔗

Chiamato quando un pacchetto deve essere inviato dalla MultiplayerAPI, se _put_packet() non è implementato. Usalo quando estendi questa classe tramite GDScript.


void _set_refuse_new_connections(enable: bool) virtual 🔗

Chiamato quando lo stato "rifiuta nuove connessioni" è impostato su questo MultiplayerPeer (vedi MultiplayerPeer.refuse_new_connections).


void _set_target_peer(peer: int) virtual required 🔗

Chiamato quando il peer di destinazione da utilizzare è impostato per questo MultiplayerPeer (vedi MultiplayerPeer.set_target_peer()).


void _set_transfer_channel(channel: int) virtual required 🔗

Chiamato quando il canale da utilizzare è impostato per questo MultiplayerPeer (vedi MultiplayerPeer.transfer_channel).


void _set_transfer_mode(mode: TransferMode) virtual required 🔗

Chiamato quando la modalità di trasferimento è impostata su questo MultiplayerPeer (vedi MultiplayerPeer.transfer_mode).