diff --git a/OpenRA.Game/WorldUtils.cs b/OpenRA.Game/WorldUtils.cs index 0472512ec4..a924accbfe 100755 --- a/OpenRA.Game/WorldUtils.cs +++ b/OpenRA.Game/WorldUtils.cs @@ -55,11 +55,6 @@ namespace OpenRA return actors.OrderBy(a => (a.CenterPosition - pos).LengthSquared).FirstOrDefault(); } - public static Actor ClosestTo(this IEnumerable actors, PPos px) - { - return actors.OrderBy( a => (a.CenterLocation - px).LengthSquared ).FirstOrDefault(); - } - public static IEnumerable FindUnitsInCircle(this World world, WPos a, WRange r) { return world.FindUnitsInCircle(PPos.FromWPos(a), r.Range * Game.CellSize / 1024); diff --git a/OpenRA.Mods.RA/Activities/LayMines.cs b/OpenRA.Mods.RA/Activities/LayMines.cs index 8b426786be..777bcd7671 100644 --- a/OpenRA.Mods.RA/Activities/LayMines.cs +++ b/OpenRA.Mods.RA/Activities/LayMines.cs @@ -31,7 +31,7 @@ namespace OpenRA.Mods.RA.Activities var buildings = self.Info.Traits.Get().RearmBuildings; var rearmTarget = self.World.Actors.Where(a => self.Owner.Stances[a.Owner] == Stance.Ally && buildings.Contains(a.Info.Name)) - .ClosestTo( self.CenterLocation ); + .ClosestTo(self); if (rearmTarget == null) return new Wait(20); diff --git a/OpenRA.Mods.RA/Air/HeliReturn.cs b/OpenRA.Mods.RA/Air/HeliReturn.cs index 7a7424fba3..6481786ca5 100755 --- a/OpenRA.Mods.RA/Air/HeliReturn.cs +++ b/OpenRA.Mods.RA/Air/HeliReturn.cs @@ -37,7 +37,7 @@ namespace OpenRA.Mods.RA.Air var nearestHpad = self.World.ActorsWithTrait() .Where(a => a.Actor.Owner == self.Owner && rearmBuildings.Contains(a.Actor.Info.Name)) .Select(a => a.Actor) - .ClosestTo(self.CenterLocation); + .ClosestTo(self); if (nearestHpad == null) return Util.SequenceActivities(new Turn(initialFacing), new HeliLand(true, 0), NextActivity); diff --git a/OpenRA.Mods.RA/Air/ReturnToBase.cs b/OpenRA.Mods.RA/Air/ReturnToBase.cs index 67fdff1996..22a06df9b7 100755 --- a/OpenRA.Mods.RA/Air/ReturnToBase.cs +++ b/OpenRA.Mods.RA/Air/ReturnToBase.cs @@ -30,7 +30,7 @@ namespace OpenRA.Mods.RA.Air .Where(a => rearmBuildings.Contains(a.Actor.Info.Name) && (!unreservedOnly || !Reservable.IsReserved(a.Actor))) .Select(a => a.Actor) - .ClosestTo( self.CenterLocation ); + .ClosestTo(self); } void Calculate(Actor self) diff --git a/OpenRA.Mods.RA/AutoHeal.cs b/OpenRA.Mods.RA/AutoHeal.cs index 130f133801..94d078dfc5 100644 --- a/OpenRA.Mods.RA/AutoHeal.cs +++ b/OpenRA.Mods.RA/AutoHeal.cs @@ -29,7 +29,7 @@ namespace OpenRA.Mods.RA .Where(a => a.IsInWorld && !a.IsDead()) .Where(a => a.GetDamageState() > DamageState.Undamaged) .Where(a => attack.HasAnyValidWeapons(Target.FromActor(a))) - .ClosestTo( self.CenterLocation ); + .ClosestTo(self); if (target != null) self.QueueActivity(attack.GetAttackActivity(self, Target.FromActor(target), false)); diff --git a/OpenRA.Mods.RA/AutoTarget.cs b/OpenRA.Mods.RA/AutoTarget.cs index 993ff3f7c3..ec8bbc6490 100644 --- a/OpenRA.Mods.RA/AutoTarget.cs +++ b/OpenRA.Mods.RA/AutoTarget.cs @@ -127,7 +127,7 @@ namespace OpenRA.Mods.RA .Where(a => a.AppearsHostileTo(self)) .Where(a => !a.HasTrait()) .Where(a => attack.HasAnyValidWeapons(Target.FromActor(a))) - .ClosestTo(self.CenterLocation); + .ClosestTo(self); } else { @@ -136,7 +136,7 @@ namespace OpenRA.Mods.RA .Where(a => !a.HasTrait()) .Where(a => attack.HasAnyValidWeapons(Target.FromActor(a))) .Where(a => self.Owner.Shroud.IsTargetable(a)) - .ClosestTo(self.CenterLocation); + .ClosestTo(self); } } } diff --git a/OpenRA.Mods.RA/ProximityCapturable.cs b/OpenRA.Mods.RA/ProximityCapturable.cs index adcd435ad1..64e46935de 100644 --- a/OpenRA.Mods.RA/ProximityCapturable.cs +++ b/OpenRA.Mods.RA/ProximityCapturable.cs @@ -141,7 +141,7 @@ namespace OpenRA.Mods.RA // TODO exclude other NeutralActor that arent permanent Actor GetInRange(Actor self) { - return CaptorsInRange(self).ClosestTo( self.CenterLocation ); + return CaptorsInRange(self).ClosestTo(self); } int CountPlayersNear(Actor self, Player ignoreMe)