summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Worthe <justin@worthe-it.co.za>2018-07-21 12:18:27 +0200
committerJustin Worthe <justin@worthe-it.co.za>2018-07-21 12:18:27 +0200
commitae2872e1e6cd367d15ff177d932088209e325e3c (patch)
treeb6a44f6d78bc36db854e997b1f78f6f576cf9d56
parent8f88b294511b786e8ae518594eceafb8da9d3f34 (diff)
Broke dependency on settings in constructing building
-rw-r--r--src/engine/bitwise_engine.rs15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/engine/bitwise_engine.rs b/src/engine/bitwise_engine.rs
index 4113e14..dd9ba93 100644
--- a/src/engine/bitwise_engine.rs
+++ b/src/engine/bitwise_engine.rs
@@ -50,8 +50,8 @@ impl GameState for BitwiseGameState {
BitwiseGameState::perform_command(settings, &mut self.player, &mut self.player_buildings, player_command);
BitwiseGameState::perform_command(settings, &mut self.opponent, &mut self.opponent_buildings, opponent_command);
- BitwiseGameState::update_construction(settings, &mut self.player_buildings);
- BitwiseGameState::update_construction(settings, &mut self.opponent_buildings);
+ BitwiseGameState::update_construction(&mut self.player_buildings);
+ BitwiseGameState::update_construction(&mut self.opponent_buildings);
BitwiseGameState::fire_teslas(&mut self.player, &mut self.player_buildings, &mut self.opponent, &mut self.opponent_buildings);
@@ -239,21 +239,18 @@ impl BitwiseGameState {
}
}
- fn update_construction(settings: &GameSettings, player_buildings: &mut PlayerBuildings) {
+ fn update_construction(player_buildings: &mut PlayerBuildings) {
let mut buildings_len = player_buildings.unconstructed.len();
for i in (0..buildings_len).rev() {
if player_buildings.unconstructed[i].construction_time_left == 0 {
- //TODO: Avoid blueprint here?
let building_type = player_buildings.unconstructed[i].building_type;
- let blueprint = settings.building_settings(building_type);
+ let health = if building_type == BuildingType::Defence { DEFENCE_HEALTH } else { 1 };
let pos = player_buildings.unconstructed[i].pos;
let bitfield = pos.to_either_bitfield();
- for health_tier in 0..DEFENCE_HEALTH as u8 {
- if blueprint.health > health_tier*MISSILE_DAMAGE {
- player_buildings.buildings[health_tier as usize] |= bitfield;
- }
+ for health_tier in 0..health {
+ player_buildings.buildings[health_tier] |= bitfield;
}
if building_type == BuildingType::Energy {
player_buildings.energy_towers |= bitfield;