MultiplayerSpawner

Наследует: Node < Object

Автоматически копирует создаваемые узлы из центра в другие многопользовательские игры.

Описание

Сцены, которые можно создавать, можно настроить в редакторе или через код (см. add_spawnable_scene()).

Также поддерживает создание пользовательских узлов через spawn(), вызывая spawn_function на всех одноранговых узлах.

Внутри себя MultiplayerSpawner использует MultiplayerAPI.object_configuration_add() для уведомления о создании, передавая созданный узел как object и себя как configuration, и MultiplayerAPI.object_configuration_remove() для уведомления об удалении аналогичным образом.

Свойства

Callable

spawn_function

int

spawn_limit

0

NodePath

spawn_path

NodePath("")

Методы

void

add_spawnable_scene(path: String)

void

clear_spawnable_scenes()

String

get_spawnable_scene(index: int) const

int

get_spawnable_scene_count() const

Node

spawn(data: Variant = null)


Сигналы

despawned(node: Node) 🔗

Вызывается, когда спавнящаяся сцена или пользовательский спавн были удалены многопользовательским управлением. Вызывается только на удаленных пирах.


spawned(node: Node) 🔗

Вызывается, когда спавнящаяся сцена или пользовательский спавн были созданы многопользовательским органом. Вызывается только на удаленных пирах.


Описания свойств

Callable spawn_function 🔗

Метод вызывается для всех пиров, когда уполномоченный запросил пользовательский spawn(). Получит параметр data и должен вернуть Node, которого нет в дереве сцены.

Примечание: Возвращаемый узел недолжен быть добавлен в сцену с помощью Node.add_child(). Это делается автоматически.


int spawn_limit = 0 🔗

  • void set_spawn_limit(value: int)

  • int get_spawn_limit()

Максимальное количество узлов, которые может создать этот спавнер. Включает как сцены, которые можно создать, так и пользовательские спавны.

Если установлено значение 0 (по умолчанию), ограничений нет.


NodePath spawn_path = NodePath("") 🔗

Путь к корневому элементу spawn. Сцены spawnable, которые добавляются как прямые потомки, реплицируются на другие одноранговые элементы.


Описания метода

void add_spawnable_scene(path: String) 🔗

Добавляет путь к сцене к сценам, которые можно создавать, автоматически реплицируя его из многопользовательского режима на другие узлы при добавлении в качестве дочерних элементов узла, на который указывает spawn_path.


void clear_spawnable_scenes() 🔗

Очищает все создаваемые сцены. Не удаляет существующие экземпляры на удаленных пирах.


String get_spawnable_scene(index: int) const 🔗

Возвращает путь к создаваемой сцене по индексу.


int get_spawnable_scene_count() const 🔗

Возвращает количество путей создания сцен.


Node spawn(data: Variant = null) 🔗

Запрашивает пользовательский спавн, с data, переданным в spawn_function на всех пирах. Возвращает локально созданный экземпляр узла, уже находящийся внутри дерева сцены и добавленный как дочерний узел узла, на который указывает spawn_path.

Примечание: Создаваемые сцены создаются автоматически. spawn() необходим только для пользовательских спавнов.