rmv_bevy_testing_tools/traits/
send_events.rs1use 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}