Radar takes into account visibility under fog

This commit is contained in:
Paul Chote
2010-07-22 20:26:19 +12:00
parent f7212ef757
commit a09a6997b4
6 changed files with 28 additions and 13 deletions

View File

@@ -39,14 +39,17 @@ namespace OpenRA.Traits
public IEnumerable<int2> RadarSignatureCells(Actor self)
{
foreach (var mod in self.World.Queries.WithTraitMultiple<IRadarVisibilityModifier>())
if (!mod.Trait.VisibleOnRadar(self))
yield break;
yield return self.Location;
}
public Color RadarSignatureColor(Actor self)
{
var mod = self.traits.WithInterface<IRadarSignatureModifier>().FirstOrDefault();
if (mod != null)
return mod.RadarColorOverride(self);
foreach (var mod in self.World.Queries.WithTraitMultiple<IRadarColorModifier>())
return mod.Trait.RadarColorOverride(self);
return self.Owner.Color;
}