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
。