Struct bevy::scene::DynamicSceneBuilder
pub struct DynamicSceneBuilder<'w> { /* private fields */ }
Expand description
A DynamicScene
builder, used to build a scene from a World
by extracting some entities.
Entity Order
Extracted entities will always be stored in ascending order based on their id.
This means that inserting Entity(1v0)
then Entity(0v0)
will always result in the entities
being ordered as [Entity(0v0), Entity(1v0)]
.
Example
let mut builder = DynamicSceneBuilder::from_world(&world);
builder.extract_entity(entity);
let dynamic_scene = builder.build();
Implementations§
§impl<'w> DynamicSceneBuilder<'w>
impl<'w> DynamicSceneBuilder<'w>
pub fn from_world(world: &'w World) -> DynamicSceneBuilder<'w>
pub fn from_world(world: &'w World) -> DynamicSceneBuilder<'w>
Prepare a builder that will extract entities and their component from the given World
.
All components registered in that world’s AppTypeRegistry
resource will be extracted.
pub fn from_world_with_type_registry(
world: &'w World,
type_registry: AppTypeRegistry
) -> DynamicSceneBuilder<'w>
pub fn from_world_with_type_registry(
world: &'w World,
type_registry: AppTypeRegistry
) -> DynamicSceneBuilder<'w>
Prepare a builder that will extract entities and their component from the given World
.
Only components registered in the given AppTypeRegistry
will be extracted.
pub fn build(self) -> DynamicScene
pub fn build(self) -> DynamicScene
Consume the builder, producing a DynamicScene
.
pub fn extract_entity(&mut self, entity: Entity) -> &mut DynamicSceneBuilder<'w>
pub fn extract_entity(&mut self, entity: Entity) -> &mut DynamicSceneBuilder<'w>
Extract one entity from the builder’s World
.
Re-extracting an entity that was already extracted will have no effect.
pub fn extract_entities(
&mut self,
entities: impl Iterator<Item = Entity>
) -> &mut DynamicSceneBuilder<'w>
pub fn extract_entities(
&mut self,
entities: impl Iterator<Item = Entity>
) -> &mut DynamicSceneBuilder<'w>
Extract entities from the builder’s World
.
Re-extracting an entity that was already extracted will have no effect.
Extracting entities can be used to extract entities from a query:
#[derive(Component, Default, Reflect)]
#[reflect(Component)]
struct MyComponent;
let mut query = world.query_filtered::<Entity, With<MyComponent>>();
let mut builder = DynamicSceneBuilder::from_world(&world);
builder.extract_entities(query.iter(&world));
let scene = builder.build();
Auto Trait Implementations§
impl<'w> !RefUnwindSafe for DynamicSceneBuilder<'w>
impl<'w> Send for DynamicSceneBuilder<'w>
impl<'w> Sync for DynamicSceneBuilder<'w>
impl<'w> Unpin for DynamicSceneBuilder<'w>
impl<'w> !UnwindSafe for DynamicSceneBuilder<'w>
Blanket Implementations§
§impl<T, U> AsBindGroupShaderType<U> for Twhere
U: ShaderType,
&'a T: for<'a> Into<U>,
impl<T, U> AsBindGroupShaderType<U> for Twhere
U: ShaderType,
&'a T: for<'a> Into<U>,
§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. Read more§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
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
. Read more§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more§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. Read more§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. Read more