rmv_bevy_testing_tools/traits/
send_events.rs

1use bevy_ecs::event::{Event, SendBatchIds};
2
3use crate::prelude::TestApp;
4
5pub trait SendEvents {
6    fn send_event_default<E: Event + Default>(&mut self);
7    fn send_event<E: Event>(&mut self, event: E);
8    fn send_event_batch<E: Event>(
9        &mut self,
10        events: impl IntoIterator<Item = E>,
11    ) -> Option<SendBatchIds<E>>;
12}
13
14impl SendEvents for TestApp {
15    fn send_event_default<E: Event + Default>(&mut self) {
16        self.world_mut().send_event_default::<E>();
17    }
18    fn send_event<E: Event>(&mut self, event: E) {
19        self.world_mut().send_event::<E>(event);
20    }
21    fn send_event_batch<E: Event>(
22        &mut self,
23        events: impl IntoIterator<Item = E>,
24    ) -> Option<SendBatchIds<E>> {
25        self.world_mut().send_event_batch(events)
26    }
27}