Struct chunked::universe::Universe[][src]

pub struct Universe { /* fields omitted */ }

A universe contains all of the globals which can be shared between worlds.

This includes things like chunk allocation zones and the archetype list.

Implementations

impl Universe[src]

pub fn new() -> Arc<Universe>[src]

Create a new universe with the default settings.

pub fn with_chunk_size(chunk_size: usize) -> Arc<Universe>[src]

Create a new universe with a specified maximum number of entities per chunk.

pub fn chunk_size(&self) -> usize[src]

Get the chunk size in number of entities per chunk.

pub fn archetype_by_id(&self, id: usize) -> Option<Arc<Archetype>>[src]

Fetch an archetype by its ID.

pub fn archetype<'a, T: ComponentSet>(
    &self,
    component_types: T
) -> Option<Arc<Archetype>>
[src]

Get a archetype with the given component types, providing it already exists in the world.

Generally, one should prefer ensure_archetype unless you have a particular reason to not want the archetype to be created, as it handles the fast case of the archetype already existing.

pub fn ensure_archetype<'a>(
    self: &Arc<Universe>,
    component_types: impl ComponentSet
) -> Arc<Archetype>
[src]

Get the archetype which contains exactly the requested component types.

The archetype might not contain the given types in the order requested, they will be sorted by their unique ID.

pub fn allocate_entity(&self) -> EntityID[src]

Generate a new entity ID which is unique for this world.

pub fn flush(&self)[src]

Flush all cached memory.

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Pointable for T

pub const ALIGN: usize

The alignment of pointer.

type Init = T

The type for initializers.

pub unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more

pub unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more

pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more

pub unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

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]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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]

Performs the conversion.