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.
Checking the stable version of the documentation...
MultiplayerSynchronizer
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
|
||
|
||
|
||
|
||
|
Métodos
void |
add_visibility_filter(filter: Callable) |
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
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 🔗
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 🔗
void set_replication_config(value: SceneReplicationConfig)
SceneReplicationConfig get_replication_config()
Recurso que contiene las propiedades a sincronizar.
float replication_interval = 0.0 🔗
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 🔗
void set_visibility_update_mode(value: VisibilityUpdateMode)
VisibilityUpdateMode get_visibility_update_mode()
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.