EntityStore

Struct EntityStore 

Source
pub struct EntityStore { /* private fields */ }
Expand description

A wrapper around a vector of entities.

Implementations§

Source§

impl EntityStore

Source

pub fn new() -> Self

Creates a new EntityStore, allocating the exact number of slots as there are registered Entitys.

This method assumes all types implementing Entity have been implemented correctly. This is one of the pitfalls of this pattern: there is no guarantee that types implementing Entity followed the rules. We can have at least some confidence, though, in their correctness by supplying a correct implementation via a macro.

Source

pub fn get<E: Entity>(&self) -> &E

Fetches an immutable reference to the entity E from the registry. This implementation lazily instantiates the item if it has not yet been instantiated.

Source

pub fn get_mut<E: Entity>(&mut self) -> &mut E

Fetches a mutable reference to the item E from the registry. This implementation lazily instantiates the item if it has not yet been instantiated.

Source

pub fn get_entity_count<E: Entity>(&self) -> usize

Returns a total count of all created entities of type E.

Source

pub fn get_entity_count_by_id(&self, id: usize) -> usize

Returns a total count of all created entities of type E.

Source

pub fn get_entity_iterator<E: Entity>(&self) -> PopulationIterator<E>

Returns an iterator over all valid EntityId<E>s

Source

pub fn get_property_store<E: Entity>(&self) -> &PropertyStore<E>

Source

pub fn get_property_store_mut<E: Entity>(&mut self) -> &mut PropertyStore<E>

Trait Implementations§

Source§

impl Default for EntityStore

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V