pub trait AssetContainer: Downcast + Any + Send + Sync + 'static {
    // Required methods
    fn insert(self: Box<Self>, id: UntypedAssetId, world: &mut World);
    fn asset_type_name(&self) -> &'static str;
}
Expand description

A type erased container for an Asset value that is capable of inserting the Asset into a World’s Assets collection.

Required Methods§

source

fn insert(self: Box<Self>, id: UntypedAssetId, world: &mut World)

source

fn asset_type_name(&self) -> &'static str

Implementations§

source§

impl dyn AssetContainer

source

pub fn is<__T>(&self) -> bool
where __T: AssetContainer,

Returns true if the trait object wraps an object of type __T.

source

pub fn downcast<__T>( self: Box<dyn AssetContainer> ) -> Result<Box<__T>, Box<dyn AssetContainer>>
where __T: AssetContainer,

Returns a boxed object from a boxed trait object if the underlying object is of type __T. Returns the original boxed trait if it isn’t.

source

pub fn downcast_rc<__T>( self: Rc<dyn AssetContainer> ) -> Result<Rc<__T>, Rc<dyn AssetContainer>>
where __T: AssetContainer,

Returns an Rc-ed object from an Rc-ed trait object if the underlying object is of type __T. Returns the original Rc-ed trait if it isn’t.

source

pub fn downcast_ref<__T>(&self) -> Option<&__T>
where __T: AssetContainer,

Returns a reference to the object within the trait object if it is of type __T, or None if it isn’t.

source

pub fn downcast_mut<__T>(&mut self) -> Option<&mut __T>
where __T: AssetContainer,

Returns a mutable reference to the object within the trait object if it is of type __T, or None if it isn’t.

Implementors§

source§

impl<A> AssetContainer for A
where A: Asset,