From 7ca9679b349477db09fd2adb0fd24899c32c5795 Mon Sep 17 00:00:00 2001 From: reaperrr Date: Wed, 27 Sep 2017 23:08:43 +0200 Subject: [PATCH] Require explicit ITargetablePositions --- OpenRA.Game/Traits/TraitsInterfaces.cs | 1 + OpenRA.Mods.Common/Traits/CombatDebugOverlay.cs | 2 +- OpenRA.Mods.Common/Traits/HitShape.cs | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/OpenRA.Game/Traits/TraitsInterfaces.cs b/OpenRA.Game/Traits/TraitsInterfaces.cs index bc8ef1a92b..963095365d 100644 --- a/OpenRA.Game/Traits/TraitsInterfaces.cs +++ b/OpenRA.Game/Traits/TraitsInterfaces.cs @@ -354,6 +354,7 @@ namespace OpenRA.Traits bool RequiresForceFire { get; } } + [RequireExplicitImplementation] public interface ITargetablePositions { IEnumerable TargetablePositions(Actor self); diff --git a/OpenRA.Mods.Common/Traits/CombatDebugOverlay.cs b/OpenRA.Mods.Common/Traits/CombatDebugOverlay.cs index 57635ea284..c16290b300 100644 --- a/OpenRA.Mods.Common/Traits/CombatDebugOverlay.cs +++ b/OpenRA.Mods.Common/Traits/CombatDebugOverlay.cs @@ -75,7 +75,7 @@ namespace OpenRA.Mods.Common.Traits s.Info.Type.DrawCombatOverlay(wr, wcr, self); var tc = Color.Lime; - var positions = activeShapes.SelectMany(tp => tp.TargetablePositions(self)); + var positions = Target.FromActor(self).Positions; foreach (var p in positions) { var center = wr.Screen3DPosition(p); diff --git a/OpenRA.Mods.Common/Traits/HitShape.cs b/OpenRA.Mods.Common/Traits/HitShape.cs index c5688ff0e4..de8b654e98 100644 --- a/OpenRA.Mods.Common/Traits/HitShape.cs +++ b/OpenRA.Mods.Common/Traits/HitShape.cs @@ -73,7 +73,7 @@ namespace OpenRA.Mods.Common.Traits base.Created(self); } - public IEnumerable TargetablePositions(Actor self) + IEnumerable ITargetablePositions.TargetablePositions(Actor self) { if (IsTraitDisabled) yield break;