Add ITargetableInfo interface for querying target types.

This commit is contained in:
Paul Chote
2013-08-08 18:46:36 +12:00
parent 6b1b8d9ed4
commit ff98fb0cdf
3 changed files with 9 additions and 2 deletions

View File

@@ -204,6 +204,11 @@ namespace OpenRA.Traits
}
public interface IBodyOrientationInfo {}
public interface ITargetableInfo
{
string[] GetTargetTypes();
}
public interface ITargetable
{
string[] TargetTypes { get; }

View File

@@ -15,10 +15,11 @@ using OpenRA.Traits;
namespace OpenRA.Mods.RA
{
public class TargetableBuildingInfo : ITraitInfo, Requires<BuildingInfo>
public class TargetableBuildingInfo : ITraitInfo, ITargetableInfo, Requires<BuildingInfo>
{
public readonly string[] TargetTypes = { };
public string[] GetTargetTypes() { return TargetTypes; }
public object Create(ActorInitializer init) { return new TargetableBuilding(init.self, this); }
}

View File

@@ -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); }
}