WebRTCMultiplayer

Inherits: NetworkedMultiplayerPeer < PacketPeer < Reference < Object

Una simple interfaz para crear una red de malla entre pares compuesta por WebRTCPeerConnection que es compatible con el MultiplayerAPI.

Descripción

Esta clase construye una malla completa de WebRTCPeerConnection (una conexión para cada par) que puede ser usada como un MultiplayerAPI.network_peer.

Puedes añadir cada WebRTCPeerConnection a través de add_peer o eliminarlos a través de remove_peer. Los pares deben ser agregados en el estado WebRTCPeerConnection.STATE_NEW para permitirle crear los canales apropiados. Esta clase no creará ofertas ni establecerá descripciones, sólo las sondeará, y notificará las conexiones y desconexiones.

La NetworkedMultiplayerPeer.connection_succeeded y la NetworkedMultiplayerPeer.server_disconnected no se emitirán a menos que el server_compatibility sea true en initialize. Además, la transferencia de datos funciona como en un NetworkedMultiplayerPeer.

Propiedades

bool

refuse_new_connections

false (overrides NetworkedMultiplayerPeer)

TransferMode

transfer_mode

2 (overrides NetworkedMultiplayerPeer)

Métodos

Error

add_peer ( WebRTCPeerConnection peer, int peer_id, int unreliable_lifetime=1 )

void

close ( )

Dictionary

get_peer ( int peer_id )

Dictionary

get_peers ( )

bool

has_peer ( int peer_id )

Error

initialize ( int peer_id, bool server_compatibility=false )

void

remove_peer ( int peer_id )

Descripciones de Métodos

Añade un nuevo par a la malla con el peer_id dado. El WebRTCPeerConnection debe estar en el estado WebRTCPeerConnection.STATE_NEW.

Se crearán tres canales para un transporte fiable, poco fiable y ordenado. El valor de unreliable_lifetime se pasará a la opción maxPacketLifetime cuando se creen canales no fiables y ordenados (véase WebRTCPeerConnection.create_data_channel).


  • void close ( )

Cierra todas las conexiones y canales de add peer, liberando todos los recursos.


Devuelve una representación del diccionario del par con el peer_id dado con tres claves. connection que contiene el WebRTCPeerConnection a este par, channels un array de tres WebRTCDataChannel, y connected un booleano que representa si la conexión del par está actualmente conectada (los tres canales están abiertos).


Devuelve un diccionario cuyas claves son las identificaciones de los pares y valora la representación de los pares como en get_peer.


Devuelve true si el peer_id dado está en el mapa de pares (aunque podría no estar conectado).


  • Error initialize ( int peer_id, bool server_compatibility=false )

Inicializar el par multijugador con el peer_id dado (debe estar entre 1 y 2147483647).

Si server_compatibilty es false (por defecto), el par multijugador estará inmediatamente en el estado NetworkedMultiplayerPeer.CONNECTION_CONNECTED y la NetworkedMultiplayerPeer.connection_succeeded no se emitirá.

Si server_compatibilty es true el par suprimirá todas las señales de NetworkedMultiplayerPeer.peer_connected hasta que un par con id NetworkedMultiplayerPeer.TARGET_PEER_SERVER se conecte y entonces emitirá NetworkedMultiplayerPeer.connection_succeeded. Después de eso, la señal NetworkedMultiplayerPeer.peer_connected será emitida para cada par ya conectado, y cualquier nuevo par que pueda conectarse. Si el par del servidor se desconecta después de eso, se emitirá la señal NetworkedMultiplayerPeer.server_disconnected y el estado se convertirá en NetworkedMultiplayerPeer.CONNECTION_CONNECTED.


  • void remove_peer ( int peer_id )

Quita el par con el peer_id dado de la malla. Si el par estaba conectado, y se emitió NetworkedMultiplayerPeer.peer_connected para él, entonces se emitirá NetworkedMultiplayerPeer.peer_disconnected.