Cache FrozenActorLayer on the Player object.

This avoids unnecessary trait queries.
This commit is contained in:
Paul Chote
2018-11-28 08:52:55 +00:00
committed by Oliver Brakmann
parent f238e2c5cc
commit 3e490e5843
6 changed files with 11 additions and 12 deletions

View File

@@ -53,7 +53,7 @@ namespace OpenRA.Mods.Cnc.Effects
visibilityModifiers = actor.TraitsImplementing<IVisibilityModifier>().ToArray();
dotStates = new PlayerDictionary<DotState>(actor.World,
p => new DotState(actor, p.PlayerActor.Trait<GpsWatcher>(), p.PlayerActor.TraitOrDefault<FrozenActorLayer>()));
p => new DotState(actor, p.PlayerActor.Trait<GpsWatcher>(), p.FrozenActorLayer));
}
bool ShouldRender(DotState state, Player toPlayer)