Struct bevy::scene::SceneSpawner
pub struct SceneSpawner { /* private fields */ }
Expand description
Handles spawning and despawning scenes in the world, either synchronously or batched through the scene_spawner_system
.
Synchronous methods: (Scene operations will take effect immediately)
spawn_dynamic_sync
spawn_sync
despawn_sync
despawn_instance_sync
update_spawned_scenes
spawn_queued_scenes
despawn_queued_scenes
despawn_queued_instances
Deferred methods: (Scene operations will be processed when the scene_spawner_system
is run)
Implementations§
§impl SceneSpawner
impl SceneSpawner
pub fn spawn_dynamic(
&mut self,
id: impl Into<Handle<DynamicScene>>
) -> InstanceId
pub fn spawn_dynamic( &mut self, id: impl Into<Handle<DynamicScene>> ) -> InstanceId
Schedule the spawn of a new instance of the provided dynamic scene.
pub fn spawn_dynamic_as_child(
&mut self,
id: impl Into<Handle<DynamicScene>>,
parent: Entity
) -> InstanceId
pub fn spawn_dynamic_as_child( &mut self, id: impl Into<Handle<DynamicScene>>, parent: Entity ) -> InstanceId
Schedule the spawn of a new instance of the provided dynamic scene as a child of parent
.
pub fn spawn(&mut self, id: impl Into<Handle<Scene>>) -> InstanceId
pub fn spawn(&mut self, id: impl Into<Handle<Scene>>) -> InstanceId
Schedule the spawn of a new instance of the provided scene.
pub fn spawn_as_child(
&mut self,
id: impl Into<Handle<Scene>>,
parent: Entity
) -> InstanceId
pub fn spawn_as_child( &mut self, id: impl Into<Handle<Scene>>, parent: Entity ) -> InstanceId
Schedule the spawn of a new instance of the provided scene as a child of parent
.
pub fn despawn(&mut self, id: impl Into<AssetId<DynamicScene>>)
pub fn despawn(&mut self, id: impl Into<AssetId<DynamicScene>>)
Schedule the despawn of all instances of the provided dynamic scene.
pub fn despawn_instance(&mut self, instance_id: InstanceId)
pub fn despawn_instance(&mut self, instance_id: InstanceId)
Schedule the despawn of a scene instance, removing all its entities from the world.
pub fn despawn_sync(
&mut self,
world: &mut World,
id: impl Into<AssetId<DynamicScene>>
) -> Result<(), SceneSpawnError>
pub fn despawn_sync( &mut self, world: &mut World, id: impl Into<AssetId<DynamicScene>> ) -> Result<(), SceneSpawnError>
Immediately despawns all instances of a dynamic scene.
pub fn despawn_instance_sync(
&mut self,
world: &mut World,
instance_id: &InstanceId
)
pub fn despawn_instance_sync( &mut self, world: &mut World, instance_id: &InstanceId )
Immediately despawns a scene instance, removing all its entities from the world.
pub fn spawn_dynamic_sync(
&mut self,
world: &mut World,
id: impl Into<AssetId<DynamicScene>>
) -> Result<(), SceneSpawnError>
pub fn spawn_dynamic_sync( &mut self, world: &mut World, id: impl Into<AssetId<DynamicScene>> ) -> Result<(), SceneSpawnError>
Immediately spawns a new instance of the provided dynamic scene.
pub fn spawn_sync(
&mut self,
world: &mut World,
id: AssetId<Scene>
) -> Result<InstanceId, SceneSpawnError>
pub fn spawn_sync( &mut self, world: &mut World, id: AssetId<Scene> ) -> Result<InstanceId, SceneSpawnError>
Immediately spawns a new instance of the provided scene.
pub fn update_spawned_scenes(
&mut self,
world: &mut World,
scene_ids: &[AssetId<DynamicScene>]
) -> Result<(), SceneSpawnError>
pub fn update_spawned_scenes( &mut self, world: &mut World, scene_ids: &[AssetId<DynamicScene>] ) -> Result<(), SceneSpawnError>
Iterate through all instances of the provided scenes and update those immediately.
Useful for updating already spawned scene instances after their corresponding scene has been modified.
pub fn despawn_queued_scenes(
&mut self,
world: &mut World
) -> Result<(), SceneSpawnError>
pub fn despawn_queued_scenes( &mut self, world: &mut World ) -> Result<(), SceneSpawnError>
Immediately despawns all scenes scheduled for despawn by despawning their instances.
pub fn despawn_queued_instances(&mut self, world: &mut World)
pub fn despawn_queued_instances(&mut self, world: &mut World)
Immediately despawns all scene instances scheduled for despawn.
pub fn spawn_queued_scenes(
&mut self,
world: &mut World
) -> Result<(), SceneSpawnError>
pub fn spawn_queued_scenes( &mut self, world: &mut World ) -> Result<(), SceneSpawnError>
Immediately spawns all scenes scheduled for spawn.
pub fn instance_is_ready(&self, instance_id: InstanceId) -> bool
pub fn instance_is_ready(&self, instance_id: InstanceId) -> bool
Check that an scene instance spawned previously is ready to use
pub fn iter_instance_entities(
&self,
instance_id: InstanceId
) -> impl Iterator<Item = Entity>
pub fn iter_instance_entities( &self, instance_id: InstanceId ) -> impl Iterator<Item = Entity>
Get an iterator over the entities in an instance, once it’s spawned.
Before the scene is spawned, the iterator will be empty. Use Self::instance_is_ready
to check if the instance is ready.
Trait Implementations§
§impl Default for SceneSpawner
impl Default for SceneSpawner
§fn default() -> SceneSpawner
fn default() -> SceneSpawner
impl Resource for SceneSpawnerwhere SceneSpawner: Send + Sync + 'static,
Auto Trait Implementations§
impl !RefUnwindSafe for SceneSpawner
impl Send for SceneSpawner
impl Sync for SceneSpawner
impl Unpin for SceneSpawner
impl !UnwindSafe for SceneSpawner
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.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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any, 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
.§fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>
fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§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.§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.§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere T: Default,
§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Self
using data from the given World
.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere T: FromSample<F>,
fn into_sample(self) -> T
§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<R, P> ReadPrimitive<R> for Pwhere
R: Read + ReadEndian<P>,
P: Default,
impl<R, P> ReadPrimitive<R> for Pwhere R: Read + ReadEndian<P>, P: Default,
source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian()
.