diff --git a/crates/bevy_ecs/src/event/mod.rs b/crates/bevy_ecs/src/event/mod.rs index 8cb73523b9..88e5fef864 100644 --- a/crates/bevy_ecs/src/event/mod.rs +++ b/crates/bevy_ecs/src/event/mod.rs @@ -1,22 +1,22 @@ -//! Events are that "happens" and can be processed by app logic. +//! Events are things that "happen" and can be processed by app logic. //! //! [Event]s can be triggered on a [`World`](bevy_ecs::world::World) using a method like [`trigger`], //! causing any global [`Observer`] watching that event to run. This allows for push-based //! event handling where observers are immediately notified of events as they happen. //! -//! Event handling behavior can be enabled by implementing the [`EntityEvent`] -//! and [`BufferedEvent`] traits: -//! -//! - [`Event`]: A supertrait for observer events. -//! - [`BroadcastEvent`]: An observer event without an entity target. -//! - [`EntityEvent`]s support targeting specific entities, triggering any observers watching those targets. -//! They are useful for entity-specific event handlers and can even be propagated from one entity to another. -//! - [`BufferedEvent`]s support a pull-based event handling system where events are written using an [`EventWriter`] +//! - [`Event`]: A supertrait for push-based events that trigger global observers added via [`add_observer`]. +//! - [`BroadcastEvent`]: An event without an entity target. Can be used via [`trigger`] +//! - [`EntityEvent`]: An event targeting specific entities, triggering any observers watching those targets. Can be used via [`trigger_targets`]. +//! They can trigger entity-specific observers added via [`observe`] and can be propagated from one entity to another. +//! - [`BufferedEvent`]: Support a pull-based event handling system where events are written using an [`EventWriter`] //! and read later using an [`EventReader`]. This is an alternative to observers that allows efficient batch processing //! of events at fixed points in a schedule. //! //! [`World`]: crate::world::World +//! [`add_observer`]: crate::world::World::add_observer +//! [`observe`]: crate::world::EntityWorldMut::observe //! [`trigger`]: crate::world::World::trigger +//! [`trigger_targets`]: crate::world::World::trigger_targets //! [`Observer`]: crate::observer::Observer mod base; diff --git a/crates/bevy_ecs/src/observer/distributed_storage.rs b/crates/bevy_ecs/src/observer/distributed_storage.rs index 30e81c84c2..0a3ecbc510 100644 --- a/crates/bevy_ecs/src/observer/distributed_storage.rs +++ b/crates/bevy_ecs/src/observer/distributed_storage.rs @@ -211,7 +211,7 @@ pub struct Observer { } impl Observer { - /// Creates a new [`Observer`], which defaults to a "global" observer. This means it will run whenever the event `E` is triggered + /// Creates a new [`Observer`], which defaults to a global observer. This means it will run whenever the event `E` is triggered /// for _any_ entity (or no entity). /// /// # Panics diff --git a/crates/bevy_ecs/src/observer/mod.rs b/crates/bevy_ecs/src/observer/mod.rs index 0f4ffe6cb1..70e405882e 100644 --- a/crates/bevy_ecs/src/observer/mod.rs +++ b/crates/bevy_ecs/src/observer/mod.rs @@ -152,7 +152,7 @@ use crate::{ }; impl World { - /// Spawns a "global" [`Observer`] which will watch for the given event. + /// Spawns a global [`Observer`] which will watch for the given event. /// Returns its [`Entity`] as a [`EntityWorldMut`]. /// /// `system` can be any system whose first parameter is [`On`].