blob: ec2bb68bcc23bcb01ad331f1b7e512b9d24f1ea8 (
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
|
use specs::{
WriteStorage,
Entities,
System,
Join
};
use super::super::components::Controller;
pub struct ClearControllers;
impl <'a> System<'a> for ClearControllers {
type SystemData = (Entities<'a>, WriteStorage<'a, Controller>);
fn run(&mut self, (entities, mut controllers): Self::SystemData) {
let mut ents = Vec::new();
for (ent, _controller) in (&*entities, &controllers).join() {
ents.push(ent);
}
for ent in ents {
controllers.remove(ent);
}
}
}
|