Trait zengine_asset::Asset
source · [−]pub trait Asset: Downcast + Send + Sync + Debug + 'static {
fn next_counter() -> u64
where
Self: Sized;
}
Expand description
An Asset rappresent any kind of external data like images, sound, text file etc..
To load and asset into you game you have to load from the filesystem with AssetManager::load
You should avoid to implement the Asset trait manually and use instead the asset derive macro
Required Methods
sourcefn next_counter() -> u64where
Self: Sized,
fn next_counter() -> u64where
Self: Sized,
Returns an unique asset id.
Normally it’s used the asset path as unique id but in case this is not possible (eg: get multiple id for the same asset path) the engine will call this function.
The asset derive macro implement this function in the following way
static ASSETTEST_COUNTER: std::sync::atomic::AtomicU64 = std::sync::atomic::AtomicU64::new(0);
impl Asset for AssetTest {
fn next_counter() -> u64
where
Self: Sized,
{
ASSETTEST_COUNTER.fetch_add(1, std::sync::atomic::Ordering::Relaxed)
}
}
Implementations
sourceimpl dyn Asset
impl dyn Asset
sourcepub fn is<__T: Asset>(&self) -> bool
pub fn is<__T: Asset>(&self) -> bool
Returns true if the trait object wraps an object of type __T
.
sourcepub fn downcast<__T: Asset>(self: Box<Self>) -> Result<Box<__T>, Box<Self>>
pub fn downcast<__T: Asset>(self: Box<Self>) -> Result<Box<__T>, Box<Self>>
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.
sourcepub fn downcast_rc<__T: Asset>(self: Rc<Self>) -> Result<Rc<__T>, Rc<Self>>
pub fn downcast_rc<__T: Asset>(self: Rc<Self>) -> Result<Rc<__T>, Rc<Self>>
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.
sourcepub fn downcast_ref<__T: Asset>(&self) -> Option<&__T>
pub fn downcast_ref<__T: Asset>(&self) -> Option<&__T>
Returns a reference to the object within the trait object if it is of type __T
, or
None
if it isn’t.
sourcepub fn downcast_mut<__T: Asset>(&mut self) -> Option<&mut __T>
pub fn downcast_mut<__T: Asset>(&mut self) -> Option<&mut __T>
Returns a mutable reference to the object within the trait object if it is of type
__T
, or None
if it isn’t.