Struct bevy_internal::scene::SceneSpawner
source · 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§
source§impl SceneSpawner
impl SceneSpawner
sourcepub 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.
sourcepub 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
.
sourcepub 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.
sourcepub 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
.
sourcepub 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.
sourcepub 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.
sourcepub 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.
sourcepub 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.
sourcepub fn spawn_dynamic_sync(
&mut self,
world: &mut World,
id: impl Into<AssetId<DynamicScene>>
) -> Result<InstanceId, SceneSpawnError>
pub fn spawn_dynamic_sync( &mut self, world: &mut World, id: impl Into<AssetId<DynamicScene>> ) -> Result<InstanceId, SceneSpawnError>
Immediately spawns a new instance of the provided dynamic scene.
sourcepub 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.
sourcepub 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.
sourcepub 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.
sourcepub 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.
sourcepub 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.
sourcepub 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
sourcepub 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§
source§impl Default for SceneSpawner
impl Default for SceneSpawner
source§fn default() -> SceneSpawner
fn default() -> SceneSpawner
impl Resource for SceneSpawner
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§
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<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
.