From ac2951451cc1fc26b6d8a7a0aa1267535b36b3d1 Mon Sep 17 00:00:00 2001 From: Justin Worthe Date: Thu, 17 May 2018 00:01:52 +0200 Subject: Improved perf of removing item from unoccupied cells list --- src/engine/mod.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/engine') diff --git a/src/engine/mod.rs b/src/engine/mod.rs index 227a7f6..6626c0d 100644 --- a/src/engine/mod.rs +++ b/src/engine/mod.rs @@ -165,7 +165,9 @@ impl GameState { player.energy_generated += building.energy_generated_per_turn; buildings.push(building); } - unoccupied_cells.retain(|&pos| pos != p); + + let to_remove_index = unoccupied_cells.iter().position(|&pos| pos == p).unwrap(); + unoccupied_cells.swap_remove(to_remove_index); }, } } -- cgit v1.2.3