use bevy::prelude::*;
use bevy_dyn_component::prelude::*;
fn main() {
App::new()
.add_plugins(dynamic_components_plugin)
.add_systems(Main, hello_world)
.run();
}
fn hello_world(world: &mut World) {
let marker0 = world.dynamic_component::<Template>();
world.spawn(()).insert_dynamic(marker0, Template);
let marker1 = world.dynamic_component::<DataTemplate>();
world
.spawn(())
.insert_dynamic(marker1, DataTemplate("Arbitrary data".into()));
let mut query = QueryBuilder::<()>::new(world).with_id(marker0).build();
let marker0_count = query.iter(world).count();
println!("{marker0_count} entities have the marker0 component");
}
#[derive(Component)]
struct Template;
#[allow(dead_code)]
#[derive(Component)]
struct DataTemplate(String);