Struct bevy::prelude::DynamicScene
source · pub struct DynamicScene {
pub resources: Vec<Box<dyn Reflect>>,
pub entities: Vec<DynamicEntity>,
}
Expand description
A collection of serializable resources and dynamic entities.
Each dynamic entity in the collection contains its own run-time defined set of components. To spawn a dynamic scene, you can use either:
SceneSpawner::spawn_dynamic
- adding the
DynamicSceneBundle
to an entity - adding the
Handle<DynamicScene>
to an entity (the scene will only be visible if the entity already hasTransform
andGlobalTransform
components) - using the
DynamicSceneBuilder
to construct aDynamicScene
fromWorld
.
Fields§
§resources: Vec<Box<dyn Reflect>>
Resources stored in the dynamic scene.
entities: Vec<DynamicEntity>
Entities contained in the dynamic scene.
Implementations§
source§impl DynamicScene
impl DynamicScene
sourcepub fn from_scene(scene: &Scene) -> DynamicScene
pub fn from_scene(scene: &Scene) -> DynamicScene
Create a new dynamic scene from a given scene.
sourcepub fn from_world(world: &World) -> DynamicScene
pub fn from_world(world: &World) -> DynamicScene
Create a new dynamic scene from a given world.
sourcepub fn write_to_world_with(
&self,
world: &mut World,
entity_map: &mut HashMap<Entity, Entity, EntityHash>,
type_registry: &AppTypeRegistry
) -> Result<(), SceneSpawnError>
pub fn write_to_world_with( &self, world: &mut World, entity_map: &mut HashMap<Entity, Entity, EntityHash>, type_registry: &AppTypeRegistry ) -> Result<(), SceneSpawnError>
Write the resources, the dynamic entities, and their corresponding components to the given world.
This method will return a SceneSpawnError
if a type either is not registered
in the provided AppTypeRegistry
resource, or doesn’t reflect the
Component
or Resource
trait.
sourcepub fn write_to_world(
&self,
world: &mut World,
entity_map: &mut HashMap<Entity, Entity, EntityHash>
) -> Result<(), SceneSpawnError>
pub fn write_to_world( &self, world: &mut World, entity_map: &mut HashMap<Entity, Entity, EntityHash> ) -> Result<(), SceneSpawnError>
Write the resources, the dynamic entities, and their corresponding components to the given world.
This method will return a SceneSpawnError
if a type either is not registered
in the world’s AppTypeRegistry
resource, or doesn’t reflect the
Component
trait.
sourcepub fn serialize_ron(&self, registry: &TypeRegistryArc) -> Result<String, Error>
pub fn serialize_ron(&self, registry: &TypeRegistryArc) -> Result<String, Error>
Serialize this dynamic scene into rust object notation (ron).
Trait Implementations§
source§impl Default for DynamicScene
impl Default for DynamicScene
source§fn default() -> DynamicScene
fn default() -> DynamicScene
source§impl TypePath for DynamicScene
impl TypePath for DynamicScene
source§fn type_path() -> &'static str
fn type_path() -> &'static str
source§fn short_type_path() -> &'static str
fn short_type_path() -> &'static str
source§fn type_ident() -> Option<&'static str>
fn type_ident() -> Option<&'static str>
source§fn crate_name() -> Option<&'static str>
fn crate_name() -> Option<&'static str>
source§impl VisitAssetDependencies for DynamicScene
impl VisitAssetDependencies for DynamicScene
fn visit_dependencies(&self, visit: &mut impl FnMut(UntypedAssetId))
impl Asset for DynamicScene
Auto Trait Implementations§
impl !RefUnwindSafe for DynamicScene
impl Send for DynamicScene
impl Sync for DynamicScene
impl Unpin for DynamicScene
impl !UnwindSafe for DynamicScene
Blanket Implementations§
source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
T
ShaderType
for self
. When used in AsBindGroup
derives, it is safe to assume that all images in self
exist.source§impl<A> AssetContainer for Awhere
A: Asset,
impl<A> AssetContainer for Awhere
A: Asset,
fn insert(self: Box<A>, id: UntypedAssetId, world: &mut World)
fn asset_type_name(&self) -> &'static str
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
source§impl<T> DynamicTypePath for Twhere
T: TypePath,
impl<T> DynamicTypePath for Twhere
T: TypePath,
source§fn reflect_type_path(&self) -> &str
fn reflect_type_path(&self) -> &str
TypePath::type_path
.source§fn reflect_short_type_path(&self) -> &str
fn reflect_short_type_path(&self) -> &str
source§fn reflect_type_ident(&self) -> Option<&str>
fn reflect_type_ident(&self) -> Option<&str>
TypePath::type_ident
.source§fn reflect_crate_name(&self) -> Option<&str>
fn reflect_crate_name(&self) -> Option<&str>
TypePath::crate_name
.source§fn reflect_module_path(&self) -> Option<&str>
fn reflect_module_path(&self) -> Option<&str>
source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Self
using data from the given World
.