Track visibility modifiers on FrozenActors.

This commit is contained in:
Paul Chote
2018-12-10 20:44:03 +00:00
committed by Oliver Brakmann
parent 5f79c31a57
commit 224377f078
5 changed files with 42 additions and 21 deletions

View File

@@ -80,13 +80,21 @@ namespace OpenRA.Traits
public bool IsValidFor(Actor targeter)
{
if (targeter == null || Type == TargetType.Invalid)
if (targeter == null)
return false;
if (actor != null && !actor.IsTargetableBy(targeter))
return false;
return true;
switch (Type)
{
case TargetType.Actor:
return actor.IsTargetableBy(targeter);
case TargetType.FrozenActor:
return frozen.IsValid && frozen.Visible && !frozen.Hidden;
case TargetType.Invalid:
return false;
default:
case TargetType.Terrain:
return true;
}
}
// Currently all or nothing.