Skip to content

Commit e1142ad

Browse files
Move event.rs example to FixedTimeStep
Consistency with event_consumer and improves simplicity
1 parent 1da3c34 commit e1142ad

File tree

1 file changed

+10
-24
lines changed

1 file changed

+10
-24
lines changed

examples/ecs/event.rs

Lines changed: 10 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use bevy::core::FixedTimestep;
12
use bevy::prelude::*;
23

34
/// This example creates a new event, a system that triggers the event once per second,
@@ -6,8 +7,11 @@ fn main() {
67
App::build()
78
.add_plugins(DefaultPlugins)
89
.add_event::<MyEvent>()
9-
.init_resource::<EventTriggerState>()
10-
.add_system(event_trigger_system.system())
10+
.add_system(
11+
event_trigger_system
12+
.system()
13+
.with_run_criteria(FixedTimestep::step(1.0)),
14+
)
1115
.add_system(event_listener_system.system())
1216
.run();
1317
}
@@ -16,29 +20,11 @@ struct MyEvent {
1620
pub message: String,
1721
}
1822

19-
struct EventTriggerState {
20-
event_timer: Timer,
21-
}
22-
23-
impl Default for EventTriggerState {
24-
fn default() -> Self {
25-
EventTriggerState {
26-
event_timer: Timer::from_seconds(1.0, true),
27-
}
28-
}
29-
}
30-
3123
// sends MyEvent every second
32-
fn event_trigger_system(
33-
time: Res<Time>,
34-
mut state: ResMut<EventTriggerState>,
35-
mut my_events: EventWriter<MyEvent>,
36-
) {
37-
if state.event_timer.tick(time.delta()).finished() {
38-
my_events.send(MyEvent {
39-
message: "MyEvent just happened!".to_string(),
40-
});
41-
}
24+
fn event_trigger_system(mut my_events: EventWriter<MyEvent>) {
25+
my_events.send(MyEvent {
26+
message: "MyEvent just happened!".to_string(),
27+
});
4228
}
4329

4430
// prints events as they come in

0 commit comments

Comments
 (0)