From 2a57b6a1cc50ccf340af516c3ba5448fdb376c98 Mon Sep 17 00:00:00 2001 From: Aevyrie Date: Sun, 17 Jul 2022 12:07:10 -0700 Subject: [PATCH] Improve error message and deduplicate --- crates/bevy_ecs/src/world/mod.rs | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/crates/bevy_ecs/src/world/mod.rs b/crates/bevy_ecs/src/world/mod.rs index 65fc71d135b3e4..834e0b2ad39de1 100644 --- a/crates/bevy_ecs/src/world/mod.rs +++ b/crates/bevy_ecs/src/world/mod.rs @@ -1156,17 +1156,24 @@ impl World { result } - /// "Sends" an [event](crate::event). + /// Sends an [Event](crate::event::Event). #[inline] - pub fn event_send(&mut self, event: E) { - self.resource_mut::>().send(event); + pub fn send_event(&mut self, event: E) { + match self.get_resource_mut::>() { + Some(mut events) => events.send(event), + None => { + bevy_utils::tracing::error!( + "Unable to send event `{}`\n\tEvent must be added to the app with `add_event()`\n\thttps://docs.rs/bevy/*/bevy/app/struct.App.html#method.add_event ", + std::any::type_name::() + ) + } + } } - /// Sends the default value of the [event](crate::event). + /// Sends the default value of the [Event](crate::event::Event) of type `E`. #[inline] - pub fn event_send_default(&mut self) { - self.resource_mut::>() - .send_default(); + pub fn send_default_event(&mut self) { + self.send_event(E::default()); } /// # Safety