summaryrefslogtreecommitdiff
path: root/src/systems/remove.rs
blob: 2c531e279be5b2c564e741c58dee5e23d3b3058c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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);
			}
		}
	}
}