diff --git a/Assets/Scripts/Ally/Blacksmith.cs b/Assets/Scripts/Ally/Blacksmith.cs index 4fb6a9f..35ea4f7 100644 --- a/Assets/Scripts/Ally/Blacksmith.cs +++ b/Assets/Scripts/Ally/Blacksmith.cs @@ -2,5 +2,5 @@ public class Blacksmith : ProductionBuilding { - protected override Enum.ResourceNodeType RessourceNodeType { get { return Enum.ResourceNodeType.Rock; } } + protected override Enum.ResourceNodeType[] RessourceNodeType { get { return new Enum.ResourceNodeType[] { Enum.ResourceNodeType.Rock }; } } } \ No newline at end of file diff --git a/Assets/Scripts/Ally/CorruptedFactory.cs b/Assets/Scripts/Ally/CorruptedFactory.cs index 65d9d37..bf328a9 100644 --- a/Assets/Scripts/Ally/CorruptedFactory.cs +++ b/Assets/Scripts/Ally/CorruptedFactory.cs @@ -3,5 +3,5 @@ public class CorruptedFactory : ProductionBuilding { //TODO: Si ceci détermine la resource produite, modifier pour que ce soit un tableau des trois différent types de resources. - protected override Enum.ResourceNodeType RessourceNodeType { get { return Enum.ResourceNodeType.Forest; } } + protected override Enum.ResourceNodeType[] RessourceNodeType { get { return new Enum.ResourceNodeType [] { Enum.ResourceNodeType.Forest, Enum.ResourceNodeType.Rock, Enum.ResourceNodeType.BerryBush}; } } } \ No newline at end of file diff --git a/Assets/Scripts/Ally/Mill.cs b/Assets/Scripts/Ally/Mill.cs index 2eab4e0..12ac468 100644 --- a/Assets/Scripts/Ally/Mill.cs +++ b/Assets/Scripts/Ally/Mill.cs @@ -2,5 +2,5 @@ public class Mill : ProductionBuilding { - protected override Enum.ResourceNodeType RessourceNodeType { get { return Enum.ResourceNodeType.BerryBush; } } + protected override Enum.ResourceNodeType[] RessourceNodeType { get { return new Enum.ResourceNodeType[] { Enum.ResourceNodeType.BerryBush }; } } } \ No newline at end of file diff --git a/Assets/Scripts/Ally/ProductionBuilding.cs b/Assets/Scripts/Ally/ProductionBuilding.cs index 14f040f..74733df 100644 --- a/Assets/Scripts/Ally/ProductionBuilding.cs +++ b/Assets/Scripts/Ally/ProductionBuilding.cs @@ -8,7 +8,7 @@ public abstract class ProductionBuilding : House private float _multiplier; public override float PopulationGiven => GlobalConfig.Instance.Current.populationGivenPerHouseUpgrade; - protected abstract Enum.ResourceNodeType RessourceNodeType { get; } + protected abstract Enum.ResourceNodeType[] RessourceNodeType { get; } public int Range { get => _range; set => _range = value; } private Vector3 _position; @@ -42,10 +42,20 @@ public abstract class ProductionBuilding : House if (tile == default) continue; var checkResourceType = tile.ResourceNodeType; - if (checkResourceType != RessourceNodeType) continue; + if (!isValidResourceType(tile.ResourceNodeType)) continue; tile.YieldSpeedMultiplier *= multiplier; } } } + + private bool isValidResourceType (Enum.ResourceNodeType tileRessourceType) + { + for(int i = 0; i < RessourceNodeType.Length; i++) + { + if (tileRessourceType == RessourceNodeType[i]) return true; + } + + return false; + } } \ No newline at end of file diff --git a/Assets/Scripts/Ally/Workshop.cs b/Assets/Scripts/Ally/Workshop.cs index 6cb82cd..6954220 100644 --- a/Assets/Scripts/Ally/Workshop.cs +++ b/Assets/Scripts/Ally/Workshop.cs @@ -2,5 +2,5 @@ public class Workshop : ProductionBuilding { - protected override Enum.ResourceNodeType RessourceNodeType { get { return Enum.ResourceNodeType.Forest; } } + protected override Enum.ResourceNodeType[] RessourceNodeType { get { return new Enum.ResourceNodeType[] { Enum.ResourceNodeType.Forest }; } } } \ No newline at end of file