rename add_plugin_group to add_plugins (#773)

This commit is contained in:
Carter Anderson 2020-11-02 19:01:17 -08:00 committed by GitHub
parent 9871e7e24b
commit 66f2f76a18
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
50 changed files with 55 additions and 55 deletions

View File

@ -272,14 +272,14 @@ impl AppBuilder {
self self
} }
pub fn add_plugin_group<T: PluginGroup>(&mut self, mut group: T) -> &mut Self { pub fn add_plugins<T: PluginGroup>(&mut self, mut group: T) -> &mut Self {
let mut plugin_group_builder = PluginGroupBuilder::default(); let mut plugin_group_builder = PluginGroupBuilder::default();
group.build(&mut plugin_group_builder); group.build(&mut plugin_group_builder);
plugin_group_builder.finish(self); plugin_group_builder.finish(self);
self self
} }
pub fn add_plugin_group_with<T, F>(&mut self, mut group: T, func: F) -> &mut Self pub fn add_plugins_with<T, F>(&mut self, mut group: T, func: F) -> &mut Self
where where
T: PluginGroup, T: PluginGroup,
F: FnOnce(&mut PluginGroupBuilder) -> &mut PluginGroupBuilder, F: FnOnce(&mut PluginGroupBuilder) -> &mut PluginGroupBuilder,

View File

@ -2,7 +2,7 @@ use bevy::prelude::*;
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_startup_system(setup.system()) .add_startup_system(setup.system())
.run(); .run();
} }

View File

@ -2,7 +2,7 @@ use bevy::prelude::*;
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_startup_system(setup.system()) .add_startup_system(setup.system())
.add_system(animate_sprite_system.system()) .add_system(animate_sprite_system.system())
.run(); .run();

View File

