An Entity Component System for Rust. Fast, easy, and predictable.
unsafe
```rust struct Health(f32); struct Name(String); struct CreepySnakeHair(u32);
let mut world = World::new();
// Create entities with components. world.spawn((Name("Perseus".tostring()), Health(50.))); world.spawn(( Name("Medusa".tostring()), Health(100.), CreepySnakeHair(300), ));
// Find every entity with a Name
and a Health
component.
let mut query = world.query::<(&Name, &Health)>().unwrap();
// Iterate through all entities with those components. for (name, health) in query.iter() { println!("{}'s health is: {:?}", name.0, health.0); } ```
Kudo
was inspired by the library hecs
. If you need a more feature-rich ECS, give hecs
a try!