pub struct SubWorld<'a> { /* private fields */ }Expand description
Provides access to a subset of the entities of a World.
Implementations§
Source§impl<'a> SubWorld<'a>
impl<'a> SubWorld<'a>
Sourcepub unsafe fn new_unchecked(
world: &'a World,
access: &'a Permissions<ComponentTypeId>,
archetypes: &'a ArchetypeAccess,
) -> Self
pub unsafe fn new_unchecked( world: &'a World, access: &'a Permissions<ComponentTypeId>, archetypes: &'a ArchetypeAccess, ) -> Self
Constructs a new SubWorld.
§Safety
Queries assume that this type has been constructed correctly. Ensure that sub-worlds represent disjoint portions of a world and that the world is not used while any of its sub-worlds are alive.
Sourcepub fn split<'b, T: for<'v> View<'v>>(
&'b mut self,
) -> (SubWorld<'b>, SubWorld<'b>)where
'a: 'b,
pub fn split<'b, T: for<'v> View<'v>>(
&'b mut self,
) -> (SubWorld<'b>, SubWorld<'b>)where
'a: 'b,
Splits the world into two. The left world allows access only to the data declared by the view; the right world allows access to all else.
Sourcepub fn split_for_query<'q, V: for<'v> View<'v>, F: EntityFilter>(
&mut self,
_: &'q Query<V, F>,
) -> (SubWorld<'_>, SubWorld<'_>)
pub fn split_for_query<'q, V: for<'v> View<'v>, F: EntityFilter>( &mut self, _: &'q Query<V, F>, ) -> (SubWorld<'_>, SubWorld<'_>)
Splits the world into two. The left world allows access only to the data declared by the query’s view; the right world allows access to all else.
Trait Implementations§
Source§impl<'a> EntityStore for SubWorld<'a>
impl<'a> EntityStore for SubWorld<'a>
Source§fn has_component<T: Component>(&self, entity: Entity) -> bool
fn has_component<T: Component>(&self, entity: Entity) -> bool
Checks that the provided
Component is present on a given entity. Read moreSource§fn has_component_by_id(
&self,
entity: Entity,
component: ComponentTypeId,
) -> bool
fn has_component_by_id( &self, entity: Entity, component: ComponentTypeId, ) -> bool
Checks that the provided
ComponentTypeId is present on a given entity. Read moreSource§fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<'_, T>>
fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<'_, T>>
Borrows component data for the given entity. Read more
Source§unsafe fn get_component_mut_unchecked<T: Component>(
&self,
entity: Entity,
) -> Option<RefMut<'_, T>>
unsafe fn get_component_mut_unchecked<T: Component>( &self, entity: Entity, ) -> Option<RefMut<'_, T>>
Borrows component data for the given entity. Does not perform static borrow checking. Read more
Source§fn get_tag<T: Tag>(&self, entity: Entity) -> Option<&T>
fn get_tag<T: Tag>(&self, entity: Entity) -> Option<&T>
Gets tag data for the given entity. Read more
Source§fn is_alive(&self, entity: Entity) -> bool
fn is_alive(&self, entity: Entity) -> bool
Determines if the given
Entity is alive within this World.Source§fn get_component_storage<V: for<'b> View<'b>>(
&self,
) -> Result<StorageAccessor<'_>, ComponentAccessError>
fn get_component_storage<V: for<'b> View<'b>>( &self, ) -> Result<StorageAccessor<'_>, ComponentAccessError>
Gets the entity component storage. Validates that the world can provide access to everything needed by the view.
Auto Trait Implementations§
impl<'a> Freeze for SubWorld<'a>
impl<'a> !RefUnwindSafe for SubWorld<'a>
impl<'a> Send for SubWorld<'a>
impl<'a> Sync for SubWorld<'a>
impl<'a> Unpin for SubWorld<'a>
impl<'a> UnsafeUnpin for SubWorld<'a>
impl<'a> !UnwindSafe for SubWorld<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more