@ -4,7 +4,7 @@ use bevy::{asset::LoadState, prelude::*, sprite::TextureAtlasBuilder};
fn main() { fn main() {
App::build() App::build()
.init_resource::<RpgSpriteHandles>() .init_resource::<RpgSpriteHandles>()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_startup_system(setup.system()) .add_startup_system(setup.system())
.add_system(load_atlas.system()) .add_system(load_atlas.system())
.run(); .run();

View File

@ -3,7 +3,7 @@ use bevy::prelude::*;
fn main() { fn main() {
App::build() App::build()
.add_resource(Msaa { samples: 4 }) .add_resource(Msaa { samples: 4 })
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_startup_system(setup.system()) .add_startup_system(setup.system())
.run(); .run();
} }

View File

@ -3,7 +3,7 @@ use bevy::prelude::*;
fn main() { fn main() {
App::build() App::build()
.add_resource(Msaa { samples: 4 }) .add_resource(Msaa { samples: 4 })
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_startup_system(setup.system()) .add_startup_system(setup.system())
.run(); .run();
} }

View File

@ -6,7 +6,7 @@ use bevy::prelude::*;
fn main() { fn main() {
App::build() App::build()
.add_resource(Msaa { samples: 4 }) .add_resource(Msaa { samples: 4 })
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_startup_system(setup.system()) .add_startup_system(setup.system())
.run(); .run();
} }

View File

@ -5,7 +5,7 @@ use bevy::prelude::*;
fn main() { fn main() {
App::build() App::build()
.add_resource(Msaa { samples: 4 }) .add_resource(Msaa { samples: 4 })
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_startup_system(setup.system()) .add_startup_system(setup.system())
.add_system(rotator_system.system()) .add_system(rotator_system.system())
.run(); .run();

View File

@ -10,7 +10,7 @@ use rand::{rngs::StdRng, Rng, SeedableRng};
/// NOTE: Bevy still has a number of optimizations to do in this area. Expect the performance here to go way up in the future /// NOTE: Bevy still has a number of optimizations to do in this area. Expect the performance here to go way up in the future
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_plugin(FrameTimeDiagnosticsPlugin::default()) .add_plugin(FrameTimeDiagnosticsPlugin::default())
.add_plugin(PrintDiagnosticsPlugin::default()) .add_plugin(PrintDiagnosticsPlugin::default())
.add_startup_system(setup.system()) .add_startup_system(setup.system())

View File

@ -3,7 +3,7 @@ use bevy::prelude::*;
/// This example shows various ways to configure texture materials in 3D /// This example shows various ways to configure texture materials in 3D
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_startup_system(setup.system()) .add_startup_system(setup.system())
.run(); .run();
} }

View File

@ -9,7 +9,7 @@ use bevy::{
/// This example visualizes camera z-ordering by setting the material of rotating cubes to their distance from the camera /// This example visualizes camera z-ordering by setting the material of rotating cubes to their distance from the camera
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_startup_system(setup.system()) .add_startup_system(setup.system())
.add_system(rotator_system.system()) .add_system(rotator_system.system())
.add_system(camera_order_color_system.system()) .add_system(camera_order_color_system.system())

View File

@ -1,5 +1,5 @@
use bevy::prelude::*; use bevy::prelude::*;
fn main() { fn main() {
App::build().add_plugin_group(DefaultPlugins).run(); App::build().add_plugins(DefaultPlugins).run();
} }

View File

@ -13,7 +13,7 @@ fn main() {
// this app runs once // this app runs once
App::build() App::build()
.add_resource(ScheduleRunnerSettings::run_once()) .add_resource(ScheduleRunnerSettings::run_once())
.add_plugin_group(MinimalPlugins) .add_plugins(MinimalPlugins)
.add_system(hello_world_system.system()) .add_system(hello_world_system.system())
.run(); .run();
@ -22,7 +22,7 @@ fn main() {
.add_resource(ScheduleRunnerSettings::run_loop(Duration::from_secs_f64( .add_resource(ScheduleRunnerSettings::run_loop(Duration::from_secs_f64(
1.0 / 60.0, 1.0 / 60.0,
))) )))
.add_plugin_group(MinimalPlugins) .add_plugins(MinimalPlugins)
.add_system(counter.system()) .add_system(counter.system())
.run(); .run();
} }

View File

@ -6,7 +6,7 @@ use std::time::Duration;
/// This example illustrates how to create a simple plugin that prints out a message. /// This example illustrates how to create a simple plugin that prints out a message.
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
// plugins are registered as part of the "app building" process // plugins are registered as part of the "app building" process
.add_plugin(PrintMessagePlugin { .add_plugin(PrintMessagePlugin {
wait_duration: Duration::from_secs(1), wait_duration: Duration::from_secs(1),

View File

@ -4,11 +4,11 @@ use bevy::{app::PluginGroupBuilder, prelude::*};
fn main() { fn main() {
App::build() App::build()
// Two PluginGroups that are included with bevy are DefaultPlugins and MinimalPlugins // Two PluginGroups that are included with bevy are DefaultPlugins and MinimalPlugins
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
// Adding a plugin group adds all plugins in the group by default // Adding a plugin group adds all plugins in the group by default
.add_plugin_group(HelloWorldPlugins) .add_plugins(HelloWorldPlugins)
// You can also modify a PluginGroup (such as disabling plugins) like this: // You can also modify a PluginGroup (such as disabling plugins) like this:
// .add_plugin_group_with(HelloWorldPlugins, |group| { // .add_plugins_with(HelloWorldPlugins, |group| {
// group // group
// .disable::<PrintWorldPlugin>() // .disable::<PrintWorldPlugin>()
// .add_before::<PrintHelloPlugin, _>(bevy::diagnostic::PrintDiagnosticsPlugin::default()) // .add_before::<PrintHelloPlugin, _>(bevy::diagnostic::PrintDiagnosticsPlugin::default())

View File

@ -7,7 +7,7 @@ fn main() {
return_from_run: true, return_from_run: true,
}) })
.add_resource(ClearColor(Color::rgb(0.2, 0.2, 0.8))) .add_resource(ClearColor(Color::rgb(0.2, 0.2, 0.8)))
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.run(); .run();
println!("Running another App."); println!("Running another App.");
App::build() App::build()
@ -15,7 +15,7 @@ fn main() {
return_from_run: true, return_from_run: true,
}) })
.add_resource(ClearColor(Color::rgb(0.2, 0.8, 0.2))) .add_resource(ClearColor(Color::rgb(0.2, 0.8, 0.2)))
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.run(); .run();
println!("Done."); println!("Done.");
} }

View File

@ -5,6 +5,6 @@ use bevy::prelude::*;
fn main() { fn main() {
App::build() App::build()
.add_resource(DefaultTaskPoolOptions::with_num_threads(4)) .add_resource(DefaultTaskPoolOptions::with_num_threads(4))
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.run(); .run();
} }

View File

@ -4,7 +4,7 @@ use bevy::prelude::*;
fn main() { fn main() {
App::build() App::build()
.add_resource(Msaa { samples: 4 }) .add_resource(Msaa { samples: 4 })
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_startup_system(setup.system()) .add_startup_system(setup.system())
.run(); .run();
} }

View File

@ -35,7 +35,7 @@ impl AssetLoader for CustomAssetLoader {
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.init_resource::<State>() .init_resource::<State>()
.add_asset::<CustomAsset>() .add_asset::<CustomAsset>()
.init_asset_loader::<CustomAssetLoader>() .init_asset_loader::<CustomAssetLoader>()

View File

@ -5,7 +5,7 @@ use bevy::prelude::*;
/// This example illustrates hot reloading mesh changes. /// This example illustrates hot reloading mesh changes.
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_startup_system(setup.system()) .add_startup_system(setup.system())
.run(); .run();
} }

