From 07b9bfe3b78f04e29f55d4c33375743b0da0e80f Mon Sep 17 00:00:00 2001 From: timokoesters Date: Mon, 27 May 2019 22:41:19 +0200 Subject: [PATCH] Remove unwrap Former-commit-id: 68d26e366450010d1455c7662dc283cc0e0d9380 --- server/src/lib.rs | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/server/src/lib.rs b/server/src/lib.rs index d92f015545..dadb93d41e 100644 --- a/server/src/lib.rs +++ b/server/src/lib.rs @@ -218,19 +218,21 @@ impl Server { .map(|(entity, dying)| { // Chat message if let Some(player) = ecs.read_storage::().get(entity) { - // While waiting for if-let-chains to be implemented... let msg = if let comp::HealthSource::Attack { by } = dying.cause { - if let Some(attacker) = ecs - .read_storage::() - .get(ecs.entity_from_uid(by.into()).unwrap()) - { - format!("{} was killed by {}", &player.alias, &attacker.alias) - } else { - format!("{} died", &player.alias) - } + ecs.entity_from_uid(by.into()).and_then(|attacker| { + ecs.read_storage::() + .get(attacker) + .map(|attacker_alias| { + format!( + "{} was killed by {}", + &player.alias, &attacker_alias.alias + ) + }) + }) } else { - format!("{} died", &player.alias) - }; + None + } + .unwrap_or(format!("{} died", &player.alias)); clients.notify_registered(ServerMsg::Chat(msg)); }