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_base_scene_state() const |
|
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 |
|
get_path() 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,但適用於該場景被產生實體為另一個場景的基底類別的情況。
注意:僅在編輯器建構中可用。
方法說明
SceneState get_base_scene_state() const 🔗
Returns the SceneState of the scene that this scene inherits from, or null if it doesn't inherit from any scene.
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 的節點的型別。
Returns the resource path to the represented PackedScene.
bool is_node_instance_placeholder(idx: int) const 🔗
如果 idx 處的節點是一個 InstancePlaceholder,則返回 true。