diff --git a/C7/UIElements/UnitButtons/UnitButtons.cs b/C7/UIElements/UnitButtons/UnitButtons.cs index b0d771b7..cf0662ec 100644 --- a/C7/UIElements/UnitButtons/UnitButtons.cs +++ b/C7/UIElements/UnitButtons/UnitButtons.cs @@ -123,6 +123,7 @@ private void OnUnitMoved(ParameterWrapper wrappedMapUnit) { } private void UpdateButtons(MapUnit unit) { + if (!unit.CanBeActive()) return; // Reset the visibility and tooltip whenever the unit changes. foreach (ButtonAndTooltip btt in buttonMap.Values) { btt.button.Visible = false; diff --git a/C7Engine/C7GameData/Tile.cs b/C7Engine/C7GameData/Tile.cs index a7faa166..de7deb92 100644 --- a/C7Engine/C7GameData/Tile.cs +++ b/C7Engine/C7GameData/Tile.cs @@ -773,9 +773,7 @@ public TerrainImprovement ImprovementAtLayer(TerrainImprovement.Layer layer) { } public TerrainImprovement ImprovementAtLayer(Terraform terraform) { - TerrainImprovement.Layer currentLayer = terraform.Improvement.layer; - terrainImprovementByLayer.TryGetValue(currentLayer, out TerrainImprovement ti); - return ti; + return terraform.Improvement == null ? null : ImprovementAtLayer(terraform.Improvement.layer); } public bool HasImprovement(TerrainImprovement improvement) {