diff --git a/OpenRA.Game/TraitDictionary.cs b/OpenRA.Game/TraitDictionary.cs index f2b654c61b..d3da70e7d2 100644 --- a/OpenRA.Game/TraitDictionary.cs +++ b/OpenRA.Game/TraitDictionary.cs @@ -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; } }