From f0153eefd580ec443b380504303620a61f24630b Mon Sep 17 00:00:00 2001 From: troido Date: Mon, 3 Feb 2020 16:13:58 +0100 Subject: refactored systems in their own file each --- src/systems/clearcontrols.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/systems/clearcontrols.rs (limited to 'src/systems/clearcontrols.rs') diff --git a/src/systems/clearcontrols.rs b/src/systems/clearcontrols.rs new file mode 100644 index 0000000..ec2bb68 --- /dev/null +++ b/src/systems/clearcontrols.rs @@ -0,0 +1,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); + } + } +} + + -- cgit