factor out GetActorBelow from ReserveSpawnBuilding

This commit is contained in:
Chris Forbes
2011-10-08 22:04:21 +13:00
parent a193eeb202
commit c7f780eb1d

View File

@@ -124,14 +124,20 @@ namespace OpenRA.Mods.RA.Air
Info = info;
}
protected void ReserveSpawnBuilding( Actor self )
public Actor GetActorBelow( Actor self )
{
if (self.Trait<IMove>().Altitude != 0)
return;
return null; // not on the ground.
/* not spawning in the air, so try to assoc. with our afld. this is a hack. */
var afld = self.World.FindUnits(self.CenterLocation, self.CenterLocation)
return self.World.FindUnits(self.CenterLocation, self.CenterLocation)
.FirstOrDefault( a => a.HasTrait<Reservable>() );
}
protected void ReserveSpawnBuilding( Actor self )
{
/* not spawning in the air, so try to assoc. with our afld. this is a hack. */
var afld = GetActorBelow(self);
if (afld == null)
return;