fix crash on moving the mouse outside the map
This commit is contained in:
@@ -52,6 +52,8 @@ namespace OpenRA.Traits
|
||||
|
||||
IEnumerable<Actor> ActorsInBins(int i1, int i2, int j1, int j2)
|
||||
{
|
||||
j1 = Math.Max(0, j1); j2 = Math.Min(j2, bins.GetUpperBound(1) - 1);
|
||||
i1 = Math.Max(0, i1); i2 = Math.Min(i2, bins.GetUpperBound(0) - 1);
|
||||
for (var j = j1; j <= j2; j++)
|
||||
for (var i = i1; i <= i2; i++)
|
||||
foreach (var a in bins[i, j])
|
||||
@@ -60,13 +62,9 @@ namespace OpenRA.Traits
|
||||
|
||||
public IEnumerable<Actor> ActorsInBox(int2 a, int2 b)
|
||||
{
|
||||
var r = RectangleF.FromLTRB( a.X, a.Y, b.X, b.Y );
|
||||
var r = RectangleF.FromLTRB(a.X, a.Y, b.X, b.Y);
|
||||
|
||||
return ActorsInBins(
|
||||
a.X / scale,
|
||||
a.Y / scale,
|
||||
b.X / scale,
|
||||
b.Y / scale)
|
||||
return ActorsInBins(a.X / scale, a.Y / scale, b.X / scale, b.Y / scale)
|
||||
.Distinct()
|
||||
.Where(u => u.GetBounds(true).IntersectsWith(r));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user