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
Успадковує: Node < Object
Синхронізація властивостей від багатокористувацького органу до віддалених однолітків.
Опис
За замовчуванням, MultiplayerSynchronizer синхронізація налаштованих властивостей для всіх однолітків.
Увімкнення може оброблятися безпосередньо з set_visibility_for() або як-от з add_visibility_filter() та update_visibility().
MultiplayerSpawners буде обробляти вершини member до видимості синхронізаторів до тих пір, як вузол в root_path був спалений одним.
Внутрішня, MultiplayerSynchronizer використовує MultiplayerAPI.object_configuration_add(), щоб повідомити синхронізацію початок проходження Node в корінь_path як object і себе як ``конфігурація ``, і використовує MultiplayerAPI.ob_configuration_remove(), щоб повідомити синхронізацію кінець аналогічним чином.
Примітка: Синхронізація не підтримується для типів Object, таких як Resource. Властивості, які є унікальними для кожного однолітника, як ідентифікатор екземплярів Object (див. Об'єкт.get_instance_id()) або RID, також не будуть працювати в синхронізації.
Властивості
|
||
|
||
SceneReplicationConfig |
||
|
||
NodePath |
|
|
|
Методи
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) |
Сигнали
delta_synchronized() 🔗
Увімкнено, коли новий стан синхронізації дельти отримує цей синхронізатор після оновлення властивостей.
synchronized() 🔗
Увімкнено, коли новий стан синхронізації отримується цим синхронізатором після оновлення властивостей.
visibility_changed(for_peer: int) 🔗
Увімкнено при видимості for_peer. Див. update_visibility().
Переліки
enum VisibilityUpdateMode: 🔗
VisibilityUpdateMode VISIBILITY_PROCESS_IDLE = 0
Фільтри життєздатності оновлюються під час обробки кадрів (див. [constant Node. ІНТЕРНАЛ_ПРОЦЕС".
VisibilityUpdateMode VISIBILITY_PROCESS_PHYSICS = 1
Фільтри життєздатності оновлюються під час фізики (див. [constant Node. ІНТЕРНАЛ_ФІЗИКА_ПРОЦЕС".
VisibilityUpdateMode VISIBILITY_PROCESS_NONE = 2
Фільтри, які не оновлюються автоматично, і повинні бути оновлені вручну, за допомогою виклику update_visibility().
Описи властивостей
Інтервал часу між дельта-синхронізаціями. Використовується, коли для реплікації встановлено значення SceneReplicationConfig.REPLICATION_MODE_ON_CHANGE. Якщо встановлено значення 0.0 (за замовчуванням), дельта-синхронізації відбуваються в кожному кадрі мережевого процесу.
bool public_visibility = true 🔗
Якщо синхронізація має бути видимим для всіх однолітків за замовчуванням. Див. set_visibility_for() і add_visibility_filter() для способів налаштування параметрів дрібнозернистої видимості.
SceneReplicationConfig replication_config 🔗
void set_replication_config(value: SceneReplicationConfig)
SceneReplicationConfig get_replication_config()
Ресурс, що містить які властивості синхронізувати.
float replication_interval = 0.0 🔗
Інтервал часу між синхронізаціями. Використовується, коли для реплікації встановлено значення SceneReplicationConfig.REPLICATION_MODE_ALWAYS. Якщо встановлено значення 0.0 (за замовчуванням), синхронізація відбувається кожного кадру мережевого процесу.
NodePath root_path = NodePath("..") 🔗
void set_root_path(value: NodePath)
NodePath get_root_path()
Шлях до вузла, відносно якого залежать репліковані властивості.
Якщо root_path був створений MultiplayerSpawner, Вузол також буде створюватися та зникати на основі параметрів видимості цього синхронізатора.
VisibilityUpdateMode visibility_update_mode = 0 🔗
void set_visibility_update_mode(value: VisibilityUpdateMode)
VisibilityUpdateMode get_visibility_update_mode()
Визначає, коли оновлюються фільтри видимості.
Описи методів
void add_visibility_filter(filter: Callable) 🔗
Додавання фільтра видимості однолітків для цього синхронізатора.
filter повинен прийняти однолітковий ідентифікатор int і повернути bool.
bool get_visibility_for(peer: int) const 🔗
Отримує поточну видимість для вузла peer.
void remove_visibility_filter(filter: Callable) 🔗
Видаліть фільтр видимості однолітків з цього синхронізатора.
void set_visibility_for(peer: int, visible: bool) 🔗
Налаштовує видимість param-дір на visible. 0, значення public_visibility буде оновлено.
void update_visibility(for_peer: int = 0) 🔗
Оновлення видимості for_peer відповідно до видимих фільтрів. Якщо for_peer є 0 (за замовчуванням), всі можливості однолітків оновлюються.