diff options
| author | troido <troido@protonmail.com> | 2020-02-08 18:50:58 +0100 |
|---|---|---|
| committer | troido <troido@protonmail.com> | 2020-02-08 18:50:58 +0100 |
| commit | 3ebe9e6f792a0457c6f3b37b6e9d92c83f8694e2 (patch) | |
| tree | aaa81d23a4816ebecacc64593419d3d811b7283b /src/systems/remove.rs | |
| parent | 7dfc7956a7c2df9a1df3ea0b32e0c3d2036fa3ce (diff) | |
don't rebuild the ground each step
Diffstat (limited to 'src/systems/remove.rs')
| -rw-r--r-- | src/systems/remove.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/systems/remove.rs b/src/systems/remove.rs new file mode 100644 index 0000000..2c531e2 --- /dev/null +++ b/src/systems/remove.rs @@ -0,0 +1,27 @@ + +use specs::{ + ReadStorage, + System, + Join, + Entities +}; + +use crate::components::{Removed}; + + + +pub struct Remove; +impl <'a> System<'a> for Remove { + type SystemData = ( + Entities<'a>, + ReadStorage<'a, Removed> + ); + + fn run(&mut self, (entities, removals): Self::SystemData) { + for (ent, _) in (&*entities, &removals).join() { + if let Err(msg) = entities.delete(ent){ + println!("{:?}", msg); + } + } + } +} |
