pub struct EntityLayout { /* private fields */ }
Expand description
Describes the component types which are attached to an entity.
Implementations§
Source§impl EntityLayout
impl EntityLayout
Sourcepub fn new() -> EntityLayout
pub fn new() -> EntityLayout
Constructs a new entity layout.
Sourcepub fn register_component<T>(&mut self)where
T: Component,
pub fn register_component<T>(&mut self)where
T: Component,
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>(&self) -> boolwhere
T: Component,
pub fn has_component<T>(&self) -> boolwhere
T: Component,
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§
Source§impl Clone for EntityLayout
impl Clone for EntityLayout
Source§fn clone(&self) -> EntityLayout
fn clone(&self) -> EntityLayout
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for EntityLayout
impl Debug for EntityLayout
Source§impl Default for EntityLayout
impl Default for EntityLayout
Source§fn default() -> EntityLayout
fn default() -> EntityLayout
Returns the “default value” for a type. Read more
Source§impl LayoutFilter for EntityLayout
impl LayoutFilter for EntityLayout
Source§fn 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 Freeze for EntityLayout
impl RefUnwindSafe for EntityLayout
impl Send for EntityLayout
impl Sync for EntityLayout
impl Unpin for EntityLayout
impl UnwindSafe for EntityLayout
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> Component for T
impl<T> Component for T
Source§type Storage = PackedStorage<T>
type Storage = PackedStorage<T>
The storage type required to hold all instances of this component in a world.
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
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.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
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.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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