fix cancel interaction with UnloadCargo activity; punt to the end of the frame

This commit is contained in:
Chris Forbes
2011-07-29 21:00:45 +12:00
parent 26b9feaf4b
commit 47757161d6

View File

@@ -14,7 +14,6 @@ using OpenRA.Mods.RA.Buildings;
using OpenRA.Mods.RA.Render;
using OpenRA.Mods.RA.Activities;
using OpenRA.Traits;
using OpenRA.Traits.Activities;
namespace OpenRA.Mods.RA
{
@@ -37,12 +36,15 @@ namespace OpenRA.Mods.RA
{
if (info.PassengerTypes.Contains(passenger.Info.Name) && transformTo != null)
{
self.CancelActivity();
self.QueueActivity( new Transform(self, transformTo) { Facing = self.Trait<IFacing>().Facing } );
self.World.AddFrameEndTask( w =>
{
self.CancelActivity();
self.QueueActivity( new Transform(self, transformTo) { Facing = self.Trait<IFacing>().Facing } );
});
}
}
public void PassengerEntered(Actor self, Actor passenger) { MaybeTransform(self, passenger, info.OnEnter); }
public void PassengerExited(Actor self, Actor passenger) { MaybeTransform(self, passenger, info.OnExit); }
}
}
}