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.

SceneState

继承: RefCounted < Object

提供对场景文件信息的访问。

描述

维护一个与场景相关的资源、节点、导出的和重写的属性以及内置脚本的列表。无法从 SceneState 修改,只能读取。可用于在不实例化 PackedScene 的前提下观察其中的内容。

这个类不能直接实例化,它是作为 PackedScene.get_state 的结果为一个给定的场景检索的。

方法

Array

get_connection_binds(idx: int) const

int

get_connection_count() const

int

get_connection_flags(idx: int) const

StringName

get_connection_method(idx: int) const

StringName

get_connection_signal(idx: int) const

NodePath

get_connection_source(idx: int) const

NodePath

get_connection_target(idx: int) const

int

get_connection_unbinds(idx: int) const

int

get_node_count() const

PackedStringArray

get_node_groups(idx: int) const

int

get_node_index(idx: int) const

PackedScene

get_node_instance(idx: int) const

String

get_node_instance_placeholder(idx: int) const

StringName

get_node_name(idx: int) const

NodePath

get_node_owner_path(idx: int) const

NodePath

get_node_path(idx: int, for_parent: bool = false) const

int

get_node_property_count(idx: int) const

StringName

get_node_property_name(idx: int, prop_idx: int) const

Variant

get_node_property_value(idx: int, prop_idx: int) const

StringName

get_node_type(idx: int) const

bool

is_node_instance_placeholder(idx: int) const


枚举

enum GenEditState: 🔗

GenEditState GEN_EDIT_STATE_DISABLED = 0

如果传递给 PackedScene.instantiate,则会阻止对场景状态的编辑。

GenEditState GEN_EDIT_STATE_INSTANCE = 1

如果传递给 PackedScene.instantiate,则会把继承的场景资源提供给本地场景。

注意:仅在编辑器构建中可用。

GenEditState GEN_EDIT_STATE_MAIN = 2

如果传递给 PackedScene.instantiate,则会为本地场景提供本地场景资源。只有主场景应该接收主编辑状态。

注意:仅在编辑器构建中可用。

GenEditState GEN_EDIT_STATE_MAIN_INHERITED = 3

如果传递给 PackedScene.instantiate,则类似于 GEN_EDIT_STATE_MAIN,但适用于该场景被实例化为另一个场景的基类的情况。

注意:仅在编辑器构建中可用。


方法说明

Array get_connection_binds(idx: int) const 🔗

返回 idx 处信号的绑定参数列表。


int get_connection_count() const 🔗

返回场景中的信号连接数。

用于查询其他 get_connection_* 方法中的连接元数据的 idx 参数,范围是 [0, get_connection_count() - 1]


int get_connection_flags(idx: int) const 🔗

返回 idx 处的信号的连接标志。见 ConnectFlags 常量。


StringName get_connection_method(idx: int) const 🔗

返回连接到 idx 处信号的方法。


StringName get_connection_signal(idx: int) const 🔗

返回索引为 idx 的信号的名称。


NodePath get_connection_source(idx: int) const 🔗

返回拥有 idx 处信号的节点路径,相对于根节点。


NodePath get_connection_target(idx: int) const 🔗

返回到拥有连接到 idx 处的信号的方法的节点的路径,相对于根节点。


int get_connection_unbinds(idx: int) const 🔗

返回 idx 处信号的解绑参数数量。


int get_node_count() const 🔗

返回场景中节点的数量。

idx 参数用于在其他 get_node_* 方法中查询节点数据,范围为 [0, get_node_count() - 1]


PackedStringArray get_node_groups(idx: int) const 🔗

返回与 idx 处的节点关联的组名列表。


int get_node_index(idx: int) const 🔗

返回该节点的索引,这是它相对于其兄弟节点的位置。这仅在新节点被添加到一个实例化的或继承的场景,在基础场景的兄弟节点之间的情况下,才相关并被保存在场景中。尽管名称如此,但该索引与此处和其他方法中使用的 idx 参数无关。


PackedScene get_node_instance(idx: int) const 🔗

idx 处的节点返回一个 PackedScene(即从该节点开始的整个分支,包括其子节点和资源),如果该节点不是一个实例,则返回 null


String get_node_instance_placeholder(idx: int) const 🔗

如果 idx 处的节点是一个 InstancePlaceholder,则返回所表示的场景文件的路径。


StringName get_node_name(idx: int) const 🔗

返回索引为 idx 的节点的名称。


NodePath get_node_owner_path(idx: int) const 🔗

返回相对于根节点的位于 idx 处的节点的所有者的路径。


NodePath get_node_path(idx: int, for_parent: bool = false) const 🔗

返回 idx 处的节点的路径。

如果 for_parenttrue,则返回 idx 节点的父节点的路径。


int get_node_property_count(idx: int) const 🔗

返回在 idx 处的节点的导出的或覆盖的属性数量。

prop_idx 参数介于区间 [0, get_node_property_count() - 1],用于在其他 get_node_property_* 方法中查询节点属性数据。


StringName get_node_property_name(idx: int, prop_idx: int) const 🔗

返回索引为 idx 的节点中,索引为 prop_idx 的属性的名称。


Variant get_node_property_value(idx: int, prop_idx: int) const 🔗

返回索引为 idx 的节点中,索引为 prop_idx 的属性的值。


StringName get_node_type(idx: int) const 🔗

返回索引为 idx 的节点的类型。


bool is_node_instance_placeholder(idx: int) const 🔗

如果 idx 处的节点是一个 InstancePlaceholder,则返回 true