Remove Shroud.IsExplored(Actor) and IsVisible(Actor).

This commit is contained in:
Paul Chote
2015-06-13 15:11:11 +01:00
parent e7a64ffec4
commit 0a2757d0e0
4 changed files with 15 additions and 19 deletions

View File

@@ -149,6 +149,19 @@ namespace OpenRA
nsc.Trait.StanceChanged(nsc.Actor, this, target, oldStance, s);
}
public bool CanViewActor(Actor a)
{
if (a.TraitsImplementing<IVisibilityModifier>().Any(t => !t.IsVisible(a, this)))
return false;
if (a.Owner.IsAlliedWith(this))
return true;
// Actors are hidden under shroud, but not under fog by default
// TODO: Shroud exploration should be implemented as an IVisibility modifier!
return Shroud.GetVisOrigins(a).Any(Shroud.IsExplored);
}
#region Scripting interface
Lazy<ScriptPlayerInterface> luaInterface;