//! Tools for debugging states.12use bevy_ecs::event::EventReader;3use bevy_state::state::{StateTransitionEvent, States};4use tracing::info;56/// Logs state transitions into console.7///8/// This system is provided to make debugging easier by tracking state changes.9pub fn log_transitions<S: States>(mut transitions: EventReader<StateTransitionEvent<S>>) {10// State internals can generate at most one event (of type) per frame.11let Some(transition) = transitions.read().last() else {12return;13};14let name = core::any::type_name::<S>();15let StateTransitionEvent { exited, entered } = transition;16info!("{} transition: {:?} => {:?}", name, exited, entered);17}181920