Type Alias valence::ecs::schedule::OrElse

pub type OrElse<A, B> = CombinatorSystem<OrElseMarker, A, B>;
Expand description

Combines the outputs of two systems using the || operator.

Aliased Type§

struct OrElse<A, B> { /* private fields */ }

Implementations

§

impl<Func, A, B> CombinatorSystem<Func, A, B>

pub const fn new( a: A, b: B, name: Cow<'static, str>, ) -> CombinatorSystem<Func, A, B>

Creates a new system that combines two inner systems.

The returned system will only be usable if Func implements Combine<A, B>.

Trait Implementations

§

impl<Func, A, B> Clone for CombinatorSystem<Func, A, B>
where A: Clone, B: Clone,

§

fn clone(&self) -> CombinatorSystem<Func, A, B>

Clone the combined system. The cloned instance must be .initialize()d before it can run.

1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl<A, B, Func> ReadOnlySystem for CombinatorSystem<Func, A, B>
where Func: Combine<A, B> + 'static, A: ReadOnlySystem, B: ReadOnlySystem,

SAFETY: Both systems are read-only, so any system created by combining them will only read from the world.

§

fn run_readonly(&mut self, input: Self::In, world: &World) -> Self::Out

Runs this system with the given input in the world. Read more
§

impl<A, B, Func> System for CombinatorSystem<Func, A, B>
where Func: Combine<A, B> + 'static, A: System, B: System,

§

type In = <Func as Combine<A, B>>::In

The system’s input. See In for FunctionSystems.
§

type Out = <Func as Combine<A, B>>::Out

The system’s output.
§

fn name(&self) -> Cow<'static, str>

Returns the system’s name.
§

fn component_access(&self) -> &Access<ComponentId>

Returns the system’s component Access.
§

fn archetype_component_access(&self) -> &Access<ArchetypeComponentId>

Returns the system’s archetype component Access.
§

fn is_send(&self) -> bool

Returns true if the system is Send.
§

fn is_exclusive(&self) -> bool

Returns true if the system must be run exclusively.
§

fn has_deferred(&self) -> bool

Returns true if system as deferred buffers
§

unsafe fn run_unsafe( &mut self, input: <CombinatorSystem<Func, A, B> as System>::In, world: UnsafeWorldCell<'_>, ) -> <CombinatorSystem<Func, A, B> as System>::Out

Runs the system with the given input in the world. Unlike System::run, this function can be called in parallel with other systems and may break Rust’s aliasing rules if used incorrectly, making it unsafe to call. Read more
§

fn run<'w>( &mut self, input: <CombinatorSystem<Func, A, B> as System>::In, world: &'w mut World, ) -> <CombinatorSystem<Func, A, B> as System>::Out

Runs the system with the given input in the world. Read more
§

fn apply_deferred(&mut self, world: &mut World)

Applies any Deferred system parameters (or other system buffers) of this system to the world. Read more
§

fn queue_deferred(&mut self, world: DeferredWorld<'_>)

Enqueues any Deferred system parameters (or other system buffers) of this system into the world’s command buffer.
§

fn initialize(&mut self, world: &mut World)

Initialize the system.
§

fn update_archetype_component_access(&mut self, world: UnsafeWorldCell<'_>)

Update the system’s archetype component Access. Read more
§

fn check_change_tick(&mut self, change_tick: Tick)

Checks any Ticks stored on this system and wraps their value if they get too old. Read more
§

fn default_system_sets(&self) -> Vec<Interned<dyn SystemSet>>

Returns the system’s default system sets. Read more
§

fn get_last_run(&self) -> Tick

Gets the tick indicating the last time this system ran.
§

fn set_last_run(&mut self, last_run: Tick)

Overwrites the tick indicating the last time this system ran. Read more
§

fn type_id(&self) -> TypeId

Returns the TypeId of the underlying system type.