Struct bevy::ecs::entity::Entities [−]
pub struct Entities {
pub meta: Vec<EntityMeta, Global>,
// some fields omitted
}
Fields
meta: Vec<EntityMeta, Global>
Implementations
impl Entities
impl Entities
pub fn reserve_entities(&self, count: u32) -> ReserveEntitiesIterator<'_>ⓘNotable traits for ReserveEntitiesIterator<'a>impl<'a> Iterator for ReserveEntitiesIterator<'a> type Item = Entity;
pub fn reserve_entities(&self, count: u32) -> ReserveEntitiesIterator<'_>ⓘNotable traits for ReserveEntitiesIterator<'a>impl<'a> Iterator for ReserveEntitiesIterator<'a> type Item = Entity;
impl<'a> Iterator for ReserveEntitiesIterator<'a> type Item = Entity;
Reserve entity IDs concurrently.
Storage for entity generation and location is lazily allocated by calling flush
.
pub fn reserve_entity(&self) -> Entity
pub fn reserve_entity(&self) -> Entity
Reserve one entity ID concurrently.
Equivalent to self.reserve_entities(1).next().unwrap()
, but more efficient.
pub fn alloc_at(&mut self, entity: Entity) -> Option<EntityLocation>
pub fn alloc_at(&mut self, entity: Entity) -> Option<EntityLocation>
Allocate a specific entity ID, overwriting its generation.
Returns the location of the entity currently using the given ID, if any. Location should be written immediately.
pub fn alloc_at_without_replacement(
&mut self,
entity: Entity
) -> AllocAtWithoutReplacement
pub fn alloc_at_without_replacement(
&mut self,
entity: Entity
) -> AllocAtWithoutReplacement
Allocate a specific entity ID, overwriting its generation.
Returns the location of the entity currently using the given ID, if any.
pub fn free(&mut self, entity: Entity) -> Option<EntityLocation>
pub fn free(&mut self, entity: Entity) -> Option<EntityLocation>
Destroy an entity, allowing it to be reused.
Must not be called while reserved entities are awaiting flush()
.
Ensure at least n
allocations can succeed without reallocating.
pub fn clear(&mut self)
pub fn get(&self, entity: Entity) -> Option<EntityLocation>
pub fn get(&self, entity: Entity) -> Option<EntityLocation>
Returns Ok(Location { archetype: Archetype::invalid(), index: undefined })
for pending entities.
pub fn resolve_from_id(&self, id: u32) -> Option<Entity>
pub fn resolve_from_id(&self, id: u32) -> Option<Entity>
Get the Entity
with a given id, if it exists in this Entities
collection
Returns None
if this Entity
is outside of the range of currently reserved Entities
Note: This method may return Entities
which are currently free
Note that contains
will correctly return false for freed
entities, since it checks the generation
pub unsafe fn flush(&mut self, init: impl FnMut(Entity, &mut EntityLocation))
pub unsafe fn flush(&mut self, init: impl FnMut(Entity, &mut EntityLocation))
Allocates space for entities previously reserved with reserve_entity
or
reserve_entities
, then initializes each one using the supplied function.
Safety
Flush must set the entity location to the correct ArchetypeId
for the given Entity
each time init is called. This can be ArchetypeId::INVALID
, provided the Entity
has not been assigned to an Archetype
.
pub fn flush_as_invalid(&mut self)
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Entities
impl UnwindSafe for Entities
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: 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
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub 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. Read more
pub fn from_world(_world: &mut World) -> T
pub fn from_world(_world: &mut World) -> T
Creates Self
using data from the given World
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
pub fn vzip(self) -> V
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
fn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
fn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more