Fixed issue where farmer can be placed on a non-resource tile.

This commit is contained in:
MaximilienBlanchardBizien1 2024-09-03 15:43:38 -04:00
parent 8eb2a7d5cc
commit 884d4a9ee6

View File

@ -18,6 +18,23 @@ public class ObjectPlaceholder : UnitPlaceholder
&& LevelBoundCache.Contains(transform.position)
&& ResourceManager.Instance.EnoughFor(Rock, Wood, Food)
&& (Prefab.GetComponent<Building>()
|| ResourceManager.Instance.EnoughPopulationFor(defaultUnitCost));
|| ResourceManager.Instance.EnoughPopulationFor(defaultUnitCost))
&& IsFarmerAndAllowed();
}
private bool IsFarmerAndAllowed()
{
Ally unit = Prefab.GetComponent<Ally>();
//Obtiens info correctement.
LevelTile pointedTile = LevelManager.Instance.Get<LevelTile>(obj => obj.Position.IsContainedIn(transform.position));
return unit is not Harvester || (unit is Harvester && IsAllowedTile(pointedTile));
//return true;
}
private bool IsAllowedTile(LevelTile pointedTile)
{
return pointedTile is ResourceTile;
}
}