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.

MultiplayerSynchronizer

Hereda: Node < Object

Synchronizes properties from the multiplayer authority to the remote peers.

Descripción

By default, MultiplayerSynchronizer synchronizes configured properties to all peers.

Visibility can be handled directly with set_visibility_for() or as-needed with add_visibility_filter() and update_visibility().

MultiplayerSpawners will handle nodes according to visibility of synchronizers as long as the node at root_path was spawned by one.

Internally, MultiplayerSynchronizer uses MultiplayerAPI.object_configuration_add() to notify synchronization start passing the Node at root_path as the object and itself as the configuration, and uses MultiplayerAPI.object_configuration_remove() to notify synchronization end in a similar way.

Note: Synchronization is not supported for Object type properties, like Resource. Properties that are unique to each peer, like the instance IDs of Objects (see Object.get_instance_id()) or RIDs, will also not work in synchronization.

Propiedades

float

delta_interval

0.0

bool

public_visibility

true

SceneReplicationConfig

replication_config

float

replication_interval

0.0

NodePath

root_path

NodePath("..")

VisibilityUpdateMode

visibility_update_mode

0

Métodos

void

add_visibility_filter(filter: Callable)

bool

get_visibility_for(peer: int) const

void

remove_visibility_filter(filter: Callable)

void

set_visibility_for(peer: int, visible: bool)

void

update_visibility(for_peer: int = 0)


Señales

delta_synchronized() 🔗

Emitida cuando se recibe un nuevo estado de sincronización delta por parte de este sincronizador después de que las propiedades han sido actualizadas.


synchronized() 🔗

Emitida cuando este sincronizador recibe un nuevo estado de sincronización después de que las propiedades han sido actualizadas.


visibility_changed(for_peer: int) 🔗

Emitida cuando se actualiza la visibilidad de for_peer. Véase update_visibility().


Enumeraciones

enum VisibilityUpdateMode: 🔗

VisibilityUpdateMode VISIBILITY_PROCESS_IDLE = 0

Visibility filters are updated during process frames (see Node.NOTIFICATION_INTERNAL_PROCESS).

VisibilityUpdateMode VISIBILITY_PROCESS_PHYSICS = 1

Visibility filters are updated during physics frames (see Node.NOTIFICATION_INTERNAL_PHYSICS_PROCESS).

VisibilityUpdateMode VISIBILITY_PROCESS_NONE = 2

Los filtros de visibilidad no se actualizan automáticamente y deben ser actualizados manualmente llamando a update_visibility().


Descripciones de Propiedades

float delta_interval = 0.0 🔗

  • void set_delta_interval(value: float)

  • float get_delta_interval()

Intervalo de tiempo entre sincronizaciones delta. Se usa cuando la replicación está configurada en SceneReplicationConfig.REPLICATION_MODE_ON_CHANGE. Si se establece en 0.0 (el valor por defecto), las sincronizaciones delta ocurren en cada fotograma de proceso de red.


bool public_visibility = true 🔗

  • void set_visibility_public(value: bool)

  • bool is_visibility_public()

Whether synchronization should be visible to all peers by default. See set_visibility_for() and add_visibility_filter() for ways of configuring fine-grained visibility options.


SceneReplicationConfig replication_config 🔗

Recurso que contiene las propiedades a sincronizar.


float replication_interval = 0.0 🔗

  • void set_replication_interval(value: float)

  • float get_replication_interval()

Intervalo de tiempo entre sincronizaciones. Se usa cuando la replicación está configurada en SceneReplicationConfig.REPLICATION_MODE_ALWAYS. Si se establece en 0.0 (el valor por defecto), las sincronizaciones ocurren en cada fotograma de proceso de red.


NodePath root_path = NodePath("..") 🔗

Ruta del nodo a la que las propiedades replicadas son relativas.

Si root_path fue generado por un MultiplayerSpawner, el nodo también será generado y eliminado según las opciones de visibilidad de este sincronizador.


VisibilityUpdateMode visibility_update_mode = 0 🔗

Especifica cuándo se actualizan los filtros de visibilidad.


Descripciones de Métodos

void add_visibility_filter(filter: Callable) 🔗

Adds a peer visibility filter for this synchronizer.

filter should take a peer ID int and return a bool.


bool get_visibility_for(peer: int) const 🔗

Queries the current visibility for peer peer.


void remove_visibility_filter(filter: Callable) 🔗

Removes a peer visibility filter from this synchronizer.


void set_visibility_for(peer: int, visible: bool) 🔗

Sets the visibility of peer to visible. If peer is 0, the value of public_visibility will be updated instead.


void update_visibility(for_peer: int = 0) 🔗

Actualiza la visibilidad de for_peer de acuerdo con los filtros de visibilidad. Si for_peer es 0 (valor predeterminado), se actualiza la visibilidad de todos los peers.