MultiplayerSynchronizer¶
Synchronizes properties from the multiplayer authority to the remote peers.
Description¶
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.
Properties¶
|
||
|
||
|
||
|
||
|
Methods¶
void |
add_visibility_filter ( Callable filter ) |
get_visibility_for ( int peer ) const |
|
void |
remove_visibility_filter ( Callable filter ) |
void |
set_visibility_for ( int peer, bool visible ) |
void |
update_visibility ( int for_peer=0 ) |
Signals¶
delta_synchronized ( )
Emitted when a new delta synchronization state is received by this synchronizer after the properties have been updated.
synchronized ( )
Emitted when a new synchronization state is received by this synchronizer after the properties have been updated.
visibility_changed ( int for_peer )
Emitted when visibility of for_peer
is updated. See update_visibility.
Enumerations¶
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
Visibility filters are not updated automatically, and must be updated manually by calling update_visibility.
Property Descriptions¶
float delta_interval = 0.0
Time interval between delta synchronizations. When set to 0.0
(the default), delta synchronizations happen every network process frame.
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 ( SceneReplicationConfig value )
SceneReplicationConfig get_replication_config ( )
Resource containing which properties to synchronize.
float replication_interval = 0.0
Time interval between synchronizations. When set to 0.0
(the default), synchroni