[−]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
pub fn new(types: Vec<TypeInfo>) -> Archetype
pub fn with_grow(types: Vec<TypeInfo>, grow_size: usize) -> Archetype
pub fn has<T>(&self) -> bool where
T: Component,
T: Component,
pub fn has_type(&self, ty: TypeId) -> bool
pub fn get<T>(&self) -> Option<NonNull<T>> where
T: Component,
T: Component,
pub fn get_with_type_state<T>(&self) -> Option<(NonNull<T>, &TypeState)> where
T: Component,
T: Component,
pub fn get_type_state(&self, ty: TypeId) -> Option<&TypeState>
pub fn get_type_state_mut(&mut self, ty: TypeId) -> Option<&mut TypeState>
pub fn borrow<T>(&self) where
T: Component,
T: Component,
pub fn borrow_mut<T>(&self) where
T: Component,
T: Component,
pub fn release<T>(&self) where
T: Component,
T: Component,
pub fn release_mut<T>(&self) where
T: Component,
T: Component,
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
pub fn iter_entities(&self) -> impl Iterator<Item = &Entity>
pub fn types(&self) -> &[TypeInfo]ⓘ
pub unsafe fn allocate(&mut self, id: Entity) -> usize
Safety
Every type must be written immediately after this call
pub fn clear_trackers(&mut self)
pub unsafe fn put_dynamic(
&mut self,
component: *mut u8,
ty: TypeId,
size: usize,
index: usize,
added: bool
)
&mut self,
component: *mut u8,
ty: TypeId,
size: usize,
index: usize,
added: bool
)
Safety
component
must point to valid memory- the component
ty
pe must be registered index
must be in-boundsize
must be the size of the component- the storage array must be big enough
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> Any for T where
T: Any,
T: Any,
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> Component for T where
T: 'static + Send + Sync,
T: 'static + Send + Sync,
impl<T> Downcast for T where
T: Any,
T: Any,
pub fn into_any(self: Box<T>) -> Box<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn as_any(&self) -> &(dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
impl<T> DowncastSync for T where
T: Send + Sync + Any,
T: Send + Sync + Any,
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Resource for T where
T: 'static + Send + Sync,
[src]
T: 'static + Send + Sync,
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>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub 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>,