Merge pull request #9786 from RoosterDragon/reserve-fixes

Reserve fixes
This commit is contained in:
abcdefg30
2015-12-01 21:13:41 +01:00
4 changed files with 19 additions and 40 deletions

View File

@@ -52,13 +52,7 @@ namespace OpenRA.Mods.Common.Activities
return Util.SequenceActivities(new HeliFly(self, Target.FromActor(nearestHpad)));
}
var res = dest.TraitOrDefault<Reservable>();
if (res != null)
{
heli.UnReserve();
heli.Reservation = res.Reserve(dest, self, heli);
}
heli.MakeReservation(dest);
var exit = dest.Info.TraitInfos<ExitInfo>().FirstOrDefault();
var offset = (exit != null) ? exit.SpawnOffset : WVec.Zero;

View File

@@ -49,12 +49,7 @@ namespace OpenRA.Mods.Common.Activities
if (dest == null)
return;
var res = dest.TraitOrDefault<Reservable>();
if (res != null)
{
plane.UnReserve();
plane.Reservation = res.Reserve(dest, self, plane);
}
plane.MakeReservation(dest);
var landPos = dest.CenterPosition;
var altitude = planeInfo.CruiseAltitude.Length;

View File

@@ -30,12 +30,7 @@ namespace OpenRA.Mods.Common.Activities
if (NextActivity == null)
self.CancelActivity();
var reservation = aircraft.Reservation;
if (reservation != null)
{
reservation.Dispose();
reservation = null;
}
aircraft.UnReserve();
var host = aircraft.GetActorBelow();
var hasHost = host != null;