Added "PERF: Avoid LINQ." comments.
This commit is contained in:
@@ -324,6 +324,7 @@ namespace OpenRA
|
||||
|
||||
public IEnumerable<string> GetAllTargetTypes()
|
||||
{
|
||||
// PERF: Avoid LINQ.
|
||||
foreach (var targetable in Targetables)
|
||||
foreach (var targetType in targetable.TargetTypes)
|
||||
yield return targetType;
|
||||
@@ -331,6 +332,7 @@ namespace OpenRA
|
||||
|
||||
public IEnumerable<string> GetEnabledTargetTypes()
|
||||
{
|
||||
// PERF: Avoid LINQ.
|
||||
foreach (var targetable in Targetables)
|
||||
if (targetable.IsTraitEnabled())
|
||||
foreach (var targetType in targetable.TargetTypes)
|
||||
@@ -339,6 +341,7 @@ namespace OpenRA
|
||||
|
||||
public bool IsTargetableBy(Actor byActor)
|
||||
{
|
||||
// PERF: Avoid LINQ.
|
||||
foreach (var targetable in Targetables)
|
||||
if (targetable.IsTraitEnabled() && targetable.TargetableBy(this, byActor))
|
||||
return true;
|
||||
|
||||
@@ -132,6 +132,7 @@ namespace OpenRA.GameRules
|
||||
if (!IsValidTarget(targetTypes))
|
||||
return false;
|
||||
|
||||
// PERF: Avoid LINQ.
|
||||
foreach (var warhead in Warheads)
|
||||
if (warhead.IsValidAgainst(victim, firedBy))
|
||||
return true;
|
||||
|
||||
@@ -159,6 +159,7 @@ namespace OpenRA
|
||||
|
||||
public bool CanTargetActor(Actor a)
|
||||
{
|
||||
// PERF: Avoid LINQ.
|
||||
if (HasFogVisibility)
|
||||
foreach (var fogVisibility in fogVisibilities)
|
||||
if (fogVisibility.IsVisible(a))
|
||||
@@ -171,6 +172,7 @@ namespace OpenRA
|
||||
{
|
||||
get
|
||||
{
|
||||
// PERF: Avoid LINQ.
|
||||
foreach (var fogVisibility in fogVisibilities)
|
||||
if (fogVisibility.HasFogVisibility())
|
||||
return true;
|
||||
|
||||
@@ -96,6 +96,7 @@ namespace OpenRA.Traits
|
||||
if (actor == null)
|
||||
return false;
|
||||
|
||||
// PERF: Avoid LINQ.
|
||||
var isTargetable = false;
|
||||
foreach (var targetable in actor.Targetables)
|
||||
{
|
||||
|
||||
@@ -189,6 +189,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
if (Info.AttackRequiresEnteringCell && !positionable.Value.CanEnterCell(t.Actor.Location, null, false))
|
||||
return false;
|
||||
|
||||
// PERF: Avoid LINQ.
|
||||
foreach (var armament in Armaments)
|
||||
if (armament.Weapon.IsValidAgainst(t, self.World, self))
|
||||
return true;
|
||||
@@ -201,6 +202,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
if (IsTraitDisabled)
|
||||
return WDist.Zero;
|
||||
|
||||
// PERF: Avoid LINQ.
|
||||
var min = WDist.MaxValue;
|
||||
foreach (var armament in Armaments)
|
||||
{
|
||||
@@ -219,6 +221,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
if (IsTraitDisabled)
|
||||
return WDist.Zero;
|
||||
|
||||
// PERF: Avoid LINQ.
|
||||
var max = WDist.Zero;
|
||||
foreach (var armament in Armaments)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user