Struct iyes_progress::ProgressPlugin
source · pub struct ProgressPlugin<S: StateData> {
pub state: S,
pub next_state: Option<S>,
pub track_assets: bool,
}Expand description
Add this plugin to your app, to use this crate for the specified state.
If you have multiple different states that need progress tracking, you can add the plugin for each one.
If you want the optional assets tracking (“assets” cargo feature), enable
it with .track_assets().
Warning: Progress tracking will only work in some stages!
If not using iyes_loopless, it is only allowed in CoreStage::Update.
If using iyes_loopless, it is allowed in all stages after the
StateTransitionStage responsible for your state type, up to and including
CoreStage::Last.
You must ensure to not add any progress-tracked systems to any other stages!
app.add_plugin(ProgressPlugin::new(MyState::GameLoading).continue_to(MyState::InGame));
app.add_plugin(ProgressPlugin::new(MyState::Splash).continue_to(MyState::MainMenu));Fields
state: SThe loading state during which progress will be tracked
next_state: Option<S>The next state to transition to, when all progress completes
track_assets: boolWhether to enable the optional assets tracking feature
Implementations
sourceimpl<S: StateData> ProgressPlugin<S>
impl<S: StateData> ProgressPlugin<S>
sourcepub fn new(state: S) -> Self
pub fn new(state: S) -> Self
Create a ProgressPlugin running during the given State
sourcepub fn continue_to(self, next_state: S) -> Self
pub fn continue_to(self, next_state: S) -> Self
Configure the ProgressPlugin to move on to the given state as soon as all Progress
in the loading state is completed.
Trait Implementations
sourceimpl<S: StateData> Plugin for ProgressPlugin<S>
impl<S: StateData> Plugin for ProgressPlugin<S>
Auto Trait Implementations
impl<S> RefUnwindSafe for ProgressPlugin<S>where
S: RefUnwindSafe,
impl<S> Send for ProgressPlugin<S>
impl<S> Sync for ProgressPlugin<S>
impl<S> Unpin for ProgressPlugin<S>where
S: Unpin,
impl<S> UnwindSafe for ProgressPlugin<S>where
S: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
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. Read morefn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read morefn 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. Read morefn 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. Read more