Struct SnapshotBuilder

Source
pub struct SnapshotBuilder<'a> { /* private fields */ }
Expand description

A snapshot builder that can extract entities, resources, and Rollbacks from a World.

Implementations§

Source§

impl<'a> SnapshotBuilder<'a>

Source

pub fn snapshot(world: &'a World) -> Self

Create a new SnapshotBuilder from the World.

You must call at least one of the extract methods or the built snapshot will be empty.

§Example
SnapshotBuilder::snapshot(world)
    // Extract all matching entities and resources
    .extract_all()
     
    // Clear all extracted entities without any components
    .clear_empty()
     
    // Build the `Snapshot`
    .build();
Source

pub fn rollback(world: &'a World) -> Self

Create a new SnapshotBuilder from the World.

Types extracted by this builder will respect the RollbackRegistry.

You must call at least one of the extract methods or the built snapshot will be empty.

§Example
SnapshotBuilder::rollback(world)
    // Extract all matching entities and resources
    .extract_all()
     
    // Clear all extracted entities without any components
    .clear_empty()
     
    // Build the `Snapshot`
    .build();
Source§

impl<'a> SnapshotBuilder<'a>

Source

pub fn world<'w>(&self) -> &'w World
where 'a: 'w,

Retrieve the builder’s reference to the World.

Source§

impl<'a> SnapshotBuilder<'a>

Source

pub fn filter(self, filter: SceneFilter) -> Self

Specify a custom SceneFilter to be used with this builder.

This filter is applied to both components and resources.

Source

pub fn allow<T: Any>(self) -> Self

Allows the given type, T, to be included in the generated snapshot.

This method may be called multiple times for any number of types.

This is the inverse of deny. If T has already been denied, then it will be removed from the blacklist.

Source

pub fn deny<T: Any>(self) -> Self

Denies the given type, T, from being included in the generated snapshot.

This method may be called multiple times for any number of types.

This is the inverse of allow. If T has already been allowed, then it will be removed from the whitelist.

Source

pub fn allow_all(self) -> Self

Updates the filter to allow all types.

This is useful for resetting the filter so that types may be selectively denied.

Source

pub fn deny_all(self) -> Self

Updates the filter to deny all types.

This is useful for resetting the filter so that types may be selectively allowed.

Source§

impl<'a> SnapshotBuilder<'a>

Source

pub fn extract_entity(self, entity: Entity) -> Self

Extract a single entity from the builder’s World.

Source

pub fn extract_entities(self, entities: impl Iterator<Item = Entity>) -> Self

Extract the given entities from the builder’s World.

Source

pub fn extract_entities_matching<F: Fn(&EntityRef<'_>) -> bool>( self, filter: F, ) -> Self

Extract the entities matching the given filter from the builder’s World.

Source

pub fn extract_all_entities(self) -> Self

Extract all entities from the builder’s World.

Source

pub fn extract_resource<T: Resource>(self) -> Self

Extract a single resource from the builder’s World.

Source

pub fn extract_resource_by_path<T: AsRef<str>>(self, type_path: T) -> Self

Extract a single resource with the given type path from the builder’s World.

Source

pub fn extract_resources_by_path<T: AsRef<str>>( self, type_paths: impl Iterator<Item = T>, ) -> Self

Extract resources with the given type paths from the builder’s World.

Source

pub fn extract_all_resources(self) -> Self

Extract all resources from the builder’s World.

Source

pub fn extract_rollbacks(self) -> Self

Extract Rollbacks from the builder’s World.

Source

pub fn extract_all(self) -> Self

Extract all entities, and resources from the builder’s World.

Source

pub fn extract_all_with_rollbacks(self) -> Self

Extract all entities, resources, and Rollbacks from the builder’s World.

Source§

impl<'a> SnapshotBuilder<'a>

Source

pub fn clear_entities(self) -> Self

Clear all extracted entities.

Source

pub fn clear_resources(self) -> Self

Clear all extracted resources.

Source

pub fn clear_empty(self) -> Self

Clear all extracted entities without any components.

Source

pub fn clear_rollbacks(self) -> Self

Clear Rollbacks from the snapshot.

Source

pub fn clear(self) -> Self

Clear all extracted entities and resources.

Source§

impl<'a> SnapshotBuilder<'a>

Source

pub fn build(self) -> Snapshot

Build the extracted entities and resources into a Snapshot.

Auto Trait Implementations§

§

impl<'a> Freeze for SnapshotBuilder<'a>

§

impl<'a> !RefUnwindSafe for SnapshotBuilder<'a>

§

impl<'a> Send for SnapshotBuilder<'a>

§

impl<'a> Sync for SnapshotBuilder<'a>

§

impl<'a> Unpin for SnapshotBuilder<'a>

§

impl<'a> !UnwindSafe for SnapshotBuilder<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T, U> AsBindGroupShaderType<U> for T
where U: ShaderType, &'a T: for<'a> Into<U>,

Source§

fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U

Return the T ShaderType for self. When used in AsBindGroup derives, it is safe to assume that all images in self exist.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> Downcast<T> for T

Source§

fn downcast(&self) -> &T

Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert 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>

Convert 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)

Convert &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)

Convert &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
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> Upcast<T> for T

Source§

fn upcast(&self) -> Option<&T>

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> Settings for T
where T: 'static + Send + Sync,

Source§

impl<T> WasmNotSend for T
where T: Send,

Source§

impl<T> WasmNotSendSync for T

Source§

impl<T> WasmNotSync for T
where T: Sync,