diff options
Diffstat (limited to 'server/client-lib/src')
-rw-r--r-- | server/client-lib/src/lib.rs | 32 |
1 files changed, 13 insertions, 19 deletions
diff --git a/server/client-lib/src/lib.rs b/server/client-lib/src/lib.rs index 57554aac..4487596c 100644 --- a/server/client-lib/src/lib.rs +++ b/server/client-lib/src/lib.rs @@ -133,10 +133,8 @@ impl Game { } } PacketC::ClearProgress { item } => { - if let Some(slot) = self.get_item(item) { - if let Some(item) = slot { - item.active = None; - } + if let Some(Some(item)) = self.get_item(item) { + item.active = None; } } PacketC::SetProgress { @@ -146,16 +144,14 @@ impl Game { speed, warn, } => { - if let Some(slot) = self.get_item(item) { - if let Some(item) = slot { - item.active = Some(Involvement { - player, - speed, - warn, - position, - recipe: RecipeIndex(0), - }); - } + if let Some(Some(item)) = self.get_item(item) { + item.active = Some(Involvement { + player, + speed, + warn, + position, + recipe: RecipeIndex(0), + }); } } PacketC::UpdateMap { @@ -216,11 +212,9 @@ impl Game { } for player in self.players.values_mut() { - for item in &mut player.items { - if let Some(item) = item { - if let Some(active) = &mut item.active { - active.position += active.speed; - } + for item in player.items.iter_mut().flatten() { + if let Some(active) = &mut item.active { + active.position += active.speed; } } } |