#bevy #system #discovery #register #apps #registration #discovery-plugin

bevy_discovery

为 Bevy 应用提供自动系统发现和注册

1 个不稳定版本

0.1.0 2021 年 1 月 1 日

#32 in #registration

MIT 许可证

14KB
256

Bevy Discovery

此包添加了 #[derive(DiscoveryPlugin)],它将扫描项目文件中带有 #[system] 注释的函数,并自动注册它们。示例

use bevy::prelude::*;

#[macro_use]
extern crate bevy_discovery;

fn main() {
    App::build()
        .add_plugin(DiscoveryPlugin)
        .run();
}

#[system]
fn discovered_system() {
    println!("Woo, discovered system!");
}

#[system(stage::POST_UPDATE)]
fn post_update_system() {
    println!("Hey, post update system!");
}

#[derive(DiscoveryPlugin)]
struct DiscoveryPlugin;

编译时间性能

完全重建 增量
正常 198.982 ± 1.167 秒 25.944 ± 1.486 秒
发现 207.636 ± 3.785 秒 26.546 ± 1.782 秒

这些是我 fork 的 bevy-robbo 的编译时间,平均了五次运行,每次运行前都有一个丢弃的预热轮次,使用 hyperfine

依赖

~1–1.6MB
~37K SLoC