diff options
Diffstat (limited to 'server/src/game.rs')
-rw-r--r-- | server/src/game.rs | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/server/src/game.rs b/server/src/game.rs index 370c2e8f..f5670277 100644 --- a/server/src/game.rs +++ b/server/src/game.rs @@ -83,6 +83,12 @@ pub struct Game { pub demands_completed: usize, } +impl Default for Game { + fn default() -> Self { + Self::new() + } +} + impl Game { pub fn new() -> Self { Self { @@ -239,7 +245,7 @@ impl Game { self.tiles.get(&(tile + IVec2::Y)).map(|e| e.kind), self.tiles.get(&(tile + IVec2::X)).map(|e| e.kind), ], - kind: Some(tdata.kind.clone()), + kind: Some(tdata.kind), }); if let Some(item) = &tdata.item { out.push(PacketC::SetItem { @@ -574,13 +580,11 @@ impl Game { } } - return self.end.map(|t| t < Instant::now()).unwrap_or_default(); + self.end.map(|t| t < Instant::now()).unwrap_or_default() } pub fn count_chefs(&self) -> usize { - self.players - .iter() - .map(|(_, p)| if p.character >= 0 { 1 } else { 0 }) + self.players.values().map(|p| if p.character >= 0 { 1 } else { 0 }) .sum() } } @@ -606,7 +610,7 @@ pub fn interact_effect( let this_had_item = this.is_some(); let other_had_item = other.is_some(); - if let Some(effect) = interact(&data, edge, this_tile_kind, this, other, points, automated) { + if let Some(effect) = interact(data, edge, this_tile_kind, this, other, points, automated) { match effect { InteractEffect::Put => { info!("put {this_loc} <- {other_loc}"); |