pub struct HandleComponent<T: Asset> {
pub handle: AssetHandle<T>,
pub uuid: AssetUUID,
}Expand description
A generic ECS component that associates an entity with a shared asset resource. It holds both a handle to the loaded data and the asset’s unique identifier.
Fields§
§handle: AssetHandle<T>A shared, reference-counted pointer to the asset’s data.
uuid: AssetUUIDThe unique, persistent identifier of the asset.
Trait Implementations§
Source§impl<T: Asset> Clone for HandleComponent<T>
Manual implementation of Clone.
This is cheap as it only clones the reference-counted pointer and the UUID.
It correctly does NOT require T to be Clone.
impl<T: Asset> Clone for HandleComponent<T>
Manual implementation of Clone.
This is cheap as it only clones the reference-counted pointer and the UUID.
It correctly does NOT require T to be Clone.
Source§impl<T: Asset> Deref for HandleComponent<T>
Implement Deref to the inner AssetHandle for ergonomic access to the asset data.
This allows calling methods of T directly on the component (e.g., my_mesh_component.vertex_size()).
impl<T: Asset> Deref for HandleComponent<T>
Implement Deref to the inner AssetHandle for ergonomic access to the asset data.
This allows calling methods of T directly on the component (e.g., my_mesh_component.vertex_size()).
impl<T: Asset> Component for HandleComponent<T>
Implement the Component trait to make HandleComponent usable by the ECS.
Auto Trait Implementations§
impl<T> Freeze for HandleComponent<T>
impl<T> RefUnwindSafe for HandleComponent<T>where
T: RefUnwindSafe,
impl<T> Send for HandleComponent<T>
impl<T> Sync for HandleComponent<T>
impl<T> Unpin for HandleComponent<T>
impl<T> UnwindSafe for HandleComponent<T>where
T: RefUnwindSafe,
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