Updated building ressource type

Updated the ressource type the buildings have to be an array to account for buildings that produces multiple ressources.
This commit is contained in:
MaximilienBlanchardBizien1 2025-10-12 11:03:37 -04:00
parent 4174b80d60
commit 7f77b3bdb3
5 changed files with 16 additions and 6 deletions

View File

@ -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 }; } }
}

View File

@ -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}; } }
}

View File

@ -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 }; } }
}

View File

@ -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;
}
}

View File

@ -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 }; } }
}