pub trait ResourceLoader: BaseResourceLoader {
// Required methods
fn extensions(&self) -> &[&str];
fn data_type_uuid(&self) -> Uuid;
fn load(
&self,
path: PathBuf,
io: Arc<dyn ResourceIo>,
) -> Pin<Box<dyn Future<Output = Result<LoaderPayload, LoadError>> + Send>>;
// Provided methods
fn is_native_extension(&self, ext: &str) -> bool { ... }
fn supports_extension(&self, ext: &str) -> bool { ... }
fn convert(
&self,
src_path: PathBuf,
dest_path: PathBuf,
platform: TargetPlatform,
io: Arc<dyn ResourceIo>,
) -> Pin<Box<dyn Future<Output = Result<(), FileError>>>> { ... }
fn try_load_import_settings(
&self,
resource_path: PathBuf,
io: Arc<dyn ResourceIo>,
) -> Pin<Box<dyn Future<Output = Option<Box<dyn BaseImportOptions>>>>> { ... }
fn default_import_options(&self) -> Option<Box<dyn BaseImportOptions>> { ... }
}Expand description
Trait for resource loading.
Required Methods§
Sourcefn extensions(&self) -> &[&str]
fn extensions(&self) -> &[&str]
Returns a list of file extensions supported by the loader. Resource manager will use this list to pick the correct resource loader when the user requests a resource.
Sourcefn data_type_uuid(&self) -> Uuid
fn data_type_uuid(&self) -> Uuid
Must return a type uuid of the resource data type.
Provided Methods§
Sourcefn is_native_extension(&self, ext: &str) -> bool
fn is_native_extension(&self, ext: &str) -> bool
Returns true if the given extension corresponds to a resource in the native file format.
The default implementation returns false, which assumes that the extension corresponds
to a foreign file format.
Sourcefn supports_extension(&self, ext: &str) -> bool
fn supports_extension(&self, ext: &str) -> bool
Checks if the given extension is supported by this loader. Comparison is case-insensitive.
Sourcefn convert(
&self,
src_path: PathBuf,
dest_path: PathBuf,
platform: TargetPlatform,
io: Arc<dyn ResourceIo>,
) -> Pin<Box<dyn Future<Output = Result<(), FileError>>>>
fn convert( &self, src_path: PathBuf, dest_path: PathBuf, platform: TargetPlatform, io: Arc<dyn ResourceIo>, ) -> Pin<Box<dyn Future<Output = Result<(), FileError>>>>
Loads a resource from the given path and converts it to a format, that is the most efficient
fot the given platform. This method is usually used to convert resources for production builds;
to make the resources as efficient as possible for the given platform. This method saves the
converted resource to the given dest_path. If the resource is already in its final form,
then this method should just copy the file from src_path to dest_path.
Sourcefn try_load_import_settings(
&self,
resource_path: PathBuf,
io: Arc<dyn ResourceIo>,
) -> Pin<Box<dyn Future<Output = Option<Box<dyn BaseImportOptions>>>>>
fn try_load_import_settings( &self, resource_path: PathBuf, io: Arc<dyn ResourceIo>, ) -> Pin<Box<dyn Future<Output = Option<Box<dyn BaseImportOptions>>>>>
Tries to load import settings for a resource.
Sourcefn default_import_options(&self) -> Option<Box<dyn BaseImportOptions>>
fn default_import_options(&self) -> Option<Box<dyn BaseImportOptions>>
Returns default import options for the resource.