diff --git a/OpenRA.Mods.Common/Widgets/ViewportControllerWidget.cs b/OpenRA.Mods.Common/Widgets/ViewportControllerWidget.cs index b80b1ee89d..ef7a4f468b 100644 --- a/OpenRA.Mods.Common/Widgets/ViewportControllerWidget.cs +++ b/OpenRA.Mods.Common/Widgets/ViewportControllerWidget.cs @@ -25,7 +25,7 @@ namespace OpenRA.Mods.Common.Widgets public class ViewportControllerWidget : Widget { readonly ModData modData; - readonly ResourceRenderer resourceRenderer; + readonly IEnumerable resourceRenderers; public readonly HotkeyReference ZoomInKey = new HotkeyReference(); public readonly HotkeyReference ZoomOutKey = new HotkeyReference(); @@ -144,7 +144,7 @@ namespace OpenRA.Mods.Common.Widgets tooltipContainer = Exts.Lazy(() => Ui.Root.Get(TooltipContainer)); - resourceRenderer = world.WorldActor.TraitOrDefault(); + resourceRenderers = world.WorldActor.TraitsImplementing().ToArray(); } public override void Initialize(WidgetArgs args) @@ -266,13 +266,14 @@ namespace OpenRA.Mods.Common.Widgets return; } - if (resourceRenderer != null) + foreach (var resourceRenderer in resourceRenderers) { var resource = resourceRenderer.GetRenderedResourceType(cell); if (resource != null) { TooltipType = WorldTooltipType.Resource; ResourceTooltip = resource; + break; } } }