Issue repair orders to Repairable units via RepairOrderGenerator

This commit is contained in:
penev92
2015-04-28 21:01:16 +03:00
parent a507b7d567
commit 070e5109f5
2 changed files with 38 additions and 12 deletions

View File

@@ -108,5 +108,17 @@ namespace OpenRA.Mods.Common.Traits
}));
}
}
public Actor FindRepairBuilding(Actor self)
{
var repairBuilding = self.World.ActorsWithTrait<RepairsUnits>()
.Where(a => !a.Actor.IsDead && a.Actor.IsInWorld
&& a.Actor.Owner == self.Owner &&
info.RepairBuildings.Contains(a.Actor.Info.Name))
.OrderBy(p => (self.Location - p.Actor.Location).LengthSquared);
// Worst case FirstOrDefault() will return a TraitPair<null, null>, which is OK.
return repairBuilding.FirstOrDefault().Actor;
}
}
}