diff options
| author | troido <troido@protonmail.com> | 2020-09-22 14:34:53 +0200 |
|---|---|---|
| committer | troido <troido@protonmail.com> | 2020-09-22 14:34:53 +0200 |
| commit | 33c1054d528efd896415baf08d4a52e1cdd7b801 (patch) | |
| tree | 9d564a101129ca800f91fa37c4c002747e06c8da /src/systems/moving.rs | |
| parent | 410de5640c76b1501240e39e725350fc58a7e094 (diff) | |
turned some math into if let to decrease indentation
Diffstat (limited to 'src/systems/moving.rs')
| -rw-r--r-- | src/systems/moving.rs | 25 |
1 files changed, 11 insertions, 14 deletions
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(); } - _ => {} } } } |