View File

@ -3,7 +3,7 @@ use bevy::prelude::*;
/// This example illustrates how to load and play an audio file /// This example illustrates how to load and play an audio file
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_startup_system(setup.system()) .add_startup_system(setup.system())
.run(); .run();
} }

View File

@ -6,7 +6,7 @@ use bevy::{
/// This example illustrates how to create a custom diagnostic /// This example illustrates how to create a custom diagnostic
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
// The "print diagnostics" plugin is optional. It just visualizes our diagnostics in the console // The "print diagnostics" plugin is optional. It just visualizes our diagnostics in the console
.add_plugin(PrintDiagnosticsPlugin::default()) .add_plugin(PrintDiagnosticsPlugin::default())
.add_startup_system(setup_diagnostic_system.system()) .add_startup_system(setup_diagnostic_system.system())

View File

@ -5,7 +5,7 @@ use bevy::{
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
// Adds frame time diagnostics // Adds frame time diagnostics
.add_plugin(FrameTimeDiagnosticsPlugin::default()) .add_plugin(FrameTimeDiagnosticsPlugin::default())
// Adds a system that prints diagnostics to the console // Adds a system that prints diagnostics to the console

View File

@ -4,7 +4,7 @@ use bevy::prelude::*;
/// and a system that prints a message whenever the event is received. /// and a system that prints a message whenever the event is received.
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_event::<MyEvent>() .add_event::<MyEvent>()
.init_resource::<EventTriggerState>() .init_resource::<EventTriggerState>()
.add_system(event_trigger_system.system()) .add_system(event_trigger_system.system())

View File

@ -2,7 +2,7 @@ use bevy::prelude::*;
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_startup_system(setup.system()) .add_startup_system(setup.system())
.add_system(rotate.system()) .add_system(rotate.system())
.run(); .run();

View File

@ -73,7 +73,7 @@ fn bounce_system(
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_startup_system(spawn_system.system()) .add_startup_system(spawn_system.system())
.add_system(move_system.system()) .add_system(move_system.system())
.add_system(bounce_system.system()) .add_system(bounce_system.system())

View File

@ -7,7 +7,7 @@ use bevy::{
/// An implementation of the classic game "Breakout" /// An implementation of the classic game "Breakout"
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_resource(Scoreboard { score: 0 }) .add_resource(Scoreboard { score: 0 })
.add_resource(ClearColor(Color::rgb(0.9, 0.9, 0.9))) .add_resource(ClearColor(Color::rgb(0.9, 0.9, 0.9)))
.add_startup_system(setup.system()) .add_startup_system(setup.system())

View File

@ -4,7 +4,7 @@ use bevy_utils::HashSet;
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.init_resource::<GamepadLobby>() .init_resource::<GamepadLobby>()
.add_system_to_stage(stage::PRE_UPDATE, connection_system.system()) .add_system_to_stage(stage::PRE_UPDATE, connection_system.system())
.add_system(gamepad_system.system()) .add_system(gamepad_system.system())

View File

@ -3,7 +3,7 @@ use bevy_input::gamepad::{GamepadEvent, GamepadEventType};
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_system(gamepad_events.system()) .add_system(gamepad_events.system())
.run(); .run();
} }

View File

@ -5,7 +5,7 @@ use bevy::{
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_system(keyboard_input_system.system()) .add_system(keyboard_input_system.system())
.run(); .run();
} }

View File

@ -2,7 +2,7 @@ use bevy::{input::keyboard::KeyboardInput, prelude::*};
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_system(print_keyboard_event_system.system()) .add_system(print_keyboard_event_system.system())
.run(); .run();
} }

