Remove WorldUtils.FindFrozenActorsAtMouse.

This commit is contained in:
Paul Chote
2013-09-27 18:08:47 +12:00
parent 1ca9c90565
commit 3ae75362bb
4 changed files with 7 additions and 12 deletions

View File

@@ -29,7 +29,7 @@ namespace OpenRA.Orders
target = Target.FromActor(underCursor); target = Target.FromActor(underCursor);
else else
{ {
var frozen = world.FindFrozenActorsAtMouse(mi.Location) var frozen = world.ScreenMap.FrozenActorsAt(world.RenderPlayer, mi.Location)
.Where(a => a.Info.Traits.Contains<ITargetableInfo>()) .Where(a => a.Info.Traits.Contains<ITargetableInfo>())
.OrderByDescending(a => a.Info.SelectionPriority()) .OrderByDescending(a => a.Info.SelectionPriority())
.FirstOrDefault(); .FirstOrDefault();
@@ -77,7 +77,7 @@ namespace OpenRA.Orders
target = Target.FromActor(underCursor); target = Target.FromActor(underCursor);
else else
{ {
var frozen = world.FindFrozenActorsAtMouse(mi.Location) var frozen = world.ScreenMap.FrozenActorsAt(world.RenderPlayer, mi.Location)
.Where(a => a.Info.Traits.Contains<ITargetableInfo>()) .Where(a => a.Info.Traits.Contains<ITargetableInfo>())
.OrderByDescending(a => a.Info.SelectionPriority()) .OrderByDescending(a => a.Info.SelectionPriority())
.FirstOrDefault(); .FirstOrDefault();

View File

@@ -109,8 +109,12 @@ namespace OpenRA.Traits
Add(a); Add(a);
} }
public static readonly IEnumerable<FrozenActor> NoFrozenActors = new FrozenActor[0].AsEnumerable();
public IEnumerable<FrozenActor> FrozenActorsAt(Player viewer, int2 pxPos) public IEnumerable<FrozenActor> FrozenActorsAt(Player viewer, int2 pxPos)
{ {
if (viewer == null)
return NoFrozenActors;
var i = (pxPos.X / info.BinSize).Clamp(0, cols - 1); var i = (pxPos.X / info.BinSize).Clamp(0, cols - 1);
var j = (pxPos.Y / info.BinSize).Clamp(0, rows - 1); var j = (pxPos.Y / info.BinSize).Clamp(0, rows - 1);
return frozen[viewer][j*cols + i] return frozen[viewer][j*cols + i]

View File

@@ -117,7 +117,7 @@ namespace OpenRA.Widgets
return; return;
} }
var frozen = world.FindFrozenActorsAtMouse(Viewport.LastMousePos) var frozen = world.ScreenMap.FrozenActorsAt(world.RenderPlayer, Viewport.LastMousePos)
.Where(a => a.TooltipName != null) .Where(a => a.TooltipName != null)
.OrderByDescending(a => a.Info.SelectionPriority()) .OrderByDescending(a => a.Info.SelectionPriority())
.FirstOrDefault(); .FirstOrDefault();

View File

@@ -21,15 +21,6 @@ namespace OpenRA
{ {
public static class WorldUtils public static class WorldUtils
{ {
public static readonly IEnumerable<FrozenActor> NoFrozenActors = new FrozenActor[0].AsEnumerable();
public static IEnumerable<FrozenActor> FindFrozenActorsAtMouse(this World world, int2 mouseLocation)
{
if (world.RenderPlayer == null)
return NoFrozenActors;
return world.ScreenMap.FrozenActorsAt(world.RenderPlayer, Game.viewport.ViewToWorldPx(mouseLocation));
}
public static IEnumerable<Actor> FindActorsInBox(this World world, CPos tl, CPos br) public static IEnumerable<Actor> FindActorsInBox(this World world, CPos tl, CPos br)
{ {
// TODO: Support diamond boxes for isometric maps? // TODO: Support diamond boxes for isometric maps?