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...
SceneState¶
继承: RefCounted < Object
提供对场景文件信息的访问。
描述¶
维护一个与场景相关的资源、节点、导出的和重写的属性以及内置脚本的列表。无法从 SceneState 修改,只能读取。可用于在不实例化 PackedScene 的前提下观察其中的内容。
这个类不能直接实例化,它是作为 PackedScene.get_state 的结果为一个给定的场景检索的。
方法¶
get_connection_binds(idx: int) const |
|
get_connection_count() const |
|
get_connection_flags(idx: int) const |
|
get_connection_method(idx: int) const |
|
get_connection_signal(idx: int) const |
|
get_connection_source(idx: int) const |
|
get_connection_target(idx: int) const |
|
get_connection_unbinds(idx: int) const |
|
get_node_count() const |
|
get_node_groups(idx: int) const |
|
get_node_index(idx: int) const |
|
get_node_instance(idx: int) const |
|
get_node_instance_placeholder(idx: int) const |
|
get_node_name(idx: int) const |
|
get_node_owner_path(idx: int) const |
|
get_node_path(idx: int, for_parent: bool = false) const |
|
get_node_property_count(idx: int) const |
|
get_node_property_name(idx: int, prop_idx: int) const |
|
get_node_property_value(idx: int, prop_idx: int) const |
|
get_node_type(idx: int) const |
|
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
处信号的解绑参数数量。
返回场景中节点的数量。
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_parent
为 true
,则返回 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
。