Add ActorInfo.HasTraitInfo<T>() requiring ITraitInfo types
This commit is contained in:
@@ -28,7 +28,7 @@ namespace OpenRA.Mods.Common.Orders
|
||||
|
||||
public override bool CanTargetActor(Actor self, Actor target, TargetModifiers modifiers, ref string cursor)
|
||||
{
|
||||
if (!target.Info.Traits.Contains<T>() || !canTarget(target))
|
||||
if (!target.Info.HasTraitInfo<T>() || !canTarget(target))
|
||||
return false;
|
||||
|
||||
cursor = useEnterCursor(target) ? "enter" : "enter-blocked";
|
||||
|
||||
@@ -100,7 +100,7 @@ namespace OpenRA.Mods.Common.Orders
|
||||
yield break;
|
||||
}
|
||||
|
||||
if (world.Map.Rules.Actors[building].Traits.Contains<LineBuildInfo>())
|
||||
if (world.Map.Rules.Actors[building].HasTraitInfo<LineBuildInfo>())
|
||||
orderType = "LineBuild";
|
||||
}
|
||||
|
||||
@@ -156,7 +156,7 @@ namespace OpenRA.Mods.Common.Orders
|
||||
|
||||
cells.Add(topLeft, AcceptsPlug(topLeft, plugInfo));
|
||||
}
|
||||
else if (rules.Actors[building].Traits.Contains<LineBuildInfo>())
|
||||
else if (rules.Actors[building].HasTraitInfo<LineBuildInfo>())
|
||||
{
|
||||
// Linebuild for walls.
|
||||
if (buildingInfo.Dimensions.X != 1 || buildingInfo.Dimensions.Y != 1)
|
||||
|
||||
@@ -41,7 +41,7 @@ namespace OpenRA.Mods.Common.Orders
|
||||
yield break;
|
||||
|
||||
// Repair a building.
|
||||
if (underCursor.Info.Traits.Contains<RepairableBuildingInfo>())
|
||||
if (underCursor.Info.HasTraitInfo<RepairableBuildingInfo>())
|
||||
yield return new Order("RepairBuilding", world.LocalPlayer.PlayerActor, false) { TargetActor = underCursor };
|
||||
|
||||
// Test for generic Repairable (used on units).
|
||||
|
||||
Reference in New Issue
Block a user