Cache some dictionary lookups in FrozenUnderFog.Tick.

Since FrozenUnderFog.Tick gets called a lot, these dictionary lookups were actually getting repeated a fair amount. Avoiding the repeated work is a minor performance improvement.
This commit is contained in:
RoosterDragon
2014-05-31 08:05:03 +01:00
parent 67f1207ef5
commit f180f44542

View File

@@ -82,8 +82,7 @@ namespace OpenRA.Mods.RA
foreach (var p in self.World.Players) foreach (var p in self.World.Players)
{ {
visible[p] |= startsRevealed; visible[p] |= startsRevealed;
frozen[p] = new FrozenActor(self, footprint); p.PlayerActor.Trait<FrozenActorLayer>().Add(frozen[p] = new FrozenActor(self, footprint));
p.PlayerActor.Trait<FrozenActorLayer>().Add(frozen[p]);
} }
initialized = true; initialized = true;
@@ -94,18 +93,19 @@ namespace OpenRA.Mods.RA
if (!visible[player]) if (!visible[player])
continue; continue;
frozen[player].Owner = self.Owner; var actor = frozen[player];
actor.Owner = self.Owner;
if (health.Value != null) if (health.Value != null)
{ {
frozen[player].HP = health.Value.HP; actor.HP = health.Value.HP;
frozen[player].DamageState = health.Value.DamageState; actor.DamageState = health.Value.DamageState;
} }
if (tooltip.Value != null) if (tooltip.Value != null)
{ {
frozen[player].TooltipName = tooltip.Value.Name(); actor.TooltipName = tooltip.Value.Name();
frozen[player].TooltipOwner = tooltip.Value.Owner(); actor.TooltipOwner = tooltip.Value.Owner();
} }
} }
} }