Skip to content

Commit e4b489c

Browse files
committed
Improve error message and deduplicate
1 parent 62512d5 commit e4b489c

File tree

1 file changed

+12
-7
lines changed
  • crates/bevy_ecs/src/world

1 file changed

+12
-7
lines changed

crates/bevy_ecs/src/world/mod.rs

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1156,17 +1156,22 @@ impl World {
11561156
result
11571157
}
11581158

1159-
/// "Sends" an [event](crate::event).
1159+
/// Sends an [Event](crate::event::Event).
11601160
#[inline]
1161-
pub fn event_send<E: crate::event::Event>(&mut self, event: E) {
1162-
self.resource_mut::<crate::event::Events<E>>().send(event);
1161+
pub fn send_event<E: crate::event::Event>(&mut self, event: E) {
1162+
match self.get_resource_mut::<crate::event::Events<E>>() {
1163+
Some(mut events) => events.send(event),
1164+
None => bevy_utils::tracing::error!(
1165+
"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 ",
1166+
std::any::type_name::<E>()
1167+
),
1168+
}
11631169
}
11641170

1165-
/// Sends the default value of the [event](crate::event).
1171+
/// Sends the default value of the [Event](crate::event::Event) of type `E`.
11661172
#[inline]
1167-
pub fn event_send_default<E: crate::event::Event + Default>(&mut self) {
1168-
self.resource_mut::<crate::event::Events<E>>()
1169-
.send_default();
1173+
pub fn send_default_event<E: crate::event::Event + Default>(&mut self) {
1174+
self.send_event(E::default());
11701175
}
11711176

11721177
/// # Safety

0 commit comments

Comments
 (0)