Avoid three time array lookup in TraitContainer.Actors.

This commit is contained in:
Vapre
2020-07-06 12:55:19 +02:00
committed by abcdefg30
parent 6d6822ca15
commit 9edda21b06

View File

@@ -213,10 +213,11 @@ namespace OpenRA
Actor last = null;
for (var i = 0; i < actors.Count; i++)
{
if (actors[i] == last)
var current = actors[i];
if (current == last)
continue;
yield return actors[i];
last = actors[i];
yield return current;
last = current;
}
}
@@ -227,10 +228,12 @@ namespace OpenRA
for (var i = 0; i < actors.Count; i++)
{
if (actors[i] == last || !predicate(traits[i]))
continue;
yield return actors[i];
last = actors[i];
var current = actors[i];
if (current == last || !predicate(traits[i]))
continue;
yield return current;
last = current;
}
}