Struct legion::storage::EntityLayout
source · [−]pub struct EntityLayout { /* private fields */ }
Expand description
Describes the component types which are attached to an entity.
Implementations
sourceimpl EntityLayout
impl EntityLayout
sourcepub fn register_component<T: Component>(&mut self)
pub fn register_component<T: Component>(&mut self)
Adds a new component to the layout.
sourcepub unsafe fn register_component_raw(
&mut self,
type_id: ComponentTypeId,
f: fn() -> Box<dyn UnknownComponentStorage>
)
pub unsafe fn register_component_raw(
&mut self,
type_id: ComponentTypeId,
f: fn() -> Box<dyn UnknownComponentStorage>
)
Adds a new component to the layout.
Safety
The storage returned from the storage constructor function must be capable
of storing the component type identified by type_id
.
sourcepub fn component_types(&self) -> &[ComponentTypeId]
pub fn component_types(&self) -> &[ComponentTypeId]
Returns a slice of component type IDs for the components inside the layout.
sourcepub fn has_component<T: Component>(&self) -> bool
pub fn has_component<T: Component>(&self) -> bool
Returns true
if the layout contains the given component type.
sourcepub fn has_component_by_id(&self, type_id: ComponentTypeId) -> bool
pub fn has_component_by_id(&self, type_id: ComponentTypeId) -> bool
Returns true
if the layout contains the given component type.
Trait Implementations
sourceimpl Clone for EntityLayout
impl Clone for EntityLayout
sourcefn clone(&self) -> EntityLayout
fn clone(&self) -> EntityLayout
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for EntityLayout
impl Debug for EntityLayout
sourceimpl Default for EntityLayout
impl Default for EntityLayout
sourcefn default() -> EntityLayout
fn default() -> EntityLayout
Returns the “default value” for a type. Read more
sourceimpl LayoutFilter for EntityLayout
impl LayoutFilter for EntityLayout
sourcefn matches_layout(&self, components: &[ComponentTypeId]) -> FilterResult
fn matches_layout(&self, components: &[ComponentTypeId]) -> FilterResult
Calculates the filter’s result for the given entity layout.
Auto Trait Implementations
impl RefUnwindSafe for EntityLayout
impl Send for EntityLayout
impl Sync for EntityLayout
impl Unpin for EntityLayout
impl UnwindSafe for EntityLayout
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
sourcepub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
sourcepub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
sourcepub fn as_any(&self) -> &(dyn Any + 'static)
pub fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
sourcepub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
sourceimpl<T> DowncastSync for T where
T: Any + Send + Sync,
impl<T> DowncastSync for T where
T: Any + Send + Sync,
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more