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