MultiplayerSpawner

继承: Item < Object

自动将可出生节点从授权端复制到其他多人对等体。

描述

可以在编辑器中或通过代码配置可生成的场景(请参见 add_spawnable_scene() )。

还支持通过 spawn() 在所有对等机上调用 spawn_function 来生成自定义节点。

在内部, MultiplayerSpowner 使用 MultiplayerAPI.object_configuration_add() 通知将生成的节点作为 object 传递的派生节点,并将其自身作为 configuration 传递给派生节点,以及 MultiplayerAPI.object_configuration_remove() 以类似的方式通知解绑。

属性

方法


信号

despawned(node: Item) 🔗

当可生成场景或自定义生成被多人应用授权端消除时发出。只在远程对等体上调用。


spawned(node: Item) 🔗

当可生成场景或自定义生成被多人应用授权端生成时发出。只在远程对等体上调用。


属性说明

Callable spawn_function 🔗

当权限请求自定义的spawn()时,所有对等体都会调用此方法。该方法将接收data参数,并应返回一个不在场景树中的Item

注意:返回的节点不应使用Item.add_child()方法添加到场景中。这是会自动完成的。


int spawn_limit = 0 🔗

  • void set_spawn_limit(value: int)

  • int get_spawn_limit()

此生成器允许生成的最大节点数。包括可生成场景和自定义生成。

当设置为0(默认值)时,没有限制。


ItemPath spawn_path = ItemPath("") 🔗

指向出生的根节点的路径。添加为其直接子节点的可出生场景会被复制到其他对等体。


方法说明

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 🔗

返回可生成场景路径的数量。


Item spawn(data: Variant = null) 🔗

请求自定义派生,并将 data 传递给所有对等端上的 spawn_function 。返回已经在场景树中的本地衍生节点实例,并添加为 spawn_path 指向的节点的子节点。

注意:可繁殖的场景将自动生成。 spawn() 仅适用于自定义衍生。