diff --git a/OpenRA.Mods.Common/Traits/Render/IsometricSelectionDecorations.cs b/OpenRA.Mods.Common/Traits/Render/IsometricSelectionDecorations.cs index acce98ed48..f2f28ee71f 100644 --- a/OpenRA.Mods.Common/Traits/Render/IsometricSelectionDecorations.cs +++ b/OpenRA.Mods.Common/Traits/Render/IsometricSelectionDecorations.cs @@ -23,7 +23,7 @@ namespace OpenRA.Mods.Common.Traits.Render public override object Create(ActorInitializer init) { return new IsometricSelectionDecorations(init.Self, this); } } - public class IsometricSelectionDecorations : SelectionDecorationsBase + public class IsometricSelectionDecorations : SelectionDecorationsBase, IRender { readonly IsometricSelectable selectable; @@ -61,5 +61,15 @@ namespace OpenRA.Mods.Common.Traits.Render var bounds = selectable.DecorationBounds(self, wr); yield return new IsometricSelectionBarsAnnotationRenderable(self, bounds, displayHealth, displayExtra); } + + IEnumerable IRender.Render(Actor self, WorldRenderer wr) + { + yield break; + } + + IEnumerable IRender.ScreenBounds(Actor self, WorldRenderer wr) + { + yield return selectable.DecorationBounds(self, wr).BoundingRect; + } } } diff --git a/OpenRA.Mods.Common/Traits/Render/SelectionDecorations.cs b/OpenRA.Mods.Common/Traits/Render/SelectionDecorations.cs index d632b489c9..675f2a4a00 100644 --- a/OpenRA.Mods.Common/Traits/Render/SelectionDecorations.cs +++ b/OpenRA.Mods.Common/Traits/Render/SelectionDecorations.cs @@ -23,7 +23,7 @@ namespace OpenRA.Mods.Common.Traits.Render public override object Create(ActorInitializer init) { return new SelectionDecorations(init.Self, this); } } - public class SelectionDecorations : SelectionDecorationsBase + public class SelectionDecorations : SelectionDecorationsBase, IRender { readonly Interactable interactable; @@ -62,5 +62,15 @@ namespace OpenRA.Mods.Common.Traits.Render var bounds = interactable.DecorationBounds(self, wr); yield return new SelectionBarsAnnotationRenderable(self, bounds, displayHealth, displayExtra); } + + IEnumerable IRender.Render(Actor self, WorldRenderer wr) + { + yield break; + } + + IEnumerable IRender.ScreenBounds(Actor self, WorldRenderer wr) + { + yield return interactable.DecorationBounds(self, wr); + } } }