mirror of
https://github.com/bevyengine/bevy
synced 2024-11-22 04:33:37 +00:00
Initialize+Run systems when running the app (#444)
This is required, so Local<> resources get initialized before systems run.
This commit is contained in:
parent
a9ce7f4e82
commit
12deb0bd91
2 changed files with 14 additions and 4 deletions
|
@ -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();
|
||||
|
@ -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() {
|
||||
|
|
|
@ -20,7 +20,7 @@ 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();
|
||||
}
|
||||
|
||||
|
@ -28,4 +28,14 @@ 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,
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue