Remove PPos overload of FindUnitsInCircle.

This commit is contained in:
Paul Chote
2013-07-20 13:53:28 +12:00
parent 39d2095e54
commit e6865c5996
5 changed files with 21 additions and 32 deletions

View File

@@ -52,21 +52,13 @@ namespace OpenRA.Mods.RA.Activities
int searchRadiusSquared = searchRadius * searchRadius;
// Find harvestable resources nearby:
// Avoid enemy territory:
// TODO: calculate weapons ranges of units and factor those in instead of hard-coding 8.
var path = self.World.WorldActor.Trait<PathFinder>().FindPath(
PathSearch.Search(self.World, mobileInfo, self, true)
.WithCustomCost(loc =>
{
// Avoid enemy territory:
int safetycost = (
// TODO: calculate weapons ranges of units and factor those in instead of hard-coding 8.
from u in self.World.FindUnitsInCircle(loc.ToPPos(), Game.CellSize * 8)
where !u.Destroyed
where self.Owner.Stances[u.Owner] == Stance.Enemy
select Math.Max(0, 64 - (loc - u.Location).LengthSquared)
).Sum();
return safetycost;
})
.WithCustomCost(loc => self.World.FindUnitsInCircle(loc.CenterPosition, WRange.FromCells(8))
.Where (u => !u.Destroyed && self.Owner.Stances[u.Owner] == Stance.Enemy)
.Sum(u => Math.Max(0, 64 - (loc - u.Location).LengthSquared)))
.WithHeuristic(loc =>
{
// Avoid this cell: