Struct bones_lib::ecs::prelude::SystemStages
pub struct SystemStages {
pub stages: Vec<Box<dyn SystemStage>>,
pub has_started: bool,
pub startup_systems: Vec<StaticSystem<(), ()>>,
pub single_success_systems: Vec<StaticSystem<(), Option<()>>>,
}
Expand description
An ordered collection of SystemStage
s.
Fields§
§stages: Vec<Box<dyn SystemStage>>
The stages in the collection, in the order that they will be run.
has_started: bool
Whether or not the startup systems have been run yet.
startup_systems: Vec<StaticSystem<(), ()>>
The systems that should run at startup.
single_success_systems: Vec<StaticSystem<(), Option<()>>>
Systems that are continously run until they succeed(return Some). These run before all stages. Uses Option to allow for easy usage of ?
.
Implementations§
§impl SystemStages
impl SystemStages
pub fn with_core_stages() -> SystemStages
pub fn with_core_stages() -> SystemStages
Create a SystemStages
collection, initialized with a stage for each CoreStage
.
pub fn add_startup_system<Args, S>(&mut self, system: S) -> &mut SystemStages
pub fn add_startup_system<Args, S>(&mut self, system: S) -> &mut SystemStages
Add a system that will run only once, before all of the other non-startup systems.
pub fn add_single_success_system<Args, S>(
&mut self,
system: S,
) -> &mut SystemStages
pub fn add_single_success_system<Args, S>( &mut self, system: S, ) -> &mut SystemStages
Add a system that will run each frame until it succeeds (returns Some). Runs before all stages. Uses Option to allow for easy usage of ?
.
pub fn add_system_to_stage<Args, S>(
&mut self,
label: impl StageLabel,
system: S,
) -> &mut SystemStages
pub fn add_system_to_stage<Args, S>( &mut self, label: impl StageLabel, system: S, ) -> &mut SystemStages
Add a System
to the stage with the given label.
pub fn insert_stage_before<L, S>(
&mut self,
label: L,
stage: S,
) -> &mut SystemStageswhere
L: StageLabel,
S: SystemStage + 'static,
pub fn insert_stage_before<L, S>(
&mut self,
label: L,
stage: S,
) -> &mut SystemStageswhere
L: StageLabel,
S: SystemStage + 'static,
Insert a new stage, before another existing stage
pub fn insert_stage_after<L, S>(
&mut self,
label: L,
stage: S,
) -> &mut SystemStageswhere
L: StageLabel,
S: SystemStage + 'static,
pub fn insert_stage_after<L, S>(
&mut self,
label: L,
stage: S,
) -> &mut SystemStageswhere
L: StageLabel,
S: SystemStage + 'static,
Insert a new stage, after another existing stage
pub fn reset_remove_all_systems(&mut self)
pub fn reset_remove_all_systems(&mut self)
Remove all systems from all stages, including startup and single success systems. Resets has_started as well, allowing for startup systems to run once again.
pub fn remove_all_systems(&mut self)
pub fn remove_all_systems(&mut self)
Remove all systems from all stages, including startup and single success systems. Does not reset has_started.
Trait Implementations§
§impl Debug for SystemStages
impl Debug for SystemStages
§impl Default for SystemStages
impl Default for SystemStages
§fn default() -> SystemStages
fn default() -> SystemStages
Auto Trait Implementations§
impl Freeze for SystemStages
impl !RefUnwindSafe for SystemStages
impl Send for SystemStages
impl Sync for SystemStages
impl Unpin for SystemStages
impl !UnwindSafe for SystemStages
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
§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
§fn from_world(_world: &World) -> T
fn from_world(_world: &World) -> T
Self
using data from the given World
.