More documentation work

This commit is contained in:
Tim Blackbird 2025-07-17 16:24:01 +02:00
parent d7b76314d5
commit e50a4d7ac4
3 changed files with 11 additions and 11 deletions

View File

@ -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;

View File

@ -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

View File

@ -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`].