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
DynamicSceneBundleto an entity - adding the
Handle<DynamicScene>to an entity (the scene will only be visible if the entity already hasTransformandGlobalTransformcomponents)
Fields§
§resources: Vec<Box<dyn Reflect>>§entities: Vec<DynamicEntity>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 EntityMap,
type_registry: &AppTypeRegistry,
) -> Result<(), SceneSpawnError>
pub fn write_to_world_with( &self, world: &mut World, entity_map: &mut EntityMap, 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 EntityMap,
) -> Result<(), SceneSpawnError>
pub fn write_to_world( &self, world: &mut World, entity_map: &mut EntityMap, ) -> 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>
Auto Trait Implementations§
impl Freeze for DynamicScene
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<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 WorldSource§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more