Merge pull request #5627 from pchote/frozen-cloak-fix

Invalidate FrozenActors that don’t have any sprites.
This commit is contained in:
Matthias Mailänder
2014-06-14 11:41:49 +02:00
2 changed files with 3 additions and 3 deletions

View File

@@ -47,7 +47,7 @@ namespace OpenRA.Traits
} }
public uint ID { get { return actor.ActorID; } } public uint ID { get { return actor.ActorID; } }
public bool IsValid { get { return Owner != null; } } public bool IsValid { get { return Owner != null && HasRenderables; } }
public ActorInfo Info { get { return actor.Info; } } public ActorInfo Info { get { return actor.Info; } }
public Actor Actor { get { return !actor.IsDead() ? actor : null; } } public Actor Actor { get { return !actor.IsDead() ? actor : null; } }
@@ -87,7 +87,7 @@ namespace OpenRA.Traits
return Renderables; return Renderables;
} }
public bool HasRenderables { get { return Renderables != null; } } public bool HasRenderables { get { return Renderables != null && Renderables.Any(); } }
public override string ToString() public override string ToString()
{ {

View File

@@ -116,7 +116,7 @@ namespace OpenRA.Widgets
} }
var frozen = world.ScreenMap.FrozenActorsAt(world.RenderPlayer, worldRenderer.Viewport.ViewToWorldPx(Viewport.LastMousePos)) var frozen = world.ScreenMap.FrozenActorsAt(world.RenderPlayer, worldRenderer.Viewport.ViewToWorldPx(Viewport.LastMousePos))
.Where(a => a.TooltipName != null) .Where(a => a.TooltipName != null && a.IsValid)
.WithHighestSelectionPriority(); .WithHighestSelectionPriority();
if (frozen != null) if (frozen != null)