Replace CPos.CenterPosition -> Map.CenterOfCell.
This commit is contained in:
@@ -43,11 +43,12 @@ namespace OpenRA.Mods.RA.Activities
|
||||
|
||||
protected override IEnumerable<CPos> CandidateMovementCells(Actor self)
|
||||
{
|
||||
var map = self.World.Map;
|
||||
var maxCells = (maxRange.Range + 1023) / 1024;
|
||||
var outerCells = self.World.Map.FindTilesInCircle(targetPosition, maxCells);
|
||||
var outerCells = map.FindTilesInCircle(targetPosition, maxCells);
|
||||
|
||||
var minCells = minRange.Range / 1024;
|
||||
var innerCells = self.World.Map.FindTilesInCircle(targetPosition, minCells);
|
||||
var innerCells = map.FindTilesInCircle(targetPosition, minCells);
|
||||
|
||||
var outerSq = maxRange.Range * maxRange.Range;
|
||||
var innerSq = minRange.Range * minRange.Range;
|
||||
@@ -55,7 +56,7 @@ namespace OpenRA.Mods.RA.Activities
|
||||
|
||||
return outerCells.Except(innerCells).Where(c =>
|
||||
{
|
||||
var dxSq = (c.CenterPosition - center).HorizontalLengthSquared;
|
||||
var dxSq = (map.CenterOfCell(c) - center).HorizontalLengthSquared;
|
||||
return dxSq >= innerSq && dxSq <= outerSq;
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user