From 33c1054d528efd896415baf08d4a52e1cdd7b801 Mon Sep 17 00:00:00 2001 From: troido Date: Tue, 22 Sep 2020 14:34:53 +0200 Subject: turned some math into if let to decrease indentation --- src/systems/moving.rs | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) (limited to 'src/systems/moving.rs') diff --git a/src/systems/moving.rs b/src/systems/moving.rs index ccd29d6..eb7ccef 100644 --- a/src/systems/moving.rs +++ b/src/systems/moving.rs @@ -46,22 +46,19 @@ impl <'a> System<'a> for Move { moved.clear(); entered.clear(); for (ent, controller, mut position, movable) in (&entities, &controllers, &mut positions, &movables).join(){ - match &controller.control { - Control::Move(direction) => { - let newpos = position.pos + direction.to_position(); - let ground_flags = ground.flags_on(newpos, &flags); - if !ground_flags.contains(&Flag::Blocking) && ground_flags.contains(&Flag::Floor) { - moved.insert(ent, Moved{from: position.pos}).expect("can't insert Moved"); - ground.remove(&position.pos, ent); - position.pos = newpos; - ground.insert(newpos, ent); - for ent in ground.cells.get(&newpos).unwrap() { - let _ = entered.insert(*ent, Entered); - } - cooldowns.insert(ent, ControlCooldown{amount: movable.cooldown}).unwrap(); + if let Control::Move(direction) = &controller.control { + let newpos = position.pos + direction.to_position(); + let ground_flags = ground.flags_on(newpos, &flags); + if !ground_flags.contains(&Flag::Blocking) && ground_flags.contains(&Flag::Floor) { + moved.insert(ent, Moved{from: position.pos}).expect("can't insert Moved"); + ground.remove(&position.pos, ent); + position.pos = newpos; + ground.insert(newpos, ent); + for ent in ground.cells.get(&newpos).unwrap() { + let _ = entered.insert(*ent, Entered); } + cooldowns.insert(ent, ControlCooldown{amount: movable.cooldown}).unwrap(); } - _ => {} } } } -- cgit