[−][src]Struct bevy_ecs::Archetype
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 new(types: Vec<TypeInfo>) -> Archetype
[src]
pub fn with_grow(types: Vec<TypeInfo>, grow_size: u32) -> Archetype
[src]
pub fn has<T>(&self) -> bool where
T: Component,
[src]
T: Component,
pub fn get<T>(&self) -> Option<NonNull<T>> where
T: Component,
[src]
T: Component,
pub fn get_with_added<T>(&self) -> Option<(NonNull<T>, NonNull<bool>)> where
T: Component,
[src]
T: Component,
pub fn get_with_mutated<T>(&self) -> Option<(NonNull<T>, NonNull<bool>)> where
T: Component,
[src]
T: Component,
pub fn get_with_added_and_mutated<T>(
&self
) -> Option<(NonNull<T>, NonNull<bool>, NonNull<bool>)> where
T: Component,
[src]
&self
) -> Option<(NonNull<T>, NonNull<bool>, NonNull<bool>)> where
T: Component,
pub fn get_mutated<T>(&self) -> Option<NonNull<bool>> where
T: Component,
[src]
T: Component,
pub fn get_added<T>(&self) -> Option<NonNull<bool>> where
T: Component,
[src]
T: Component,
pub fn get_type_state_mut(&mut self, ty: TypeId) -> Option<&mut TypeState>
[src]
pub fn borrow<T>(&self) where
T: Component,
[src]
T: Component,
pub fn borrow_mut<T>(&self) where
T: Component,
[src]
T: Component,
pub fn release<T>(&self) where
T: Component,
[src]
T: Component,
pub fn release_mut<T>(&self) where
T: Component,
[src]
T: Component,
pub fn len(&self) -> u32
[src]
pub fn iter_entities(&self) -> impl Iterator<Item = &u32>
[src]
pub fn types(&self) -> &[TypeInfo]
[src]
pub unsafe fn allocate(&mut self, id: u32) -> u32
[src]
Every type must be written immediately after this call
pub fn clear_trackers(&mut self)
[src]
pub unsafe fn put_dynamic(
&mut self,
component: *mut u8,
ty: TypeId,
size: usize,
index: u32,
added: bool
)
[src]
&mut self,
component: *mut u8,
ty: TypeId,
size: usize,
index: u32,
added: bool
)
pub fn access<Q>(&self) -> Option<Access> where
Q: Query,
[src]
Q: Query,
How, if at all, Q
will access entities in this archetype
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Archetype
impl !Send for Archetype
impl !Sync for Archetype
impl Unpin for Archetype
impl UnwindSafe for Archetype
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,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Component for T where
T: 'static + Send + Sync,
[src]
T: 'static + Send + Sync,
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.
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>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,