| Crates.io | bevy_discovery |
| lib.rs | bevy_discovery |
| version | 0.1.0 |
| created_at | 2021-01-01 12:05:39.920157+00 |
| updated_at | 2021-01-01 12:05:39.920157+00 |
| description | Automatic system discovery and registration for Bevy apps |
| homepage | |
| repository | https://github.com/TheRawMeatball/bevy_discovery |
| max_upload_size | |
| id | 330062 |
| size | 14,677 |
This crate adds #[derive(DiscoveryPlugin)] which will scan the project files for
functions annotated with #[system] and register them automagically.
Example:
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;
| Full rebuild | Incremental | |
| Normal | 198.982 ± 1.167 s | 25.944 ± 1.486 s |
| Discovered | 207.636 ± 3.785 s | 26.546 ± 1.782 s |
These are the compile times for my fork of bevy-robbo, averaged over five runs with a discarded warmup round each using hyperfine.