A simplified interface to a scene file. Provides access to operations and checks that can be performed on the scene resource itself.
Can be used to save a node to a file. When saving, the node as well as all the nodes it owns get saved (see Node.owner property).
Example of loading a saved scene:
Example of saving a node with different owners: The following example creates 3 objects: Node2D (node
), RigidBody2D (body
) and CollisionObject2D (collision
). collision
is a child of body
which is a child of node
. Only body
is owned by node
and pack will therefore only save those two nodes, but not collision
.
GEN_EDIT_STATE_DISABLED = 0
If passed to instantiate, blocks edits to the scene state.
GEN_EDIT_STATE_INSTANCE = 1
If passed to instantiate, provides local scene resources to the local scene.
GEN_EDIT_STATE_MAIN = 2
If passed to instantiate, provides local scene resources to the local scene. Only the main scene should receive the main edit state.
GEN_EDIT_STATE_MAIN_INHERITED = 3
It's similar to GEN_EDIT_STATE_MAIN, but for the case where the scene is being instantiated to be the base of another one.
A dictionary representation of the scene contents.
Available keys include "rnames" and "variants" for resources, "node_count", "nodes", "node_paths" for nodes, "editable_instances" for base scene children overrides, "conn_count" and "conns" for signal connections, and "version" for the format style of the PackedScene.
Returns true
if the scene file has nodes.
Returns the SceneState representing the scene file contents.
Instantiates the scene's node hierarchy. Triggers child scene instantiation(s). Triggers a Node.NOTIFICATION_SCENE_INSTANTIATED notification on the root node.
Pack will ignore any sub-nodes not owned by given node. See Node.owner.