pub struct MaterialComponent {
pub handle: AssetHandle<Box<dyn Material>>,
pub uuid: AssetUUID,
}Expand description
A component that attaches any type of material to an entity.
It uses a trait object (Box<dyn Material>) to store a handle to any
concrete material type, allowing the ECS to remain agnostic to the specific
material implementations.
Fields§
§handle: AssetHandle<Box<dyn Material>>A shared handle to the type-erased material data.
uuid: AssetUUIDThe unique identifier of the material asset.
Trait Implementations§
Source§impl Clone for MaterialComponent
impl Clone for MaterialComponent
Source§fn clone(&self) -> MaterialComponent
fn clone(&self) -> MaterialComponent
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 moreimpl Component for MaterialComponent
Auto Trait Implementations§
impl Freeze for MaterialComponent
impl !RefUnwindSafe for MaterialComponent
impl Send for MaterialComponent
impl Sync for MaterialComponent
impl Unpin for MaterialComponent
impl !UnwindSafe for MaterialComponent
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<C1> ComponentBundle for C1where
C1: Component,
impl<C1> ComponentBundle for C1where
C1: Component,
Source§fn type_ids() -> Vec<TypeId>
fn type_ids() -> Vec<TypeId>
Returns the sorted list of
TypeIds for the components in this bundle. Read moreSource§fn create_columns() -> HashMap<TypeId, Box<dyn AnyVec>>
fn create_columns() -> HashMap<TypeId, Box<dyn AnyVec>>
Creates the set of empty, type-erased
Vec<T> columns required to store
this bundle’s components. Read moreSource§fn update_metadata(
metadata: &mut EntityMetadata,
location: PageIndex,
registry: &ComponentRegistry,
)
fn update_metadata( metadata: &mut EntityMetadata, location: PageIndex, registry: &ComponentRegistry, )
Updates the appropriate fields in an
EntityMetadata struct to point
to the location of this bundle’s data. Read moreSource§unsafe fn add_to_page(self, page: &mut ComponentPage)
unsafe fn add_to_page(self, page: &mut ComponentPage)
Adds the components from this bundle into the specified
ComponentPage. Read more