3 releases
0.1.2 | Apr 13, 2024 |
---|---|
0.1.1 | Apr 13, 2024 |
0.1.0 | Apr 13, 2024 |
#446 in Procedural macros
7KB
55 lines
AF Bevy Plugin Macro
What?
Automates generation of bevy plugins boilerplate.
Usage
Let's say you have a Bevy crate called Foo
consisting of two plugins, ControlPlugin
and DisplayPlugin
. You might write a lib.rs
like this:
use bevy::prelude::*;
pub mod control;
pub use control::*;
pub mod display;
pub use display::*;
pub struct FooPlugins;
use bevy::{app::PluginGroupBuilder, app::PluginGroup};
impl PluginGroup for FooPlugins {
fn build(self) -> PluginGroupBuilder {
PluginGroupBuilder::start::<Self>()
.add(control::ControlPlugin)
.add(display::DisplayPlugin)
}
}
Replace this with:
use bevy::prelude::*;
use af_bevy_plugin_macro::bevy_plugin_group;
bevy_plugin_group!(foo, control, display);
Much better!
License
AF Bevy Plugin Macro is free, open source and permissively licensed!
All code in this repository is dual-licensed under either:
- MIT License (LICENSE-MIT or http://opensource.org/licenses/MIT)
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
at your option. This means you can select the license you prefer! This dual-licensing approach is the de-facto standard in the Rust ecosystem and there are very good reasons to include both.
Dependencies
~0.6–1.1MB
~21K SLoC