Latest commit e6bce74
use bevy::{app::PluginGroupBuilder, prelude::*}; /// 这个示例用来演示自定义插件组如何被创建和注册 /// 需要同时注册多个插件时,用插件组(PluginGroups) fn main() { App::new() // bevy中有两个内置插件组:DefaultPlugins 和 MinimalPlugins .add_plugins(DefaultPlugins) // 添加插件组时,默认添加组内所有的插件 .add_plugins(HelloWorldPlugins) // 还可以像这样修改插件组(例如禁用插件): // .add_plugins_with(HelloWorldPlugins, |group| { // group // .disable::<PrintWorldPlugin>() // .add_before::<PrintHelloPlugin, // _>(bevy::diagnostic::LogDiagnosticsPlugin::default()) }) .run(); } /// 插件组,生成“hello world” struct HelloWorldPlugins; impl PluginGroup for HelloWorldPlugins { fn build(&mut self, group: &mut PluginGroupBuilder) { group.add(PrintHelloPlugin).add(PrintWorldPlugin); } } pub struct PrintHelloPlugin; impl Plugin for PrintHelloPlugin { fn build(&self, app: &mut App) { app.add_system(print_hello_system); } } fn print_hello_system() { info!("hello"); } pub struct PrintWorldPlugin; impl Plugin for PrintWorldPlugin { fn build(&self, app: &mut App) { app.add_system(print_world_system); } } fn print_world_system() { info!("world"); }