Struct specs::world::LazyBuilder [−][src]
#[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> MarkedBuilder for LazyBuilder<'a>
[src]
impl<'a> MarkedBuilder for LazyBuilder<'a>
fn marked<M>(self) -> Self where
M: Marker,
[src]
fn marked<M>(self) -> Self where
M: Marker,
Add a Marker
to the entity by fetching the associated allocator.
This will be applied on the next world.maintain()
.
Examples
use specs::prelude::*; use specs::saveload::{MarkedBuilder, U64Marker, U64MarkerAllocator}; let mut world = World::new(); world.register::<U64Marker>(); world.add_resource(U64MarkerAllocator::new()); let my_entity = lazy .create_entity(&entities) /* .with(Component1) */ .marked::<U64Marker>() .build();
Panics
Panics during world.maintain()
in case there's no allocator
added to the World
.
impl<'a> Builder for LazyBuilder<'a>
[src]
impl<'a> Builder for LazyBuilder<'a>
fn with<C>(self, component: C) -> Self where
C: Component + Send + Sync,
[src]
fn with<C>(self, component: C) -> Self where
C: Component + Send + Sync,
Inserts a component using LazyUpdate
.
fn build(self) -> Entity
[src]
fn build(self) -> Entity
Finishes the building and returns the built entity.
Please note that no component is associated to this
entity until you call World::maintain
.
Auto Trait Implementations
impl<'a> Send for LazyBuilder<'a>
impl<'a> Send for LazyBuilder<'a>
impl<'a> Sync for LazyBuilder<'a>
impl<'a> Sync for LazyBuilder<'a>