From 9f0838006905fd039c4e0d87a69338f33e75246d Mon Sep 17 00:00:00 2001 From: Justin Worthe Date: Sat, 9 Jun 2018 10:04:47 +0200 Subject: Added max building price to game settings --- src/engine/settings.rs | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/engine') diff --git a/src/engine/settings.rs b/src/engine/settings.rs index 40256d9..ec62408 100644 --- a/src/engine/settings.rs +++ b/src/engine/settings.rs @@ -1,10 +1,12 @@ use super::geometry::Point; use super::command::BuildingType; +use std::cmp; #[derive(Debug)] pub struct GameSettings { pub size: Point, pub energy_income: u16, + pub max_building_price: u16, pub energy: BuildingSettings, pub defence: BuildingSettings, pub attack: BuildingSettings @@ -22,6 +24,13 @@ pub struct BuildingSettings { } impl GameSettings { + pub fn new(size: Point, energy_income: u16, energy: BuildingSettings, defence: BuildingSettings, attack: BuildingSettings) -> GameSettings { + let max_building_price = cmp::max(cmp::max(energy.price, defence.price), attack.price); + GameSettings { + size, energy_income, max_building_price, + energy, defence, attack + } + } pub fn building_settings(&self, building: BuildingType) -> &BuildingSettings { match building { BuildingType::Defence => &self.defence, -- cgit v1.2.3