diff --git a/OpenRA.Game/Traits/TraitsInterfaces.cs b/OpenRA.Game/Traits/TraitsInterfaces.cs index a625a5e030..251b2ddbe3 100755 --- a/OpenRA.Game/Traits/TraitsInterfaces.cs +++ b/OpenRA.Game/Traits/TraitsInterfaces.cs @@ -204,6 +204,11 @@ namespace OpenRA.Traits } public interface IBodyOrientationInfo {} + public interface ITargetableInfo + { + string[] GetTargetTypes(); + } + public interface ITargetable { string[] TargetTypes { get; } diff --git a/OpenRA.Mods.RA/TargetableBuilding.cs b/OpenRA.Mods.RA/TargetableBuilding.cs index 8bc331338c..6666053472 100755 --- a/OpenRA.Mods.RA/TargetableBuilding.cs +++ b/OpenRA.Mods.RA/TargetableBuilding.cs @@ -15,10 +15,11 @@ using OpenRA.Traits; namespace OpenRA.Mods.RA { - public class TargetableBuildingInfo : ITraitInfo, Requires + public class TargetableBuildingInfo : ITraitInfo, ITargetableInfo, Requires { public readonly string[] TargetTypes = { }; + public string[] GetTargetTypes() { return TargetTypes; } public object Create(ActorInitializer init) { return new TargetableBuilding(init.self, this); } } diff --git a/OpenRA.Mods.RA/TargetableUnit.cs b/OpenRA.Mods.RA/TargetableUnit.cs index 282e97c8eb..195e8226c7 100755 --- a/OpenRA.Mods.RA/TargetableUnit.cs +++ b/OpenRA.Mods.RA/TargetableUnit.cs @@ -14,10 +14,11 @@ using OpenRA.Traits; namespace OpenRA.Mods.RA { - public class TargetableUnitInfo : ITraitInfo + public class TargetableUnitInfo : ITraitInfo, ITargetableInfo { public readonly string[] TargetTypes = { }; + public string[] GetTargetTypes() { return TargetTypes; } public virtual object Create(ActorInitializer init) { return new TargetableUnit(init.self, this); } }