Struct bevy_ecs::schedule::SystemStage
source · pub struct SystemStage { /* private fields */ }
Expand description
Stores and executes systems. Execution order is not defined unless explicitly specified;
see SystemDescriptor
documentation.
Implementations§
source§impl SystemStage
impl SystemStage
sourcepub fn report_ambiguities(&self, world: &World)
pub fn report_ambiguities(&self, world: &World)
Logs execution order ambiguities between systems.
The output may be incorrect if this stage has not been initialized with world
.
source§impl SystemStage
impl SystemStage
pub fn new(executor: Box<dyn ParallelSystemExecutor>) -> Self
pub fn single<Params>(system: impl IntoSystemDescriptor<Params>) -> Self
pub fn single_threaded() -> Self
pub fn parallel() -> Self
pub fn get_executor<T: ParallelSystemExecutor>(&self) -> Option<&T>
pub fn get_executor_mut<T: ParallelSystemExecutor>(&mut self) -> Option<&mut T>
pub fn set_executor(&mut self, executor: Box<dyn ParallelSystemExecutor>)
pub fn set_must_read_resource(&mut self, resource_id: ComponentId)
pub fn with_system<Params>(
self,
system: impl IntoSystemDescriptor<Params>
) -> Self
pub fn add_system<Params>(
&mut self,
system: impl IntoSystemDescriptor<Params>
) -> &mut Self
pub fn apply_buffers(&mut self, world: &mut World)
pub fn set_apply_buffers(&mut self, apply_buffers: bool)
sourcepub fn parallel_systems(&self) -> &[SystemContainer]
pub fn parallel_systems(&self) -> &[SystemContainer]
Topologically sorted parallel systems.
Note that systems won’t be fully-formed until the stage has been run at least once.
sourcepub fn exclusive_at_start_systems(&self) -> &[SystemContainer]
pub fn exclusive_at_start_systems(&self) -> &[SystemContainer]
Topologically sorted exclusive systems that want to be run at the start of the stage.
Note that systems won’t be fully-formed until the stage has been run at least once.
sourcepub fn exclusive_at_end_systems(&self) -> &[SystemContainer]
pub fn exclusive_at_end_systems(&self) -> &[SystemContainer]
Topologically sorted exclusive systems that want to be run at the end of the stage.
Note that systems won’t be fully-formed until the stage has been run at least once.
sourcepub fn exclusive_before_commands_systems(&self) -> &[SystemContainer]
pub fn exclusive_before_commands_systems(&self) -> &[SystemContainer]
Topologically sorted exclusive systems that want to be run after parallel systems but before the application of their command buffers.
Note that systems won’t be fully-formed until the stage has been run at least once.
pub fn with_system_set(self, system_set: SystemSet) -> Self
pub fn add_system_set(&mut self, system_set: SystemSet) -> &mut Self
pub fn with_run_criteria<Param, S: IntoSystem<(), ShouldRun, Param>>(
self,
system: S
) -> Self
pub fn set_run_criteria<Param, S: IntoSystem<(), ShouldRun, Param>>(
&mut self,
system: S
) -> &mut Self
pub fn with_system_run_criteria(
self,
run_criteria: RunCriteriaDescriptor
) -> Self
pub fn add_system_run_criteria(
&mut self,
run_criteria: RunCriteriaDescriptor
) -> &mut Self
pub fn vec_system_container_debug(
&self,
name: &str,
v: &Vec<SystemContainer>,
f: &mut Formatter<'_>
) -> Result
Trait Implementations§
source§impl Debug for SystemStage
impl Debug for SystemStage
Auto Trait Implementations§
impl !RefUnwindSafe for SystemStage
impl Send for SystemStage
impl Sync for SystemStage
impl Unpin for SystemStage
impl !UnwindSafe for SystemStage
Blanket Implementations§
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§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 moresource§fn 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 moresource§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. Read moresource§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. Read more