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, }
Expand description
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
Inserts a component using LazyUpdate.
If a component was already associated with the entity, it will overwrite the previous component.
Finishes the building and returns the built entity.
Please note that no component is associated to this
entity until you call World::maintain
.
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>