View File

@ -2,7 +2,7 @@ use bevy::prelude::*;
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_system(mouse_click_system.system()) .add_system(mouse_click_system.system())
.run(); .run();
} }

View File

@ -6,7 +6,7 @@ use bevy::{
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_system(print_mouse_events_system.system()) .add_system(print_mouse_events_system.system())
.run(); .run();
} }

View File

@ -2,7 +2,7 @@ use bevy::{input::touch::*, prelude::*};
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_system(touch_system.system()) .add_system(touch_system.system())
.run(); .run();
} }

View File

@ -2,7 +2,7 @@ use bevy::{input::touch::*, prelude::*};
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_system(touch_event_system.system()) .add_system(touch_event_system.system())
.run(); .run();
} }

View File

@ -17,7 +17,7 @@ extern "C" fn main_rs() {
..Default::default() ..Default::default()
}) })
.add_resource(Msaa { samples: 4 }) .add_resource(Msaa { samples: 4 })
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_startup_system(setup.system()) .add_startup_system(setup.system())
.run(); .run();
} }

View File

@ -11,7 +11,7 @@ use serde::{Deserialize, Serialize};
/// familiar with "reflection" in other languages, Properties are very similar to that concept. /// familiar with "reflection" in other languages, Properties are very similar to that concept.
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
// If you need to deserialize custom property types, register them like this: // If you need to deserialize custom property types, register them like this:
.register_property::<Test>() .register_property::<Test>()
.register_property::<Nested>() .register_property::<Nested>()

View File

@ -3,7 +3,7 @@ use bevy::{prelude::*, type_registry::TypeRegistry};
/// This example illustrates loading and saving scenes from files /// This example illustrates loading and saving scenes from files
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
// Registering components informs Bevy that they exist. This allows them to be used when loading scenes // Registering components informs Bevy that they exist. This allows them to be used when loading scenes
// This step is only required if you want to load your components from scene files. // This step is only required if you want to load your components from scene files.
// Unregistered components can still be used in your code, but they will be ignored during scene save/load. // Unregistered components can still be used in your code, but they will be ignored during scene save/load.

View File

