Skip to main content

rmv_bevy_testing_tools/traits/
write_messages.rs

1use bevy_ecs::message::{Message, WriteBatchIds};
2
3use crate::prelude::TestApp;
4
5#[doc = include_str!("./write_messages.md")]
6pub trait WriteMessages {
7    fn write_message_default<E: Message + Default>(&mut self);
8    fn write_message<E: Message>(&mut self, message: E);
9    fn write_message_batch<E: Message>(
10        &mut self,
11        messages: impl IntoIterator<Item = E>,
12    ) -> Option<WriteBatchIds<E>>;
13}
14
15impl WriteMessages for TestApp {
16    fn write_message_default<E: Message + Default>(&mut self) {
17        self.world_mut().write_message_default::<E>();
18    }
19    fn write_message<E: Message>(&mut self, message: E) {
20        self.world_mut().write_message::<E>(message);
21    }
22    fn write_message_batch<E: Message>(
23        &mut self,
24        messages: impl IntoIterator<Item = E>,
25    ) -> Option<WriteBatchIds<E>> {
26        self.world_mut().write_message_batch(messages)
27    }
28}