Struct bevy::ecs::prelude::SystemStage
pub struct SystemStage { /* private fields */ }
Expand description
Stores and executes systems. Execution order is not defined unless explicitly specified;
see SystemDescriptor
documentation.
Implementations§
§impl SystemStage
impl SystemStage
pub 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
.
§impl SystemStage
impl SystemStage
pub fn new(
executor: Box<dyn ParallelSystemExecutor + 'static, Global>
) -> SystemStage
pub fn single<Params>(system: impl IntoSystemDescriptor<Params>) -> SystemStage
pub fn single_threaded() -> SystemStage
pub fn parallel() -> SystemStage
pub fn get_executor<T>(&self) -> Option<&T>where
T: ParallelSystemExecutor,
pub fn get_executor_mut<T>(&mut self) -> Option<&mut T>where
T: ParallelSystemExecutor,
pub fn set_executor(
&mut self,
executor: Box<dyn ParallelSystemExecutor + 'static, Global>
)
pub fn set_must_read_resource(&mut self, resource_id: ComponentId)
pub fn with_system<Params>(
self,
system: impl IntoSystemDescriptor<Params>
) -> SystemStage
pub fn add_system<Params>(
&mut self,
system: impl IntoSystemDescriptor<Params>
) -> &mut SystemStage
pub fn apply_buffers(&mut self, world: &mut World)
pub fn set_apply_buffers(&mut self, apply_buffers: bool)
pub 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.
pub 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.
pub 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.
pub 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) -> SystemStage
pub fn add_system_set(&mut self, system_set: SystemSet) -> &mut SystemStage
pub fn with_run_criteria<Param, S>(self, system: S) -> SystemStagewhere
S: IntoSystem<(), ShouldRun, Param>,
pub fn set_run_criteria<Param, S>(&mut self, system: S) -> &mut SystemStagewhere
S: IntoSystem<(), ShouldRun, Param>,
pub fn with_system_run_criteria(
self,
run_criteria: RunCriteriaDescriptor
) -> SystemStage
pub fn add_system_run_criteria(
&mut self,
run_criteria: RunCriteriaDescriptor
) -> &mut SystemStage
pub fn vec_system_container_debug(
&self,
name: &str,
v: &Vec<SystemContainer, Global>,
f: &mut Formatter<'_>
) -> Result<(), Error>
Trait Implementations§
§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§
§impl<T, U> AsBindGroupShaderType<U> for Twhere
U: ShaderType,
&'a T: for<'a> Into<U>,
impl<T, U> AsBindGroupShaderType<U> for Twhere
U: ShaderType,
&'a T: for<'a> Into<U>,
§fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
T
ShaderType
for self
. When used in AsBindGroup
derives, it is safe to assume that all images in self
exist. Read more§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 more§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 more§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 more§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