ResourceManager

Struct ResourceManager 

Source
pub struct ResourceManager { /* private fields */ }
Expand description

Central storage of resources used in the game. Accessible from App by default.

For loading assets, you probably do not want to use this directly. In most cases, Assets should be used instead.

Cloning a ResourceManager will do a shallow copy, meaning copies will all use the same internal storage. You do not have to and should not wrap this type in an Rc.

See the module-level documentation for more information.

Implementations§

Source§

impl ResourceManager

Source

pub fn allocate<T>(&self) -> ResourceHandle<T>

Allocates and returns a new ResourceHandle for the given type.

See the module-level documentation for more information.

Source

pub fn set<T>(&self, handle: ResourceHandle<T>, data: T)

Sets the underlying value of the given ResourceHandle.

See the module-level documentation for more information.

Source

pub fn get<T>(&self, handle: ResourceHandle<T>) -> Option<ResourceRef<T>>

Returns a reference to the underlying value of the given ResourceHandle.

Generally speaking, you should call this function again every time you need to access the data instead of keeping around the returned guard.

§Panics

Panics if there is already a ResourceRef to the same resource.

See the module-level documentation for more information.

Trait Implementations§

Source§

impl Clone for ResourceManager

Source§

fn clone(&self) -> ResourceManager

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.