[][src]Struct specs::world::LazyBuilder

#[must_use = "Please call .build() on this to finish building it."]
pub struct LazyBuilder<'a> {
    pub entity: Entity,
    pub lazy: &'a LazyUpdate,
}

Like EntityBuilder, but inserts the component lazily, meaning on maintain. If you need those components to exist immediately, you have to insert them into the storages yourself.

Fields

entity: Entity

The entity that we're inserting components for.

lazy: &'a LazyUpdate

The lazy update reference.

Trait Implementations

impl<'a> Builder for LazyBuilder<'a>[src]

fn with<C>(self, component: C) -> Self where
    C: Send + Sync + Component
[src]

Inserts a component using LazyUpdate.

If a component was already associated with the entity, it will overwrite the previous component.

fn build(self) -> Entity[src]

Finishes the building and returns the built entity. Please note that no component is associated to this entity until you call [World::maintain].

impl<'a> MarkedBuilder for LazyBuilder<'a>[src]

fn marked<M>(self) -> Self where
    M: Marker
[src]

Add a Marker to the entity by fetching the associated allocator.

This will be applied on the next world.maintain().

Examples

use specs::{
    prelude::*,
    saveload::{MarkedBuilder, SimpleMarker, SimpleMarkerAllocator},
};

struct NetworkSync;

let mut world = World::new();
world.register::<SimpleMarker<NetworkSync>>();
world.insert(SimpleMarkerAllocator::<NetworkSync>::new());

let my_entity = lazy
    .create_entity(&entities)
    /* .with(Component1) */
    .marked::<SimpleMarker<NetworkSync>>()
    .build();

Panics

Panics during world.maintain() in case there's no allocator added to the World.

Auto Trait Implementations

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

impl<'a> Send for LazyBuilder<'a>

impl<'a> Sync for LazyBuilder<'a>

impl<'a> Unpin for LazyBuilder<'a>

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

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Any for T where
    T: Any

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Event for T where
    T: Send + Sync + 'static, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Resource for T where
    T: Any + Send + Sync
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,