Expand description
Entity Component System based on sparse sets.
use sparsey::prelude::*;
struct Position(f32);
struct Velocity(f32);
fn main() {
let mut entities = EntityStorage::default();
entities.register::<Position>();
entities.register::<Velocity>();
entities.create((Position(0.0),));
entities.create((Position(0.0), Velocity(1.0)));
entities.create((Position(0.0), Velocity(2.0)));
entities.run(|mut positions: CompMut<Position>, velocities: Comp<Velocity>| {
(&mut positions, &velocities).for_each(|(position, velocity)| {
position.0 += velocity.0;
});
});
}
Modules§
- Manages entities and their associated components.
- Re-exports the most commonly used items.
- Handles querying and iterating sets of components.
- Manages resources.
- Hadles functions that borrow data from a registry during execution.
- Various utilities.
Structs§
- Storage for entities and resources.