@ -13,7 +13,7 @@ use bevy::{
/// This example illustrates how to add a custom attribute to a mesh and use it in a custom shader. /// This example illustrates how to add a custom attribute to a mesh and use it in a custom shader.
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_asset::<MyMaterialWithVertexColorSupport>() .add_asset::<MyMaterialWithVertexColorSupport>()
.add_startup_system(setup.system()) .add_startup_system(setup.system())
.run(); .run();

View File

@ -13,7 +13,7 @@ use bevy::{
/// This example illustrates how to create a custom material asset and a shader that uses that material /// This example illustrates how to create a custom material asset and a shader that uses that material
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_asset::<MyMaterial>() .add_asset::<MyMaterial>()
.add_startup_system(setup.system()) .add_startup_system(setup.system())
.run(); .run();

View File

@ -14,7 +14,7 @@ use bevy::{
/// In Bevy, "shader defs" are a way to selectively enable parts of a shader based on values set in a component or asset. /// In Bevy, "shader defs" are a way to selectively enable parts of a shader based on values set in a component or asset.
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_asset::<MyMaterial>() .add_asset::<MyMaterial>()
.add_startup_system(setup.system()) .add_startup_system(setup.system())
.add_system_to_stage( .add_system_to_stage(

View File

@ -3,7 +3,7 @@ use bevy::prelude::*;
/// This example illustrates how to create a button that changes color and text based on its interaction state. /// This example illustrates how to create a button that changes color and text based on its interaction state.
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.init_resource::<ButtonMaterials>() .init_resource::<ButtonMaterials>()
.add_startup_system(setup.system()) .add_startup_system(setup.system())
.add_system(button_system.system()) .add_system(button_system.system())

View File

@ -4,7 +4,7 @@ use bevy::{prelude::*, text::FontAtlasSet};
fn main() { fn main() {
App::build() App::build()
.init_resource::<State>() .init_resource::<State>()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_startup_system(setup.system()) .add_startup_system(setup.system())
.add_system(text_update_system.system()) .add_system(text_update_system.system())
.add_system(atlas_render_system.system()) .add_system(atlas_render_system.system())

View File

@ -6,7 +6,7 @@ use bevy::{
/// This example illustrates how to create text and update it in a system. It displays the current FPS in the upper left hand corner. /// This example illustrates how to create text and update it in a system. It displays the current FPS in the upper left hand corner.
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_plugin(FrameTimeDiagnosticsPlugin::default()) .add_plugin(FrameTimeDiagnosticsPlugin::default())
.add_startup_system(setup.system()) .add_startup_system(setup.system())
.add_system(text_update_system.system()) .add_system(text_update_system.system())

View File

@ -3,7 +3,7 @@ use bevy::prelude::*;
/// This example illustrates the various features of Bevy UI. /// This example illustrates the various features of Bevy UI.
fn main() { fn main() {
App::build() App::build()
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_startup_system(setup.system()) .add_startup_system(setup.system())
.run(); .run();
} }

View File

@ -19,7 +19,7 @@ fn main() {
.add_resource(AssetServerSettings { .add_resource(AssetServerSettings {
asset_folder: "/".to_string(), asset_folder: "/".to_string(),
}) })
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_asset::<RustSourceCode>() .add_asset::<RustSourceCode>()
.init_asset_loader::<RustSourceCodeLoader>() .init_asset_loader::<RustSourceCodeLoader>()
.add_startup_system(load_asset.system()) .add_startup_system(load_asset.system())

View File

@ -22,7 +22,7 @@ fn main() {
height: 300, height: 300,
..Default::default() ..Default::default()
}) })
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
// One time greet // One time greet
.add_startup_system(hello_wasm_system.system()) .add_startup_system(hello_wasm_system.system())
// Track ticks (sanity check, whether game loop is running) // Track ticks (sanity check, whether game loop is running)

View File

@ -3,6 +3,6 @@ use bevy::{prelude::*, render::pass::ClearColor};
fn main() { fn main() {
App::build() App::build()
.add_resource(ClearColor(Color::rgb(0.5, 0.5, 0.9))) .add_resource(ClearColor(Color::rgb(0.5, 0.5, 0.9)))
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.run(); .run();
} }

View File

@ -16,7 +16,7 @@ use bevy::{
fn main() { fn main() {
App::build() App::build()
.add_resource(Msaa { samples: 4 }) .add_resource(Msaa { samples: 4 })
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_startup_system(setup.system()) .add_startup_system(setup.system())
.run(); .run();
} }

View File

@ -11,7 +11,7 @@ fn main() {
resizable: false, resizable: false,
..Default::default() ..Default::default()
}) })
.add_plugin_group(DefaultPlugins) .add_plugins(DefaultPlugins)
.add_system(change_title.system()) .add_system(change_title.system())
.add_system(toggle_cursor.system()) .add_system(toggle_cursor.system())
.run(); .run();