[][src]Struct specs::world::EntityResBuilder

#[must_use = "Please call .build() on this to finish building it."]
pub struct EntityResBuilder<'a> {
    pub entity: Entity,
    pub entities: &'a EntitiesRes,
    // some fields omitted
}

An entity builder from EntitiesRes. Allows building an entity with its components if you have mutable access to the component storages.

Fields

entity: Entity

The entity being built

entities: &'a EntitiesRes

The active borrow to EntitiesRes, used to delete the entity if the builder is dropped without called build().

Methods

impl<'a> EntityResBuilder<'a>[src]

pub fn marked<M>(
    self,
    storage: &mut WriteStorage<M>,
    alloc: &mut M::Allocator
) -> Self where
    M: Marker
[src]

Add a Marker to the entity with the associated allocator, and component storage.

Examples

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

struct NetworkSync;

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

let mut storage = world.write_storage::<SimpleMarker<NetworkSync>>();
let mut alloc = world.write_resource::<SimpleMarkerAllocator<NetworkSync>>();

let entities = world.entities();
entities
    .build_entity()
    /* .with(Component1) */
    .marked(&mut storage, &mut alloc)
    .build();

impl<'a> EntityResBuilder<'a>[src]

pub fn with<T: Component>(self, c: T, storage: &mut WriteStorage<T>) -> Self[src]

Appends a component and associates it with the entity.

pub fn build(self) -> Entity[src]

Finishes the building and returns the entity.

Trait Implementations

impl<'a> Drop for EntityResBuilder<'a>[src]

Auto Trait Implementations

impl<'a> RefUnwindSafe for EntityResBuilder<'a>

impl<'a> Send for EntityResBuilder<'a>

impl<'a> Sync for EntityResBuilder<'a>

impl<'a> Unpin for EntityResBuilder<'a>

impl<'a> UnwindSafe for EntityResBuilder<'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>,