Remove LINQ in some performance critical AutoTarget paths.

This commit is contained in:
RoosterDragon
2015-10-17 00:51:45 +01:00
parent dcf375a412
commit 0fab3ec1b2
3 changed files with 45 additions and 13 deletions

View File

@@ -159,13 +159,25 @@ namespace OpenRA
public bool CanTargetActor(Actor a)
{
if (HasFogVisibility && fogVisibilities.Any(f => f.IsVisible(a)))
return true;
if (HasFogVisibility)
foreach (var fogVisibility in fogVisibilities)
if (fogVisibility.IsVisible(a))
return true;
return CanViewActor(a);
}
public bool HasFogVisibility { get { return fogVisibilities.Any(f => f.HasFogVisibility()); } }
public bool HasFogVisibility
{
get
{
foreach (var fogVisibility in fogVisibilities)
if (fogVisibility.HasFogVisibility())
return true;
return false;
}
}
#region Scripting interface