From bbe7934ec75ec75ce633a59ebee42bfccc14a395 Mon Sep 17 00:00:00 2001
From: Matti Loimaranta <makalo@utu.fi>
Date: Sun, 3 Mar 2019 11:46:16 +0200
Subject: [PATCH] added max levels to upgrades

---
 Assets/Scripts/Upgrades/CollectorUpgrade.cs      | 16 ++++++++++------
 Assets/Scripts/Upgrades/PopulationUpgrade.cs     |  2 +-
 .../Scripts/Upgrades/ResourceCapacityUpgrade.cs  |  2 +-
 Assets/Scripts/Upgrades/RoadUpgrade.cs           |  3 ++-
 Assets/Scripts/Upgrades/Upgrade.cs               |  7 ++-----
 Assets/Scripts/Upgrades/UpgradeTargets.cs        |  2 +-
 6 files changed, 17 insertions(+), 15 deletions(-)

diff --git a/Assets/Scripts/Upgrades/CollectorUpgrade.cs b/Assets/Scripts/Upgrades/CollectorUpgrade.cs
index ab1c34d..b5c72f5 100644
--- a/Assets/Scripts/Upgrades/CollectorUpgrade.cs
+++ b/Assets/Scripts/Upgrades/CollectorUpgrade.cs
@@ -8,12 +8,7 @@ public class CollectorUpgrade : Upgrade
     // Start is called before the first frame update
     void Start()
     {
-
-        UpgradeTargets target = UpgradeTargets.collector;
-        City city = gameObject.GetComponent<City>();
-        int currentLevel = city.GetLevel(target);
-        city.UseResources(GetPrices(currentLevel));
-        city.AddCollector();
+        maxLevelModifier = 4;
     }
 
     // Update is called once per frame
@@ -21,4 +16,13 @@ public class CollectorUpgrade : Upgrade
     {
         
     }
+
+    public void UpgradeCollector()
+    {
+        UpgradeTargets target = UpgradeTargets.collector;
+        City city = gameObject.GetComponent<City>();
+        int currentLevel = city.GetLevel(target);
+        city.UseResources(GetPrices(currentLevel));
+        city.AddCollector();
+    }
 }
diff --git a/Assets/Scripts/Upgrades/PopulationUpgrade.cs b/Assets/Scripts/Upgrades/PopulationUpgrade.cs
index 04377c2..fbda2c4 100644
--- a/Assets/Scripts/Upgrades/PopulationUpgrade.cs
+++ b/Assets/Scripts/Upgrades/PopulationUpgrade.cs
@@ -7,7 +7,7 @@ public class PopulationUpgrade : Upgrade
     // Start is called before the first frame update
     public void Start()
     {
-        
+        maxLevelModifier = 10;
     }
 
     // Update is called once per frame
diff --git a/Assets/Scripts/Upgrades/ResourceCapacityUpgrade.cs b/Assets/Scripts/Upgrades/ResourceCapacityUpgrade.cs
index 6158772..45ac507 100644
--- a/Assets/Scripts/Upgrades/ResourceCapacityUpgrade.cs
+++ b/Assets/Scripts/Upgrades/ResourceCapacityUpgrade.cs
@@ -7,7 +7,7 @@ public class ResourceCapacityUpgrade : Upgrade
     // Start is called before the first frame update
     void Start()
     {
-
+        maxLevelModifier = 4;
     }
 
     // Update is called once per frame
diff --git a/Assets/Scripts/Upgrades/RoadUpgrade.cs b/Assets/Scripts/Upgrades/RoadUpgrade.cs
index 52676a0..329ef10 100644
--- a/Assets/Scripts/Upgrades/RoadUpgrade.cs
+++ b/Assets/Scripts/Upgrades/RoadUpgrade.cs
@@ -4,10 +4,11 @@ using UnityEngine;
 
 public class RoadUpgrade : Upgrade
 {
+
     // Start is called before the first frame update
     void Start()
     {
-        
+        maxLevelModifier = 2;
     }
 
     // Update is called once per frame
diff --git a/Assets/Scripts/Upgrades/Upgrade.cs b/Assets/Scripts/Upgrades/Upgrade.cs
index 085a6a5..0dc875a 100644
--- a/Assets/Scripts/Upgrades/Upgrade.cs
+++ b/Assets/Scripts/Upgrades/Upgrade.cs
@@ -4,11 +4,8 @@ using UnityEngine;
 
 public abstract class Upgrade : MonoBehaviour
 {
-    /*
-    private float baseWoodCost = 10;
-    private float baseStoneCost = 10;
-    private float baseFoodCost = 10;
-    */
+    protected int maxLevelModifier;
+
     private float efficiencyLevel = 1;
 
     private Dictionary<Resources, int> resources = new Dictionary<Resources, int>();
diff --git a/Assets/Scripts/Upgrades/UpgradeTargets.cs b/Assets/Scripts/Upgrades/UpgradeTargets.cs
index ae059aa..57c44cd 100644
--- a/Assets/Scripts/Upgrades/UpgradeTargets.cs
+++ b/Assets/Scripts/Upgrades/UpgradeTargets.cs
@@ -3,5 +3,5 @@ using System.Collections.Generic;
 using UnityEngine;
 
 public enum UpgradeTargets
-    {population, capacity, speed, collector}
+    {population, capacity, speed, collector, city}
 
-- 
GitLab