| Crates.io | af_bevy_plugin_macro |
| lib.rs | af_bevy_plugin_macro |
| version | 0.1.2 |
| created_at | 2024-04-13 13:45:54.43728+00 |
| updated_at | 2024-04-13 14:06:37.134105+00 |
| description | Automates generation of bevy plugins boilerplate. |
| homepage | |
| repository | https://github.com/af-games/af_bevy_plugin_macro |
| max_upload_size | |
| id | 1207625 |
| size | 15,783 |
Automates generation of bevy plugins boilerplate.
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!
AF Bevy Plugin Macro is free, open source and permissively licensed!
All code in this repository is dual-licensed under either:
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.