summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJustin Worthe <justin@worthe-it.co.za>2018-05-31 21:25:14 +0200
committerJustin Worthe <justin@worthe-it.co.za>2018-05-31 21:25:14 +0200
commita2207673af2da6121544aecd2d5370e98926041e (patch)
tree371cd630ba1be60cd0ccb5c9947d93df7c85a39b /src
parent7b95465d47af0c1e74f1d2e4c76fdb7a9b6e960c (diff)
Change to finding affordable buildings to avoid a resize
Diffstat (limited to 'src')
-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
}
}