From 1b1868fca6940df178ec10914642e4df780a5873 Mon Sep 17 00:00:00 2001 From: Mustafa Alperen Seki Date: Mon, 31 Jan 2022 16:54:35 +0300 Subject: [PATCH] Render every available ProductionIconOverlay. --- OpenRA.Mods.Common/Widgets/ObserverProductionIconsWidget.cs | 5 ++--- OpenRA.Mods.Common/Widgets/ProductionPaletteWidget.cs | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/OpenRA.Mods.Common/Widgets/ObserverProductionIconsWidget.cs b/OpenRA.Mods.Common/Widgets/ObserverProductionIconsWidget.cs index 36f4172ab0..aa2e57ce4e 100644 --- a/OpenRA.Mods.Common/Widgets/ObserverProductionIconsWidget.cs +++ b/OpenRA.Mods.Common/Widgets/ObserverProductionIconsWidget.cs @@ -157,10 +157,9 @@ namespace OpenRA.Mods.Common.Widgets productionIconsBounds.Add(rect); - var pio = queue.Actor.Owner.PlayerActor.TraitsImplementing() - .FirstOrDefault(p => p.IsOverlayActive(actor)); + var pios = queue.Actor.Owner.PlayerActor.TraitsImplementing(); - if (pio != null) + foreach (var pio in pios.Where(p => p.IsOverlayActive(actor))) WidgetUtils.DrawSpriteCentered(pio.Sprite, worldRenderer.Palette(pio.Palette), centerPosition + pio.Offset(iconSize), 0.5f); diff --git a/OpenRA.Mods.Common/Widgets/ProductionPaletteWidget.cs b/OpenRA.Mods.Common/Widgets/ProductionPaletteWidget.cs index 50992e9480..a8931a8ba1 100644 --- a/OpenRA.Mods.Common/Widgets/ProductionPaletteWidget.cs +++ b/OpenRA.Mods.Common/Widgets/ProductionPaletteWidget.cs @@ -513,9 +513,8 @@ namespace OpenRA.Mods.Common.Widgets { WidgetUtils.DrawSpriteCentered(icon.Sprite, icon.Palette, icon.Pos + iconOffset); - // Draw the ProductionIconOverlay's sprite - var pio = pios.FirstOrDefault(p => p.IsOverlayActive(icon.Actor)); - if (pio != null) + // Draw the ProductionIconOverlay's sprites + foreach (var pio in pios.Where(p => p.IsOverlayActive(icon.Actor))) WidgetUtils.DrawSpriteCentered(pio.Sprite, worldRenderer.Palette(pio.Palette), icon.Pos + iconOffset + pio.Offset(IconSize)); // Build progress