PackedScene

An abstraction of a serialized scene.

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 node it owns get saved (see owner property on Node). Note that the node doesn't need to own itself. Example of saving a node with different owners: The following example creates 3 objects: Node2D (node), RigidBody2D (rigid) and CollisionObject2D (collision). collision is a child of rigid which is a child of node. Only rigid is owned by node and pack will therefore only save those two nodes, but not collision.

More...

Members

Aliases

BaseClasses
alias BaseClasses = AliasSeq!(typeof(_GODOT_base), typeof(_GODOT_base).BaseClasses)
Undocumented in source.

Enums

Constants
enum Constants
GenEditState
enum GenEditState

Functions

_getBundledScene
Dictionary _getBundledScene()
_setBundledScene
void _setBundledScene(Dictionary arg0)
canInstance
bool canInstance()

Returns true if the scene file has nodes.

getState
Ref!SceneState getState()

Returns the SceneState representing the scene file contents.

instance
Node instance(long edit_state)

Instantiates the scene's node hierarchy. Triggers child scene instantiation(s). Triggers Node's NOTIFICATION_INSTANCED notification on the root node.

opAssign
PackedScene opAssign(T n)
Undocumented in source. Be warned that the author may not have intended to support it.
opEquals
bool opEquals(PackedScene other)
Undocumented in source. Be warned that the author may not have intended to support it.
opEquals
bool opEquals(typeof(null) n)
Undocumented in source. Be warned that the author may not have intended to support it.
pack
GodotError pack(GodotObject path)

Pack will ignore any sub-nodes not owned by given node. See Node.setOwner.

Mixins

__anonymous
mixin baseCasts
Undocumented in source.

Properties

_bundled
Dictionary _bundled [@property getter]
Dictionary _bundled [@property setter]

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.

Static functions

_new
PackedScene _new()
Undocumented in source. Be warned that the author may not have intended to support it.

Static variables

_classBindingInitialized
bool _classBindingInitialized;
Undocumented in source.

Structs

_classBinding
struct _classBinding
Undocumented in source.

Unions

__anonymous
union __anonymous
Undocumented in source.

Variables

_GODOT_internal_name
enum string _GODOT_internal_name;
Undocumented in source.

Mixed In Members

From mixin baseCasts

as
To as()
Undocumented in source. Be warned that the author may not have intended to support it.
as
To as()
Undocumented in source. Be warned that the author may not have intended to support it.
as
ToRef as()
Undocumented in source. Be warned that the author may not have intended to support it.
opCast
template opCast(To)
Undocumented in source.
opCast
template opCast(To)
Undocumented in source.
opCast
template opCast(ToRef)
Undocumented in source.
opCast
void* opCast()
Undocumented in source. Be warned that the author may not have intended to support it.
opCast
godot_object opCast()
Undocumented in source. Be warned that the author may not have intended to support it.
opCast
bool opCast()
Undocumented in source. Be warned that the author may not have intended to support it.

Detailed Description

# create the objects var node = Node2D.new() var rigid = RigidBody2D.new() var collision = CollisionShape2D.new()

# create the object hierachy rigid.add_child(collision) node.add_child(rigid)

# change owner of rigid, but not of collision rigid.set_owner(node)

var scene = PackedScene.new() # only node and rigid are now packed var result = scene.pack(node) if result == OK: ResourceSaver.save("res://path/name.scn", scene) # or user://...

Meta