diff options
author | Justin Worthe <justin@worthe-it.co.za> | 2018-05-31 21:25:14 +0200 |
---|---|---|
committer | Justin Worthe <justin@worthe-it.co.za> | 2018-05-31 21:25:14 +0200 |
commit | a2207673af2da6121544aecd2d5370e98926041e (patch) | |
tree | 371cd630ba1be60cd0ccb5c9947d93df7c85a39b /src | |
parent | 7b95465d47af0c1e74f1d2e4c76fdb7a9b6e960c (diff) |
Change to finding affordable buildings to avoid a resize
Diffstat (limited to 'src')
-rw-r--r-- | src/engine/mod.rs | 11 |
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 } } |