use bevy::prelude::*; /// This example creates a new event, a system that triggers the event once per second, /// and a system that prints a message whenever the event is received. fn main() { App::build() .add_plugins(DefaultPlugins) .add_event::() .init_resource::() .add_system(event_trigger_system.system()) .add_system(event_listener_system.system()) .run(); } struct MyEvent { pub message: String, } struct EventTriggerState { event_timer: Timer, } impl Default for EventTriggerState { fn default() -> Self { EventTriggerState { event_timer: Timer::from_seconds(1.0, true), } } } // sends MyEvent every second fn event_trigger_system( time: Res