Struct rin::ecs::EntitiesCreation [−][src]
pub struct EntitiesCreation<'a> { /* fields omitted */ }
EntitiesCreation
is passed to CreationSystem
when they are run and allows
to access and modify components but also to create new components for
already exisiting entities or create new entities and resources.
Implementations
impl<'a> EntitiesCreation<'a>
[src]
impl<'a> EntitiesCreation<'a>
[src]pub fn iter_for<'e, S>(&'e self) -> <S as UnorderedData<'e>>::Iter where
S: UnorderedData<'e> + ReadOnlyOp<'e>,
[src]
S: UnorderedData<'e> + ReadOnlyOp<'e>,
Iterator over all the components that match the operator
for (pos, vel) in entities.iter_for_mut::<(Write<Position>, Read<Velocity>)>(){ pos.x += vel.x; pos.y += vel.y; }
Will iterate over all the entities that have both position and velocity and update the position by adding the velocity to it. In this example position can be modified cause we use the Write operator but velocity can only be read.
pub fn iter_for_mut<'e, S>(&'e mut self) -> <S as UnorderedData<'e>>::IterMut where
S: UnorderedData<'e>,
[src]
S: UnorderedData<'e>,
Iterator over all the components that match the operator
for (pos, vel) in entities.iter_for_mut::<(Write<Position>, Read<Velocity>)>(){ pos.x += vel.x; pos.y += vel.y; }
Will iterate over all the entities that have both position and velocity and update the position by adding the velocity to it. In this example position can be modified cause we use the Write operator but velocity can only be read.
pub fn ordered_iter_for<'e, S>(&'e self) -> <S as OrderedData<'e>>::Iter where
S: OrderedData<'e> + ReadOnlyOrderedOp<'e>,
[src]
S: OrderedData<'e> + ReadOnlyOrderedOp<'e>,
Iterator over ordered data
Similar to iter_for but to be used with operators that specify an order like ReadAndParent in which parents will be processed first and then their children
pub fn ordered_iter_for_mut<'e, S>(&'e mut self) -> <S as OrderedData<'e>>::Iter where
S: OrderedData<'e>,
[src]
S: OrderedData<'e>,
Iterator over ordered data
Similar to iter_for but to be used with operators that specify an order like ReadAndParent in which parents will be processed first and then their children
pub fn iter_for_entities<'e, U, E>(
&'e self,
entities: E
) -> <E as IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>>::IntoEntitiesIter where
E: IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>,
U: UnorderedData<'e>,
<U as UnorderedData<'e>>::Storage: ReadOnlyStorage,
[src]
&'e self,
entities: E
) -> <E as IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>>::IntoEntitiesIter where
E: IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>,
U: UnorderedData<'e>,
<U as UnorderedData<'e>>::Storage: ReadOnlyStorage,
Iterator for the specified operators over a set of entities instead of every entity in the world
It’s usage is similar to iter_for but instead of iterating over all the entities it only returns components that match the operators for the entities passed as parameter
let e1 = world.new_entity() .add(Position{x: 0., y: 0.}) .build(); let e2 = world.new_entity() .add(Position{x: 0., y: 0.}) .build(); let e3 = world.new_entity() .add(Position{x: 0., y: 0.}) .build(); let entities = world.entities(); for pos in entities.iter_for_entities::<Read<Position>, _>(&vec![e1, e2]){ //... }
The operators parameter in this method needs a second type for the entities iterator type which can jsut be elided with a _ since it’ll be guessed from the passed parameter
pub fn iter_for_entities_mut<'e, U, E>(
&'e mut self,
entities: E
) -> <E as IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>>::IntoEntitiesIterMut where
E: IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>,
U: UnorderedData<'e>,
[src]
&'e mut self,
entities: E
) -> <E as IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>>::IntoEntitiesIterMut where
E: IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>,
U: UnorderedData<'e>,
pub fn iter_for_entities_opt<'e, U, E>(
&'e self,
entities: E
) -> <E as IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>>::IntoEntitiesOptIter where
E: IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>,
U: UnorderedData<'e>,
<U as UnorderedData<'e>>::Storage: ReadOnlyStorage,
[src]
&'e self,
entities: E
) -> <E as IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>>::IntoEntitiesOptIter where
E: IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>,
U: UnorderedData<'e>,
<U as UnorderedData<'e>>::Storage: ReadOnlyStorage,
pub fn iter_for_entities_opt_mut<'e, U, E>(
&'e mut self,
entities: E
) -> <E as IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>>::IntoEntitiesOptIterMut where
E: IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>,
U: UnorderedData<'e>,
[src]
&'e mut self,
entities: E
) -> <E as IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>>::IntoEntitiesOptIterMut where
E: IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>,
U: UnorderedData<'e>,
pub unsafe fn unsafe_iter_for_entities_mut<'e, U, E>(
&'e mut self,
entities: E
) -> EntitiesComponentIter<'e, <E as IntoIterator>::IntoIter, <U as UnorderedData<'e>>::Storage> where
E: IntoIterator<Item = Entity>,
U: UnorderedData<'e>,
<U as UnorderedData<'e>>::Storage: StorageRef<'e>,
[src]
&'e mut self,
entities: E
) -> EntitiesComponentIter<'e, <E as IntoIterator>::IntoIter, <U as UnorderedData<'e>>::Storage> where
E: IntoIterator<Item = Entity>,
U: UnorderedData<'e>,
<U as UnorderedData<'e>>::Storage: StorageRef<'e>,
pub fn changed_iter_for<'r, S>(
&'r self
) -> EntitiesComponentIter<'r, <S as ChangedData<'r>>::ChangedIter, <S as UnorderedData<'r>>::Storage> where
S: ChangedData<'r> + EntitiesData + ReadOnlyOp<'r> + 'r,
<S as UnorderedData<'r>>::Storage: StorageRef<'r>,
[src]
&'r self
) -> EntitiesComponentIter<'r, <S as ChangedData<'r>>::ChangedIter, <S as UnorderedData<'r>>::Storage> where
S: ChangedData<'r> + EntitiesData + ReadOnlyOp<'r> + 'r,
<S as UnorderedData<'r>>::Storage: StorageRef<'r>,
pub fn changed_iter_for_mut<'r, S>(
&'r mut self
) -> EntitiesComponentIter<'r, <S as ChangedData<'r>>::ChangedIter, <S as UnorderedData<'r>>::Storage> where
S: ChangedData<'r> + EntitiesData + 'r,
<S as UnorderedData<'r>>::Storage: StorageRef<'r>,
[src]
&'r mut self
) -> EntitiesComponentIter<'r, <S as ChangedData<'r>>::ChangedIter, <S as UnorderedData<'r>>::Storage> where
S: ChangedData<'r> + EntitiesData + 'r,
<S as UnorderedData<'r>>::Storage: StorageRef<'r>,
pub fn update_changed<C>(&self) where
C: ComponentThreadLocal,
<C as Component>::Storage: AutoChangedStorageExt<'a>,
[src]
C: ComponentThreadLocal,
<C as Component>::Storage: AutoChangedStorageExt<'a>,
pub fn has_storage_changed<'r, C>(self) -> bool where
C: ComponentThreadLocal,
<C as Component>::Storage: for<'s> Storage<'s, C>,
<C as Component>::Storage: ChangedStorageExt<'r>,
[src]
C: ComponentThreadLocal,
<C as Component>::Storage: for<'s> Storage<'s, C>,
<C as Component>::Storage: ChangedStorageExt<'r>,
pub fn entity_components<'r, S>(
&'r self,
entity: &Entity
) -> Option<<S as UnorderedData<'r>>::ComponentsRef> where
S: UnorderedData<'r> + ReadOnlyOp<'r> + 'r,
<S as UnorderedData<'r>>::Storage: StorageRef<'r>,
<<S as UnorderedData<'r>>::Storage as StorageRef<'r>>::Component == <S as UnorderedData<'r>>::ComponentsRef,
[src]
&'r self,
entity: &Entity
) -> Option<<S as UnorderedData<'r>>::ComponentsRef> where
S: UnorderedData<'r> + ReadOnlyOp<'r> + 'r,
<S as UnorderedData<'r>>::Storage: StorageRef<'r>,
<<S as UnorderedData<'r>>::Storage as StorageRef<'r>>::Component == <S as UnorderedData<'r>>::ComponentsRef,
Similar to iter_for_entities but for one entity instead of several
let e1 = world.new_entity() .add(Position{x: 0., y: 0.}) .add(Velocity{x: 0., y: 0.}) .build(); let entities = world.entities(); let (pos, vel) = entities .entity_components::<(Read<Position>, Read<Velocity>)>(&e1) .unwrap();
pub fn entity_components_mut<'r, S>(
&'r mut self,
entity: &Entity
) -> Option<<S as UnorderedData<'r>>::ComponentsRef> where
S: UnorderedData<'r> + 'r,
<S as UnorderedData<'r>>::Storage: StorageRef<'r>,
<<S as UnorderedData<'r>>::Storage as StorageRef<'r>>::Component == <S as UnorderedData<'r>>::ComponentsRef,
[src]
&'r mut self,
entity: &Entity
) -> Option<<S as UnorderedData<'r>>::ComponentsRef> where
S: UnorderedData<'r> + 'r,
<S as UnorderedData<'r>>::Storage: StorageRef<'r>,
<<S as UnorderedData<'r>>::Storage as StorageRef<'r>>::Component == <S as UnorderedData<'r>>::ComponentsRef,
pub fn component_for<C>(&self, entity: &Entity) -> Option<Ptr<'_, C>> where
C: Component,
<C as Component>::Storage: for<'s> Storage<'s, C>,
[src]
C: Component,
<C as Component>::Storage: for<'s> Storage<'s, C>,
Returns a component for reading for the passed entity
let e1 = world.new_entity() .add(Position{x: 0., y: 0.}) .build(); let entities = world.entities(); let pos = entities.component_for::<Position>(&e1).unwrap();
pub fn component_for_mut<C>(&self, entity: &Entity) -> Option<PtrMut<'_, C>> where
C: Component,
<C as Component>::Storage: for<'s> Storage<'s, C>,
[src]
C: Component,
<C as Component>::Storage: for<'s> Storage<'s, C>,
Returns a component for writing for the passed entity
let e1 = world.new_entity() .add(Position{x: 0., y: 0.}) .build(); let entities = world.entities(); let mut pos = entities.component_for_mut::<Position>(&e1).unwrap();
pub fn has_component<C>(&self, entity: &Entity) -> bool where
C: 'static,
[src]
C: 'static,
Returns true if the entity has the specified component
let e1 = world.new_entity() .add(Position{x: 0., y: 0.}) .build(); let entities = world.entities(); assert!(entities.has_component::<Position>(&e1));
pub fn tree_node_for<C>(&self, entity: &Entity) -> Option<NodePtr<'_, C>> where
C: Component,
<C as Component>::Storage: for<'b> HierarchicalStorage<'b, C>,
[src]
C: Component,
<C as Component>::Storage: for<'b> HierarchicalStorage<'b, C>,
Returns the node for a hierarchical component
pub fn tree_node_for_mut<C>(&self, entity: &Entity) -> Option<NodePtrMut<'_, C>> where
C: Component,
<C as Component>::Storage: for<'b> HierarchicalStorage<'b, C>,
[src]
C: Component,
<C as Component>::Storage: for<'b> HierarchicalStorage<'b, C>,
Returns the node for a hierarchical component for writing
pub fn new_entity(&mut self) -> EntityBuilder<'_>
[src]
Returns an EntityBuilder that allows to create an entity and it’s components.
let e = world.new_entity() .add(Position{x: 0., y: 0.}) .add(Velocity{x: 0., y: 0.}) .build();
pub fn add_component_to<'r, C>(&mut self, entity: &Entity, component: C) where
C: ComponentSend,
<C as Component>::Storage: for<'s> Storage<'s, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
[src]
C: ComponentSend,
<C as Component>::Storage: for<'s> Storage<'s, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
Adds a Send
Component
to an already existing Entity
.
pub fn add_component_to_thread_local<'r, C>(
&mut self,
entity: &Entity,
component: C
) where
C: ComponentThreadLocal,
<C as Component>::Storage: for<'s> Storage<'s, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
[src]
&mut self,
entity: &Entity,
component: C
) where
C: ComponentThreadLocal,
<C as Component>::Storage: for<'s> Storage<'s, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
Adds a non Send
Component
to an already existing Entity
.
pub fn add_tag_to<C>(&mut self, entity: &Entity) where
C: 'static,
[src]
C: 'static,
pub fn add_child_component_to<'r, C>(
&mut self,
parent: &Entity,
entity: &Entity,
component: C
) where
C: ComponentSend,
<C as Component>::Storage: for<'s> HierarchicalStorage<'s, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
[src]
&mut self,
parent: &Entity,
entity: &Entity,
component: C
) where
C: ComponentSend,
<C as Component>::Storage: for<'s> HierarchicalStorage<'s, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
Adds a Send
Component
to an already existing Entity
.
pub fn add_child_component_to_thread_local<'r, C>(
&mut self,
parent: &Entity,
entity: &Entity,
component: C
) where
C: ComponentThreadLocal,
<C as Component>::Storage: for<'s> HierarchicalStorage<'s, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
[src]
&mut self,
parent: &Entity,
entity: &Entity,
component: C
) where
C: ComponentThreadLocal,
<C as Component>::Storage: for<'s> HierarchicalStorage<'s, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
Adds a non Send
Component
to an already existing Entity
.
pub fn add_slice_component_to<'r, C, I>(
&mut self,
entity: &Entity,
component: I
) where
C: OneToNComponentSend,
I: IntoIterator<Item = C>,
<C as Component>::Storage: for<'s> OneToNStorage<'s, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
[src]
&mut self,
entity: &Entity,
component: I
) where
C: OneToNComponentSend,
I: IntoIterator<Item = C>,
<C as Component>::Storage: for<'s> OneToNStorage<'s, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
Adds a Send
OneToNComponent
to an already existing Entity
.
This allows to add a slice of components to an entity instead of only one component. This components are stored contiguously in memory for all the entities.
pub fn add_slice_component_to_thread_local<'r, C, I>(
&mut self,
entity: &Entity,
component: I
) where
C: OneToNComponentThreadLocal,
I: IntoIterator<Item = C>,
<C as Component>::Storage: for<'s> OneToNStorage<'s, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
[src]
&mut self,
entity: &Entity,
component: I
) where
C: OneToNComponentThreadLocal,
I: IntoIterator<Item = C>,
<C as Component>::Storage: for<'s> OneToNStorage<'s, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
Adds a non Send
OneToNComponent
to an already existing Entity
.
This allows to add a slice of components to an entity instead of only one component. This components are stored contiguously in memory for all the entities.
pub fn remove_component_from<'r, C>(&mut self, entity: &Entity) where
C: Component,
<C as Component>::Storage: for<'s> Storage<'s, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
[src]
C: Component,
<C as Component>::Storage: for<'s> Storage<'s, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
Removes a compoenent of the specified type from an entity.
pub fn remove_entity(&mut self, entity: &Entity)
[src]
Removes an Entity
and all it’s compoenents.
pub fn to_thread_local(&self) -> &EntitiesThreadLocal<'_>
[src]
pub fn to_send(&self) -> &Entities<'_>
[src]
pub fn creation_storage<C>(&mut self) -> CreationSto<'_, C> where
C: Component,
[src]
C: Component,
pub fn storage_for<'r, S>(&'r self) -> Sto<'r, S> where
S: UnorderedData<'r> + ReadOnlyOp<'r>,
[src]
S: UnorderedData<'r> + ReadOnlyOp<'r>,
Storage for the operator passed as type parameter
Calling iter_for can be slow if it needs to be called lots of times. In those cases
calling instead storage_for
once and then iter() on it multiple times can make performance
much better
let mut storage = entities.storage_for_mut::<(Write<Position>, Read<Velocity>)>().unwrap(); for i in 0..1000000 { for (pos, vel) in storage.iter_mut() { pos.x += vel.x; pos.y += vel.y; } }
pub fn storage_for_mut<'r, S>(&'r mut self) -> Sto<'r, S> where
S: UnorderedData<'r>,
[src]
S: UnorderedData<'r>,
pub fn clone(&mut self) -> EntitiesCreation<'_>
[src]
pub fn as_storages(&mut self) -> EntityStoragesCreation<'_>
[src]
pub fn split<D>(&mut self) -> (EntitiesCreation<'_>, EntitiesCreation<'_>) where
D: DataAccesses,
[src]
D: DataAccesses,
Trait Implementations
impl<'a> EntitiesCreationExt<'a> for EntitiesCreation<'a>
[src]
impl<'a> EntitiesCreationExt<'a> for EntitiesCreation<'a>
[src]pub fn with_entities_creation<'e, F, R>(&'e mut self, f: F) -> R where
F: FnOnce(EntitiesCreation<'e>) -> R,
[src]
F: FnOnce(EntitiesCreation<'e>) -> R,
pub fn new_entity(&mut self) -> EntityBuilder<'_>
[src]
pub fn creation_storage<C>(&mut self) -> CreationSto<'_, C> where
C: Component,
[src]
C: Component,
pub fn add_component_to<'r, C>(&mut self, entity: &Entity, component: C) where
C: ComponentSend,
<C as Component>::Storage: for<'s> Storage<'s, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
[src]
C: ComponentSend,
<C as Component>::Storage: for<'s> Storage<'s, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
pub fn add_component_to_thread_local<'r, C>(
&mut self,
entity: &Entity,
component: C
) where
C: ComponentThreadLocal,
<C as Component>::Storage: for<'s> Storage<'s, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
[src]
&mut self,
entity: &Entity,
component: C
) where
C: ComponentThreadLocal,
<C as Component>::Storage: for<'s> Storage<'s, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
pub fn add_tag_to<C>(&mut self, entity: &Entity) where
C: 'static,
[src]
C: 'static,
pub fn add_child_component_to<'r, C>(
&mut self,
parent: &Entity,
entity: &Entity,
component: C
) where
C: ComponentSend,
<C as Component>::Storage: for<'b> HierarchicalStorage<'b, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
[src]
&mut self,
parent: &Entity,
entity: &Entity,
component: C
) where
C: ComponentSend,
<C as Component>::Storage: for<'b> HierarchicalStorage<'b, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
pub fn add_child_component_to_thread_local<'r, C>(
&mut self,
parent: &Entity,
entity: &Entity,
component: C
) where
C: ComponentThreadLocal,
<C as Component>::Storage: for<'b> HierarchicalStorage<'b, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
[src]
&mut self,
parent: &Entity,
entity: &Entity,
component: C
) where
C: ComponentThreadLocal,
<C as Component>::Storage: for<'b> HierarchicalStorage<'b, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
pub fn add_slice_component_to<'r, C, I>(
&mut self,
entity: &Entity,
component: I
) where
C: OneToNComponentSend,
I: IntoIterator<Item = C>,
<C as Component>::Storage: for<'s> OneToNStorage<'s, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
[src]
&mut self,
entity: &Entity,
component: I
) where
C: OneToNComponentSend,
I: IntoIterator<Item = C>,
<C as Component>::Storage: for<'s> OneToNStorage<'s, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
pub fn add_slice_component_to_thread_local<'r, C, I>(
&mut self,
entity: &Entity,
component: I
) where
C: OneToNComponentThreadLocal,
I: IntoIterator<Item = C>,
<C as Component>::Storage: for<'s> OneToNStorage<'s, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
[src]
&mut self,
entity: &Entity,
component: I
) where
C: OneToNComponentThreadLocal,
I: IntoIterator<Item = C>,
<C as Component>::Storage: for<'s> OneToNStorage<'s, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
pub fn remove_component_from<'r, C>(&mut self, entity: &Entity) where
C: Component,
<C as Component>::Storage: for<'s> Storage<'s, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
[src]
C: Component,
<C as Component>::Storage: for<'s> Storage<'s, C>,
<<C as Component>::Storage as Storage<'r, C>>::Get: DebugParameter,
pub fn remove_entity(&mut self, entity: &Entity)
[src]
impl<'a> EntitiesExt<'a> for EntitiesCreation<'a>
[src]
impl<'a> EntitiesExt<'a> for EntitiesCreation<'a>
[src]pub fn iter_for<'e, S>(&'e self) -> <S as UnorderedData<'e>>::Iter where
S: UnorderedDataSend<'e> + ReadOnlyOp<'e>,
[src]
S: UnorderedDataSend<'e> + ReadOnlyOp<'e>,
pub fn iter_for_mut<'e, S>(&'e mut self) -> <S as UnorderedData<'e>>::IterMut where
S: UnorderedDataSend<'e>,
[src]
S: UnorderedDataSend<'e>,
pub fn ordered_iter_for<'e, S>(&'e self) -> <S as OrderedData<'e>>::Iter where
S: OrderedDataSend<'e> + ReadOnlyOrderedOp<'e>,
[src]
S: OrderedDataSend<'e> + ReadOnlyOrderedOp<'e>,
pub fn ordered_iter_for_mut<'e, S>(&'e mut self) -> <S as OrderedData<'e>>::Iter where
S: OrderedDataSend<'e>,
[src]
S: OrderedDataSend<'e>,
pub fn iter_for_entities<'e, U, E>(
&'e self,
entities: E
) -> <E as IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>>::IntoEntitiesIter where
E: IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>,
U: UnorderedDataSend<'e>,
<U as UnorderedData<'e>>::Storage: ReadOnlyStorage,
[src]
&'e self,
entities: E
) -> <E as IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>>::IntoEntitiesIter where
E: IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>,
U: UnorderedDataSend<'e>,
<U as UnorderedData<'e>>::Storage: ReadOnlyStorage,
pub fn iter_for_entities_mut<'e, U, E>(
&'e mut self,
entities: E
) -> <E as IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>>::IntoEntitiesIterMut where
E: IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>,
U: UnorderedDataSend<'e>,
[src]
&'e mut self,
entities: E
) -> <E as IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>>::IntoEntitiesIterMut where
E: IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>,
U: UnorderedDataSend<'e>,
pub fn iter_for_entities_opt<'e, U, E>(
&'e self,
entities: E
) -> <E as IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>>::IntoEntitiesOptIter where
E: IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>,
U: UnorderedDataSend<'e>,
<U as UnorderedData<'e>>::Storage: ReadOnlyStorage,
[src]
&'e self,
entities: E
) -> <E as IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>>::IntoEntitiesOptIter where
E: IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>,
U: UnorderedDataSend<'e>,
<U as UnorderedData<'e>>::Storage: ReadOnlyStorage,
pub fn iter_for_entities_opt_mut<'e, U, E>(
&'e mut self,
entities: E
) -> <E as IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>>::IntoEntitiesOptIterMut where
E: IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>,
U: UnorderedDataSend<'e>,
[src]
&'e mut self,
entities: E
) -> <E as IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>>::IntoEntitiesOptIterMut where
E: IntoEntitiesIterator<'e, <U as UnorderedData<'e>>::Storage>,
U: UnorderedDataSend<'e>,
pub fn entity_components<'r, S>(
&'r self,
entity: &Entity
) -> Option<<S as UnorderedData<'r>>::ComponentsRef> where
S: UnorderedDataSend<'r> + ReadOnlyOp<'r> + 'r,
<S as UnorderedData<'r>>::Storage: StorageRef<'r>,
<<S as UnorderedData<'r>>::Storage as StorageRef<'r>>::Component == <S as UnorderedData<'r>>::ComponentsRef,
[src]
&'r self,
entity: &Entity
) -> Option<<S as UnorderedData<'r>>::ComponentsRef> where
S: UnorderedDataSend<'r> + ReadOnlyOp<'r> + 'r,
<S as UnorderedData<'r>>::Storage: StorageRef<'r>,
<<S as UnorderedData<'r>>::Storage as StorageRef<'r>>::Component == <S as UnorderedData<'r>>::ComponentsRef,
pub fn entity_components_mut<'r, S>(
&'r mut self,
entity: &Entity
) -> Option<<S as UnorderedData<'r>>::ComponentsRef> where
S: UnorderedDataSend<'r> + 'r,
<S as UnorderedData<'r>>::Storage: StorageRef<'r>,
<<S as UnorderedData<'r>>::Storage as StorageRef<'r>>::Component == <S as UnorderedData<'r>>::ComponentsRef,
[src]
&'r mut self,
entity: &Entity
) -> Option<<S as UnorderedData<'r>>::ComponentsRef> where
S: UnorderedDataSend<'r> + 'r,
<S as UnorderedData<'r>>::Storage: StorageRef<'r>,
<<S as UnorderedData<'r>>::Storage as StorageRef<'r>>::Component == <S as UnorderedData<'r>>::ComponentsRef,
pub fn component_for<C>(&self, entity: &Entity) -> Option<Ptr<'_, C>> where
C: ComponentSend,
<C as Component>::Storage: for<'s> Storage<'s, C>,
[src]
C: ComponentSend,
<C as Component>::Storage: for<'s> Storage<'s, C>,
pub fn component_for_mut<C>(&self, entity: &Entity) -> Option<PtrMut<'_, C>> where
C: ComponentSend,
<C as Component>::Storage: for<'s> Storage<'s, C>,
[src]
C: ComponentSend,
<C as Component>::Storage: for<'s> Storage<'s, C>,
pub fn has_component<C>(&self, entity: &Entity) -> bool where
C: 'static,
[src]
C: 'static,
pub fn tree_node_for<C>(&self, entity: &Entity) -> Option<NodePtr<'_, C>> where
C: ComponentSend,
<C as Component>::Storage: for<'b> HierarchicalStorage<'b, C>,
[src]
C: ComponentSend,
<C as Component>::Storage: for<'b> HierarchicalStorage<'b, C>,
pub fn tree_node_for_mut<C>(&self, entity: &Entity) -> Option<NodePtrMut<'_, C>> where
C: ComponentSend,
<C as Component>::Storage: for<'b> HierarchicalStorage<'b, C>,
[src]
C: ComponentSend,
<C as Component>::Storage: for<'b> HierarchicalStorage<'b, C>,
pub fn changed_iter_for<'r, S>(
&'r self
) -> EntitiesComponentIter<'r, <S as ChangedData<'r>>::ChangedIter, <S as UnorderedData<'r>>::Storage> where
S: ChangedDataSend<'r> + EntitiesData + ReadOnlyOp<'r> + 'r,
<S as UnorderedData<'r>>::Storage: StorageRef<'r>,
[src]
&'r self
) -> EntitiesComponentIter<'r, <S as ChangedData<'r>>::ChangedIter, <S as UnorderedData<'r>>::Storage> where
S: ChangedDataSend<'r> + EntitiesData + ReadOnlyOp<'r> + 'r,
<S as UnorderedData<'r>>::Storage: StorageRef<'r>,
pub fn changed_iter_for_mut<'r, S>(
&'r mut self
) -> EntitiesComponentIter<'r, <S as ChangedData<'r>>::ChangedIter, <S as UnorderedData<'r>>::Storage> where
S: ChangedDataSend<'r> + EntitiesData + 'r,
<S as UnorderedData<'r>>::Storage: StorageRef<'r>,
[src]
&'r mut self
) -> EntitiesComponentIter<'r, <S as ChangedData<'r>>::ChangedIter, <S as UnorderedData<'r>>::Storage> where
S: ChangedDataSend<'r> + EntitiesData + 'r,
<S as UnorderedData<'r>>::Storage: StorageRef<'r>,
pub fn storage_for<'r, S>(&'r self) -> Sto<'r, S> where
S: UnorderedDataSend<'r> + ReadOnlyOp<'r>,
[src]
S: UnorderedDataSend<'r> + ReadOnlyOp<'r>,
pub fn storage_for_mut<'r, S>(&'r mut self) -> Sto<'r, S> where
S: UnorderedDataSend<'r>,
[src]
S: UnorderedDataSend<'r>,
impl<'a> EntitiesStorage for EntitiesCreation<'a>
[src]
impl<'a> EntitiesStorage for EntitiesCreation<'a>
[src]pub fn storage<C>(&self) -> Option<ReadGuardRef<'_, <C as Component>::Storage>> where
C: Component,
[src]
C: Component,
pub fn storage_mut<C>(
&self
) -> Option<WriteGuardRef<'_, <C as Component>::Storage, <C as Component>::MutStorageCacheGuard>> where
C: Component,
[src]
&self
) -> Option<WriteGuardRef<'_, <C as Component>::Storage, <C as Component>::MutStorageCacheGuard>> where
C: Component,
pub fn entities_ref(&self) -> &[(Entity, U256)]ⓘ
[src]
pub fn component_mask<C>(&self) -> U256 where
C: 'static,
[src]
C: 'static,
pub fn entities_for_mask<S>(
&self,
query_mask: Bitmask,
storage: &S
) -> IndexGuard<'_> where
S: FastIndexExt,
[src]
&self,
query_mask: Bitmask,
storage: &S
) -> IndexGuard<'_> where
S: FastIndexExt,
pub fn lazy_entities_for_mask(&self, query_mask: Bitmask) -> LazyIndexGuard<'_>
[src]
pub fn ordered_entities_for<C, S>(
&self,
query_mask: Bitmask,
unordered_storage: &S
) -> OrderedIndexGuard<'_> where
C: Component,
S: FastIndexExt,
<C as Component>::Storage: for<'b> HierarchicalStorage<'b, C>,
[src]
&self,
query_mask: Bitmask,
unordered_storage: &S
) -> OrderedIndexGuard<'_> where
C: Component,
S: FastIndexExt,
<C as Component>::Storage: for<'b> HierarchicalStorage<'b, C>,
Auto Trait Implementations
impl<'a> !RefUnwindSafe for EntitiesCreation<'a>
impl<'a> !Send for EntitiesCreation<'a>
impl<'a> !Sync for EntitiesCreation<'a>
impl<'a> Unpin for EntitiesCreation<'a>
impl<'a> !UnwindSafe for EntitiesCreation<'a>
Blanket Implementations
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]pub fn to_subset(&self) -> Option<SS>
[src]
pub fn is_in_subset(&self) -> bool
[src]
pub fn to_subset_unchecked(&self) -> SS
[src]
pub fn from_subset(element: &SS) -> SP
[src]
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]