on_event

Function on_event 

Source
pub fn on_event<T: Message>(reader: MessageReader<'_, '_, T>) -> bool
๐Ÿ‘ŽDeprecated since 0.17.0: Use on_message instead.
Expand description

A SystemCondition-satisfying system that returns true if there are any new events of the given type since it was last called.

ยงExample


app.add_systems(
    my_system.run_if(on_message::<MyMessage>),
);

#[derive(Message)]
struct MyMessage;

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

// No new `MyMessage` events have been push so `my_system` won't run
app.run(&mut world);
assert_eq!(world.resource::<Counter>().0, 0);

world.resource_mut::<Messages<MyMessage>>().write(MyMessage);

// A `MyMessage` event has been pushed so `my_system` will run
app.run(&mut world);
assert_eq!(world.resource::<Counter>().0, 1);