diff --git a/OpenRA.Mods.Common/Graphics/ActorPreview.cs b/OpenRA.Mods.Common/Graphics/ActorPreview.cs index b9a5d6382e..adf3fd89fc 100644 --- a/OpenRA.Mods.Common/Graphics/ActorPreview.cs +++ b/OpenRA.Mods.Common/Graphics/ActorPreview.cs @@ -11,6 +11,7 @@ using System; using System.Collections.Generic; +using System.Drawing; using OpenRA.Graphics; using OpenRA.Mods.Common.Traits; using OpenRA.Primitives; @@ -22,6 +23,7 @@ namespace OpenRA.Mods.Common.Graphics { void Tick(); IEnumerable Render(WorldRenderer wr, WPos pos); + IEnumerable ScreenBounds(WorldRenderer wr, WPos pos); } public class ActorPreviewInitializer : IActorInitializer diff --git a/OpenRA.Mods.Common/Graphics/ModelActorPreview.cs b/OpenRA.Mods.Common/Graphics/ModelActorPreview.cs index 4d5ec1437c..f8c9f6a5a9 100644 --- a/OpenRA.Mods.Common/Graphics/ModelActorPreview.cs +++ b/OpenRA.Mods.Common/Graphics/ModelActorPreview.cs @@ -10,6 +10,7 @@ #endregion using System.Collections.Generic; +using System.Drawing; using OpenRA.Graphics; namespace OpenRA.Mods.Common.Graphics @@ -56,5 +57,11 @@ namespace OpenRA.Mods.Common.Graphics lightSource, lightAmbientColor, lightDiffuseColor, colorPalette, normalsPalette, shadowPalette); } + + public IEnumerable ScreenBounds(WorldRenderer wr, WPos pos) + { + foreach (var c in components) + yield return c.ScreenBounds(pos, wr, scale); + } } } diff --git a/OpenRA.Mods.Common/Graphics/SpriteActorPreview.cs b/OpenRA.Mods.Common/Graphics/SpriteActorPreview.cs index 070e1ce490..369ec3d665 100644 --- a/OpenRA.Mods.Common/Graphics/SpriteActorPreview.cs +++ b/OpenRA.Mods.Common/Graphics/SpriteActorPreview.cs @@ -11,6 +11,7 @@ using System; using System.Collections.Generic; +using System.Drawing; using OpenRA.Graphics; namespace OpenRA.Mods.Common.Graphics @@ -38,5 +39,10 @@ namespace OpenRA.Mods.Common.Graphics { return animation.Render(pos, offset(), zOffset(), pr, scale); } + + public IEnumerable ScreenBounds(WorldRenderer wr, WPos pos) + { + yield return animation.ScreenBounds(wr, pos, offset(), scale); + } } }