Skip to content

Commit 9871e7e

Browse files
authored
Remove add_default_plugins and add MinimalPlugins for simple "headless" scenarios (#767)
Remove add_default_plugins and add MinimalPlugins for simple "headless" scenarios
1 parent 2f87ff6 commit 9871e7e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+92
-80
lines changed

crates/bevy_app/src/schedule_runner.rs

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,36 +29,42 @@ impl Default for RunMode {
2929
}
3030
}
3131

32-
/// Configures an App to run its [Schedule](bevy_ecs::Schedule) according to a given [RunMode]
33-
#[derive(Default)]
34-
pub struct ScheduleRunnerPlugin {
32+
#[derive(Copy, Clone, Default)]
33+
pub struct ScheduleRunnerSettings {
3534
pub run_mode: RunMode,
3635
}
3736

38-
impl ScheduleRunnerPlugin {
37+
impl ScheduleRunnerSettings {
3938
pub fn run_once() -> Self {
40-
ScheduleRunnerPlugin {
39+
ScheduleRunnerSettings {
4140
run_mode: RunMode::Once,
4241
}
4342
}
4443

4544
pub fn run_loop(wait_duration: Duration) -> Self {
46-
ScheduleRunnerPlugin {
45+
ScheduleRunnerSettings {
4746
run_mode: RunMode::Loop {
4847
wait: Some(wait_duration),
4948
},
5049
}
5150
}
5251
}
5352

53+
/// Configures an App to run its [Schedule](bevy_ecs::Schedule) according to a given [RunMode]
54+
#[derive(Default)]
55+
pub struct ScheduleRunnerPlugin {}
56+
5457
impl Plugin for ScheduleRunnerPlugin {
5558
fn build(&self, app: &mut AppBuilder) {
56-
let run_mode = self.run_mode;
59+
let settings = app
60+
.resources_mut()
61+
.get_or_insert_with(ScheduleRunnerSettings::default)
62+
.to_owned();
5763
app.set_runner(move |mut app: App| {
5864
app.initialize();
5965

6066
let mut app_exit_event_reader = EventReader::<AppExit>::default();
61-
match run_mode {
67+
match settings.run_mode {
6268
RunMode::Once => {
6369
app.update();
6470
}

examples/2d/sprite.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use bevy::prelude::*;
22

33
fn main() {
44
App::build()
5-
.add_default_plugins()
5+
.add_plugin_group(DefaultPlugins)
66
.add_startup_system(setup.system())
77
.run();
88
}

examples/2d/sprite_sheet.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use bevy::prelude::*;
22

33
fn main() {
44
App::build()
5-
.add_default_plugins()
5+
.add_plugin_group(DefaultPlugins)
66
.add_startup_system(setup.system())
77
.add_system(animate_sprite_system.system())
88
.run();

examples/2d/texture_atlas.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use bevy::{asset::LoadState, prelude::*, sprite::TextureAtlasBuilder};
44
fn main() {
55
App::build()
66
.init_resource::<RpgSpriteHandles>()
7-
.add_default_plugins()
7+
.add_plugin_group(DefaultPlugins)
88
.add_startup_system(setup.system())
99
.add_system(load_atlas.system())
1010
.run();

examples/3d/3d_scene.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use bevy::prelude::*;
33
fn main() {
44
App::build()
55
.add_resource(Msaa { samples: 4 })
6-
.add_default_plugins()
6+
.add_plugin_group(DefaultPlugins)
77
.add_startup_system(setup.system())
88
.run();
99
}

examples/3d/load_gltf.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use bevy::prelude::*;
33
fn main() {
44
App::build()
55
.add_resource(Msaa { samples: 4 })
6-
.add_default_plugins()
6+
.add_plugin_group(DefaultPlugins)
77
.add_startup_system(setup.system())
88
.run();
99
}

examples/3d/msaa.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use bevy::prelude::*;
66
fn main() {
77
App::build()
88
.add_resource(Msaa { samples: 4 })
9-
.add_default_plugins()
9+
.add_plugin_group(DefaultPlugins)
1010
.add_startup_system(setup.system())
1111
.run();
1212
}

examples/3d/parenting.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use bevy::prelude::*;
55
fn main() {
66
App::build()
77
.add_resource(Msaa { samples: 4 })
8-
.add_default_plugins()
8+
.add_plugin_group(DefaultPlugins)
99
.add_startup_system(setup.system())
1010
.add_system(rotator_system.system())
1111
.run();

examples/3d/spawner.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use rand::{rngs::StdRng, Rng, SeedableRng};
1010
/// NOTE: Bevy still has a number of optimizations to do in this area. Expect the performance here to go way up in the future
1111
fn main() {
1212
App::build()
13-
.add_default_plugins()
13+
.add_plugin_group(DefaultPlugins)
1414
.add_plugin(FrameTimeDiagnosticsPlugin::default())
1515
.add_plugin(PrintDiagnosticsPlugin::default())
1616
.add_startup_system(setup.system())

examples/3d/texture.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use bevy::prelude::*;
33
/// This example shows various ways to configure texture materials in 3D
44
fn main() {
55
App::build()
6-
.add_default_plugins()
6+
.add_plugin_group(DefaultPlugins)
77
.add_startup_system(setup.system())
88
.run();
99
}

0 commit comments

Comments
 (0)