Trait valence::ecs::schedule::IntoSystemSetConfigs
pub trait IntoSystemSetConfigs: Sized {
// Provided methods
fn in_set(self, set: impl SystemSet) -> NodeConfigs<Interned<dyn SystemSet>> { ... }
fn before<M>(
self,
set: impl IntoSystemSet<M>,
) -> NodeConfigs<Interned<dyn SystemSet>> { ... }
fn after<M>(
self,
set: impl IntoSystemSet<M>,
) -> NodeConfigs<Interned<dyn SystemSet>> { ... }
fn before_ignore_deferred<M>(
self,
set: impl IntoSystemSet<M>,
) -> NodeConfigs<Interned<dyn SystemSet>> { ... }
fn after_ignore_deferred<M>(
self,
set: impl IntoSystemSet<M>,
) -> NodeConfigs<Interned<dyn SystemSet>> { ... }
fn run_if<M>(
self,
condition: impl Condition<M>,
) -> NodeConfigs<Interned<dyn SystemSet>> { ... }
fn ambiguous_with<M>(
self,
set: impl IntoSystemSet<M>,
) -> NodeConfigs<Interned<dyn SystemSet>> { ... }
fn ambiguous_with_all(self) -> NodeConfigs<Interned<dyn SystemSet>> { ... }
fn chain(self) -> NodeConfigs<Interned<dyn SystemSet>> { ... }
fn chain_ignore_deferred(
self,
) -> NodeConfigs<Box<dyn System<In = (), Out = ()>>> { ... }
}
Expand description
Types that can convert into a SystemSetConfigs
.
Provided Methods§
fn in_set(self, set: impl SystemSet) -> NodeConfigs<Interned<dyn SystemSet>>
fn in_set(self, set: impl SystemSet) -> NodeConfigs<Interned<dyn SystemSet>>
Add these system sets to the provided set
.
fn before<M>(
self,
set: impl IntoSystemSet<M>,
) -> NodeConfigs<Interned<dyn SystemSet>>
fn before<M>( self, set: impl IntoSystemSet<M>, ) -> NodeConfigs<Interned<dyn SystemSet>>
Runs before all systems in set
. If self
has any systems that produce Commands
or other Deferred
operations, all systems in set
will see their effect.
If automatically inserting apply_deferred
like
this isn’t desired, use before_ignore_deferred
instead.
fn after<M>(
self,
set: impl IntoSystemSet<M>,
) -> NodeConfigs<Interned<dyn SystemSet>>
fn after<M>( self, set: impl IntoSystemSet<M>, ) -> NodeConfigs<Interned<dyn SystemSet>>
Runs before all systems in set
. If set
has any systems that produce Commands
or other Deferred
operations, all systems in self
will see their effect.
If automatically inserting apply_deferred
like
this isn’t desired, use after_ignore_deferred
instead.
fn before_ignore_deferred<M>(
self,
set: impl IntoSystemSet<M>,
) -> NodeConfigs<Interned<dyn SystemSet>>
fn before_ignore_deferred<M>( self, set: impl IntoSystemSet<M>, ) -> NodeConfigs<Interned<dyn SystemSet>>
Run before all systems in set
.
Unlike before
, this will not cause the systems in set
to wait for the
deferred effects of self
to be applied.
fn after_ignore_deferred<M>(
self,
set: impl IntoSystemSet<M>,
) -> NodeConfigs<Interned<dyn SystemSet>>
fn after_ignore_deferred<M>( self, set: impl IntoSystemSet<M>, ) -> NodeConfigs<Interned<dyn SystemSet>>
Run after all systems in set
.
Unlike after
, this may not see the deferred
effects of systems in set
to be applied.
fn run_if<M>(
self,
condition: impl Condition<M>,
) -> NodeConfigs<Interned<dyn SystemSet>>
fn run_if<M>( self, condition: impl Condition<M>, ) -> NodeConfigs<Interned<dyn SystemSet>>
Run the systems in this set(s) only if the Condition
is true
.
The Condition
will be evaluated at most once (per schedule run),
the first time a system in this set(s) prepares to run.
fn ambiguous_with<M>(
self,
set: impl IntoSystemSet<M>,
) -> NodeConfigs<Interned<dyn SystemSet>>
fn ambiguous_with<M>( self, set: impl IntoSystemSet<M>, ) -> NodeConfigs<Interned<dyn SystemSet>>
Suppress warnings and errors that would result from systems in these sets having ambiguities
(conflicting access but indeterminate order) with systems in set
.
fn ambiguous_with_all(self) -> NodeConfigs<Interned<dyn SystemSet>>
fn ambiguous_with_all(self) -> NodeConfigs<Interned<dyn SystemSet>>
Suppress warnings and errors that would result from systems in these sets having ambiguities (conflicting access but indeterminate order) with any other system.
fn chain(self) -> NodeConfigs<Interned<dyn SystemSet>>
fn chain(self) -> NodeConfigs<Interned<dyn SystemSet>>
Treat this collection as a sequence of system sets.
Ordering constraints will be applied between the successive elements.
fn chain_ignore_deferred(
self,
) -> NodeConfigs<Box<dyn System<In = (), Out = ()>>>
fn chain_ignore_deferred( self, ) -> NodeConfigs<Box<dyn System<In = (), Out = ()>>>
Treat this collection as a sequence of systems.
Ordering constraints will be applied between the successive elements.
Unlike chain
this will not add apply_deferred
on the edges.