Skip to content

Commit

Permalink
Initialize+Run systems when running the app (#444)
Browse files Browse the repository at this point in the history
This is required, so Local<> resources get initialized before systems run.
  • Loading branch information
smokku authored Sep 10, 2020
1 parent a9ce7f4 commit 12deb0b
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 4 deletions.
4 changes: 2 additions & 2 deletions crates/bevy_app/src/schedule_runner.rs
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ impl Plugin for ScheduleRunnerPlugin {
let mut app_exit_event_reader = EventReader::<AppExit>::default();
match run_mode {
RunMode::Once => {
app.schedule.run(&mut app.world, &mut app.resources);
app.update();
}
RunMode::Loop { wait } => loop {
let start_time = Instant::now();
Expand All @@ -62,7 +62,7 @@ impl Plugin for ScheduleRunnerPlugin {
}
}

app.schedule.run(&mut app.world, &mut app.resources);
app.update();

if let Some(app_exit_events) = app.resources.get_mut::<Events<AppExit>>() {
if app_exit_event_reader.latest(&app_exit_events).is_some() {
Expand Down
14 changes: 12 additions & 2 deletions examples/app/headless.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,22 @@ fn main() {
.add_plugin(ScheduleRunnerPlugin::run_loop(Duration::from_secs_f64(
1.0 / 60.0,
)))
.add_system(some_other_system.system())
.add_system(counter.system())
.run();
}

fn hello_world_system() {
println!("hello world");
}

fn some_other_system() {}
fn counter(mut state: Local<CounterState>) {
if state.count % 60 == 0 {
println!("{}", state.count);
}
state.count += 1;
}

#[derive(Default)]
struct CounterState {
count: u32,
}

0 comments on commit 12deb0b

Please sign in to comment.