Struct bevy_asset::io::AssetSourceBuilder
source · pub struct AssetSourceBuilder {
pub reader: Option<Box<dyn FnMut() -> Box<dyn ErasedAssetReader> + Send + Sync>>,
pub writer: Option<Box<dyn FnMut(bool) -> Option<Box<dyn ErasedAssetWriter>> + Send + Sync>>,
pub watcher: Option<Box<dyn FnMut(Sender<AssetSourceEvent>) -> Option<Box<dyn AssetWatcher>> + Send + Sync>>,
pub processed_reader: Option<Box<dyn FnMut() -> Box<dyn ErasedAssetReader> + Send + Sync>>,
pub processed_writer: Option<Box<dyn FnMut(bool) -> Option<Box<dyn ErasedAssetWriter>> + Send + Sync>>,
pub processed_watcher: Option<Box<dyn FnMut(Sender<AssetSourceEvent>) -> Option<Box<dyn AssetWatcher>> + Send + Sync>>,
pub watch_warning: Option<&'static str>,
pub processed_watch_warning: Option<&'static str>,
}
Expand description
Metadata about an “asset source”, such as how to construct the AssetReader
and AssetWriter
for the source,
and whether or not the source is processed.
Fields§
§reader: Option<Box<dyn FnMut() -> Box<dyn ErasedAssetReader> + Send + Sync>>
§writer: Option<Box<dyn FnMut(bool) -> Option<Box<dyn ErasedAssetWriter>> + Send + Sync>>
§watcher: Option<Box<dyn FnMut(Sender<AssetSourceEvent>) -> Option<Box<dyn AssetWatcher>> + Send + Sync>>
§processed_reader: Option<Box<dyn FnMut() -> Box<dyn ErasedAssetReader> + Send + Sync>>
§processed_writer: Option<Box<dyn FnMut(bool) -> Option<Box<dyn ErasedAssetWriter>> + Send + Sync>>
§processed_watcher: Option<Box<dyn FnMut(Sender<AssetSourceEvent>) -> Option<Box<dyn AssetWatcher>> + Send + Sync>>
§watch_warning: Option<&'static str>
§processed_watch_warning: Option<&'static str>
Implementations§
source§impl AssetSourceBuilder
impl AssetSourceBuilder
sourcepub fn build(
&mut self,
id: AssetSourceId<'static>,
watch: bool,
watch_processed: bool
) -> Option<AssetSource>
pub fn build( &mut self, id: AssetSourceId<'static>, watch: bool, watch_processed: bool ) -> Option<AssetSource>
Builds a new AssetSource
with the given id
. If watch
is true, the unprocessed source will watch for changes.
If watch_processed
is true, the processed source will watch for changes.
sourcepub fn with_reader(
self,
reader: impl FnMut() -> Box<dyn ErasedAssetReader> + Send + Sync + 'static
) -> Self
pub fn with_reader( self, reader: impl FnMut() -> Box<dyn ErasedAssetReader> + Send + Sync + 'static ) -> Self
Will use the given reader
function to construct unprocessed AssetReader
instances.
sourcepub fn with_writer(
self,
writer: impl FnMut(bool) -> Option<Box<dyn ErasedAssetWriter>> + Send + Sync + 'static
) -> Self
pub fn with_writer( self, writer: impl FnMut(bool) -> Option<Box<dyn ErasedAssetWriter>> + Send + Sync + 'static ) -> Self
Will use the given writer
function to construct unprocessed AssetWriter
instances.
sourcepub fn with_watcher(
self,
watcher: impl FnMut(Sender<AssetSourceEvent>) -> Option<Box<dyn AssetWatcher>> + Send + Sync + 'static
) -> Self
pub fn with_watcher( self, watcher: impl FnMut(Sender<AssetSourceEvent>) -> Option<Box<dyn AssetWatcher>> + Send + Sync + 'static ) -> Self
Will use the given watcher
function to construct unprocessed AssetWatcher
instances.
sourcepub fn with_processed_reader(
self,
reader: impl FnMut() -> Box<dyn ErasedAssetReader> + Send + Sync + 'static
) -> Self
pub fn with_processed_reader( self, reader: impl FnMut() -> Box<dyn ErasedAssetReader> + Send + Sync + 'static ) -> Self
Will use the given reader
function to construct processed AssetReader
instances.
sourcepub fn with_processed_writer(
self,
writer: impl FnMut(bool) -> Option<Box<dyn ErasedAssetWriter>> + Send + Sync + 'static
) -> Self
pub fn with_processed_writer( self, writer: impl FnMut(bool) -> Option<Box<dyn ErasedAssetWriter>> + Send + Sync + 'static ) -> Self
Will use the given writer
function to construct processed AssetWriter
instances.
sourcepub fn with_processed_watcher(
self,
watcher: impl FnMut(Sender<AssetSourceEvent>) -> Option<Box<dyn AssetWatcher>> + Send + Sync + 'static
) -> Self
pub fn with_processed_watcher( self, watcher: impl FnMut(Sender<AssetSourceEvent>) -> Option<Box<dyn AssetWatcher>> + Send + Sync + 'static ) -> Self
Will use the given watcher
function to construct processed AssetWatcher
instances.
sourcepub fn with_watch_warning(self, warning: &'static str) -> Self
pub fn with_watch_warning(self, warning: &'static str) -> Self
Enables a warning for the unprocessed source watcher, which will print when watching is enabled and the unprocessed source doesn’t have a watcher.
sourcepub fn with_processed_watch_warning(self, warning: &'static str) -> Self
pub fn with_processed_watch_warning(self, warning: &'static str) -> Self
Enables a warning for the processed source watcher, which will print when watching is enabled and the processed source doesn’t have a watcher.
sourcepub fn platform_default(path: &str, processed_path: Option<&str>) -> Self
pub fn platform_default(path: &str, processed_path: Option<&str>) -> Self
Returns a builder containing the “platform default source” for the given path
and processed_path
.
For most platforms, this will use FileAssetReader
/ FileAssetWriter
,
but some platforms (such as Android) have their own default readers / writers / watchers.
Trait Implementations§
source§impl Default for AssetSourceBuilder
impl Default for AssetSourceBuilder
source§fn default() -> AssetSourceBuilder
fn default() -> AssetSourceBuilder
Auto Trait Implementations§
impl Freeze for AssetSourceBuilder
impl !RefUnwindSafe for AssetSourceBuilder
impl Send for AssetSourceBuilder
impl Sync for AssetSourceBuilder
impl Unpin for AssetSourceBuilder
impl !UnwindSafe for AssetSourceBuilder
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
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)
fn as_any(&self) -> &(dyn Any + 'static)
&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)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&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> DowncastSync for T
impl<T> DowncastSync for T
source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Self
using data from the given World
.