Unacquire invalid AI targets.

This commit is contained in:
Paul Chote
2013-08-22 19:01:41 +12:00
parent bc5c11e44f
commit 6e13cb7f3b
2 changed files with 12 additions and 9 deletions

View File

@@ -38,11 +38,14 @@ namespace OpenRA.Traits
public static Target FromActor(Actor a)
{
if (a == null)
return Target.Invalid;
return new Target
{
actor = a,
targetable = a != null ? a.TraitOrDefault<ITargetable>() : null,
type = a != null ? TargetType.Actor : TargetType.Invalid,
targetable = a.TraitOrDefault<ITargetable>(),
type = TargetType.Actor,
generation = a.Generation,
};
}
@@ -73,7 +76,7 @@ namespace OpenRA.Traits
public bool IsValidFor(Actor targeter)
{
if (Type == TargetType.Invalid)
if (targeter == null || Type == TargetType.Invalid)
return false;
if (targetable != null && !targetable.TargetableBy(actor, targeter))