Struct fyrox::asset::manager::ResourceManagerState

source ·
pub struct ResourceManagerState {
    pub loaders: ResourceLoadersContainer,
    pub event_broadcaster: ResourceEventBroadcaster,
    pub constructors_container: ResourceConstructorContainer,
    pub built_in_resources: HashMap<PathBuf, UntypedResource, BuildHasherDefault<FxHasher>>,
    pub resource_io: Arc<dyn ResourceIo>,
    /* private fields */
}
Expand description

See module docs.

Fields§

§loaders: ResourceLoadersContainer

A set of resource loaders. Use this field to register your own resource loader.

§event_broadcaster: ResourceEventBroadcaster

Event broadcaster can be used to “subscribe” for events happening inside the container.

§constructors_container: ResourceConstructorContainer

A container for resource constructors.

§built_in_resources: HashMap<PathBuf, UntypedResource, BuildHasherDefault<FxHasher>>

A set of built-in resources, that will be used to resolve references on deserialization.

§resource_io: Arc<dyn ResourceIo>

The resource acccess interface

Implementations§

source§

impl ResourceManagerState

source

pub fn task_pool(&self) -> Arc<TaskPool>

Returns the task pool used by this resource manager.

source

pub fn set_resource_io(&mut self, resource_io: Arc<dyn ResourceIo>)

Set the IO source that the resource manager should use when loading assets

source

pub fn set_watcher(&mut self, watcher: Option<FileSystemWatcher>)

Sets resource watcher which will track any modifications in file system and forcing the manager to reload changed resources. By default there is no watcher, since it may be an undesired effect to reload resources at runtime. This is very useful thing for fast iterative development.

source

pub fn count_registered_resources(&self) -> usize

Returns total amount of registered resources.

source

pub fn loading_progress(&self) -> usize

Returns percentage of loading progress. This method is useful to show progress on loading screen in your game. This method could be used alone if your game depends only on external resources, or if your game doing some heavy calculations this value can be combined with progress of your tasks.

source

pub fn update(&mut self, dt: f32)

Update resource containers and do hot-reloading.

Resources are removed if they’re not used or reloaded if they have changed in disk.

Normally, this is called from Engine::update(). You should only call this manually if you don’t use that method.

source

pub fn push(&mut self, resource: UntypedResource)

Adds a new resource in the container.

source

pub fn find<P>(&self, path: P) -> Option<&UntypedResource>
where P: AsRef<Path>,

Tries to find a resources by its path. Returns None if no resource was found.

§Complexity

O(n)

source

pub fn len(&self) -> usize

Returns total amount of resources in the container.

source

pub fn is_empty(&self) -> bool

Returns true if the resource manager has no resources.

source

pub fn iter(&self) -> impl Iterator<Item = &UntypedResource>

Creates an iterator over resources in the manager.

source

pub fn destroy_unused_resources(&mut self)

Immediately destroys all resources in the manager that are not used anywhere else.

source

pub fn count_pending_resources(&self) -> usize

Returns total amount of resources that still loading.

source

pub fn count_loaded_resources(&self) -> usize

Returns total amount of completely loaded resources.

source

pub fn resources(&self) -> Vec<UntypedResource>

Returns a set of resource handled by this container.

source

pub fn request<P>(&mut self, path: P) -> UntypedResource
where P: AsRef<Path>,

Tries to load a resources at a given path.

source

pub fn reload_resource(&mut self, resource: UntypedResource)

Reloads a single resource.

source

pub fn reload_resources(&mut self) -> Vec<UntypedResource>

Reloads all resources in the container. Returns a list of resources that will be reloaded. You can use the list to wait until all resources are loading.

source

pub fn get_wait_context(&self) -> ResourceWaitContext

Wait until all resources are loaded (or failed to load).

source

pub fn try_reload_resource_from_path(&mut self, path: &Path) -> bool

Tries to reload a resource at the given path.

source

pub fn unregister(&mut self, path: &Path)

Forgets that a resource at the given path was ever loaded, thus making it possible to reload it again as a new instance.

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> AsyncTaskResult for T
where T: Any + Send + 'static,

source§

fn into_any(self: Box<T>) -> Box<dyn Any>

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> Downcast for T
where T: Any,

source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
source§

impl<T> FieldValue for T
where T: 'static,

source§

fn as_any(&self) -> &(dyn Any + 'static)

Casts self to a &dyn Any
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<T> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
source§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
source§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
source§

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

§

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>,

§

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.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more