Function bevy::ecs::prelude::not

source ·
pub fn not<Marker, TOut, T>(
    condition: T
) -> AdapterSystem<NotMarker, <T as IntoSystem<(), TOut, Marker>>::System>
where TOut: Not, T: IntoSystem<(), TOut, Marker>,
Expand description

Generates a Condition that inverses the result of passed one.

Example

app.add_systems(
    // `not` will inverse any condition you pass in.
    // Since the condition we choose always returns true
    // this system will never run
    my_system.run_if(not(always)),
);

fn my_system(mut counter: ResMut<Counter>) {
    counter.0 += 1;
}

fn always() -> bool {
    true
}

app.run(&mut world);
assert_eq!(world.resource::<Counter>().0, 0);