Avoid three time array lookup in TraitContainer.Actors.
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user