Remove IFogVisibilityModifier.

This commit is contained in:
Paul Chote
2017-10-05 17:54:14 +01:00
committed by reaperrr
parent 4dba9f5b88
commit 47634b25f9
6 changed files with 14 additions and 43 deletions

View File

@@ -61,7 +61,6 @@ namespace OpenRA
public Shroud Shroud;
public World World { get; private set; }
readonly IFogVisibilityModifier[] fogVisibilities;
readonly StanceColors stanceColors;
static FactionInfo ChooseFaction(World world, string name, bool requireSelectable = true)
@@ -134,8 +133,6 @@ namespace OpenRA
PlayerActor = world.CreateActor("Player", new TypeDictionary { new OwnerInit(this) });
Shroud = PlayerActor.Trait<Shroud>();
fogVisibilities = PlayerActor.TraitsImplementing<IFogVisibilityModifier>().ToArray();
// Enable the bot logic on the host
IsBot = BotType != null;
if (IsBot && Game.IsHost)
@@ -172,28 +169,9 @@ namespace OpenRA
public bool CanTargetActor(Actor a)
{
// PERF: Avoid LINQ.
if (HasFogVisibility)
foreach (var fogVisibility in fogVisibilities)
if (fogVisibility.IsVisible(a))
return true;
return CanViewActor(a);
}
public bool HasFogVisibility
{
get
{
// PERF: Avoid LINQ.
foreach (var fogVisibility in fogVisibilities)
if (fogVisibility.HasFogVisibility())
return true;
return false;
}
}
public Color PlayerStanceColor(Actor a)
{
var player = a.World.RenderPlayer ?? a.World.LocalPlayer;