Skip to content

drownedNonsense/hopper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hopper

License: GPL v3

ko-fi

Description

A rust ECS library.

Examples

Fibonacci sequence computing

   let mut world = World::<u8, u8, u8>::builder()
       .with_component::<(i32, i32)>()
       .with_flag(0u8, 0u8..1u8)
       .build()?;

   world.new_entity()
       .with_component((4i32, 13i32))?
       .build();

   world.new_entity()
       .with_component((0i32, 1i32))?
       .with_flag(0u8, None)?
       .build();

       
   for _ in 0..20 {

       let query = world.new_query()
           .with_component::<(i32, i32)>()? // will only query entities with component `(i32, i32)`
           .with_flag(0u8, None)?           // will only query entities with flag `0u8` enabled
           .build();

       for component_ptr in query.get_components::<(i32, i32)>()?.iter() {

           let mut component = component_ptr.borrow_mut();
           println!("{}", component.0);

           *component = (component.1, component.0 + component.1);

       } // for ..
   } // for ..

Releases

No releases published

Packages

No packages published

Languages