Struct hecs::Archetype [−][src]
A collection of entities having the same component types
Accessing Archetype
s is only required for complex dynamic scheduling. To manipulate entities,
go through the World
.
Implementations
impl Archetype
[src]
pub fn has<T: Component>(&self) -> bool
[src]
Whether this archetype contains T
components
pub fn has_dynamic(&self, id: TypeId) -> bool
[src]
Whether this archetype contains components with the type identified by id
pub fn get<T: Component>(&self) -> Option<ColumnRef<'_, T>>
[src]
Get the T
components of these entities, if present
Useful for efficient serialization.
pub fn len(&self) -> u32
[src]
Number of entities in this archetype
pub fn is_empty(&self) -> bool
[src]
Whether this archetype contains no entities
pub fn component_types(&self) -> impl ExactSizeIterator<Item = TypeId> + '_
[src]
Enumerate the types of the components of entities stored in this archetype.
Convenient for dispatching logic which needs to be performed on sets of type ids. For
example, suppose you're building a scripting system, and you want to integrate the scripting
language with your ECS. This functionality allows you to iterate through all of the
archetypes of the world with World::archetypes()
and extract
all possible combinations of component types which are currently stored in the World
.
From there, you can then create a mapping of archetypes to wrapper objects for your
scripting language that provide functionality based off of the components of any given
Entity
, and bind them onto an Entity
when passed into your scripting language by looking
up the Entity
's archetype using EntityRef::component_types
.
pub fn access<Q: Query>(&self) -> Option<Access>
[src]
How, if at all, Q
will access entities in this archetype
pub fn ids(&self) -> &[u32]ⓘ
[src]
Raw IDs of the entities in this archetype
Convertible into Entity
s with
World::find_entity_from_id()
. Useful for efficient
serialization.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Archetype
[src]
impl !Send for Archetype
[src]
impl !Sync for Archetype
[src]
impl Unpin for Archetype
[src]
impl UnwindSafe for Archetype
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,