diff --git a/OpenRA.Game/Traits/Player/FrozenActorLayer.cs b/OpenRA.Game/Traits/Player/FrozenActorLayer.cs index 1ac00b385e..176ab1ad00 100644 --- a/OpenRA.Game/Traits/Player/FrozenActorLayer.cs +++ b/OpenRA.Game/Traits/Player/FrozenActorLayer.cs @@ -39,10 +39,11 @@ namespace OpenRA.Traits readonly ICreatesFrozenActors frozenTrait; readonly Player viewer; readonly Shroud shroud; + readonly List targetablePositions = new List(); public Player Owner { get; private set; } public BitSet TargetTypes { get; private set; } - public WPos[] TargetablePositions { get; private set; } + public IEnumerable TargetablePositions { get { return targetablePositions; } } public ITooltipInfo TooltipInfo { get; private set; } public Player TooltipOwner { get; private set; } @@ -117,7 +118,8 @@ namespace OpenRA.Traits { Owner = actor.Owner; TargetTypes = actor.GetEnabledTargetTypes(); - TargetablePositions = actor.GetTargetablePositions().ToArray(); + targetablePositions.Clear(); + targetablePositions.AddRange(actor.GetTargetablePositions()); Hidden = !actor.CanBeViewedByPlayer(viewer); if (health != null)