Fix CandidateMouseoverCells being incorrectly calculated for Rectangular grid
This commit is contained in:
committed by
Matthias Mailänder
parent
3824a591d5
commit
0ab7caedd9
@@ -286,8 +286,19 @@ namespace OpenRA.Graphics
|
|||||||
var minPos = worldRenderer.ProjectedPosition(world);
|
var minPos = worldRenderer.ProjectedPosition(world);
|
||||||
|
|
||||||
// Find all the cells that could potentially have been clicked.
|
// Find all the cells that could potentially have been clicked.
|
||||||
var a = map.CellContaining(minPos - new WVec(tileScale, 0, 0)).ToMPos(map.Grid.Type);
|
MPos a;
|
||||||
var b = map.CellContaining(minPos + new WVec(tileScale, tileScale * map.Grid.MaximumTerrainHeight, 0)).ToMPos(map.Grid.Type);
|
MPos b;
|
||||||
|
if (map.Grid.Type == MapGridType.RectangularIsometric)
|
||||||
|
{
|
||||||
|
// TODO: this generates too many cells.
|
||||||
|
a = map.CellContaining(minPos - new WVec(tileScale, 0, 0)).ToMPos(map.Grid.Type);
|
||||||
|
b = map.CellContaining(minPos + new WVec(tileScale, tileScale * map.Grid.MaximumTerrainHeight, 0)).ToMPos(map.Grid.Type);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
a = map.CellContaining(minPos).ToMPos(map.Grid.Type);
|
||||||
|
b = map.CellContaining(minPos + new WVec(0, tileScale * map.Grid.MaximumTerrainHeight, 0)).ToMPos(map.Grid.Type);
|
||||||
|
}
|
||||||
|
|
||||||
for (var v = b.V; v >= a.V; v--)
|
for (var v = b.V; v >= a.V; v--)
|
||||||
for (var u = b.U; u >= a.U; u--)
|
for (var u = b.U; u >= a.U; u--)
|
||||||
|
|||||||
Reference in New Issue
Block a user