summaryrefslogtreecommitdiff
path: root/src/engine/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/mod.rs')
-rw-r--r--src/engine/mod.rs11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/engine/mod.rs b/src/engine/mod.rs
index e9cafa4..75583e3 100644
--- a/src/engine/mod.rs
+++ b/src/engine/mod.rs
@@ -271,10 +271,13 @@ impl GameState {
}
fn affordable_buildings(energy: u16, settings: &GameSettings) -> Vec<BuildingType> {
- BuildingType::all().iter()
- .filter(|&b| settings.building_settings(*b).price <= energy)
- .cloned()
- .collect()
+ let mut result = Vec::with_capacity(3);
+ for b in BuildingType::all().iter() {
+ if settings.building_settings(*b).price <= energy {
+ result.push(*b);
+ }
+ }
+ result
}
}