fix cancel interaction with UnloadCargo activity; punt to the end of the frame
This commit is contained in:
@@ -14,7 +14,6 @@ using OpenRA.Mods.RA.Buildings;
|
|||||||
using OpenRA.Mods.RA.Render;
|
using OpenRA.Mods.RA.Render;
|
||||||
using OpenRA.Mods.RA.Activities;
|
using OpenRA.Mods.RA.Activities;
|
||||||
using OpenRA.Traits;
|
using OpenRA.Traits;
|
||||||
using OpenRA.Traits.Activities;
|
|
||||||
|
|
||||||
namespace OpenRA.Mods.RA
|
namespace OpenRA.Mods.RA
|
||||||
{
|
{
|
||||||
@@ -36,9 +35,12 @@ namespace OpenRA.Mods.RA
|
|||||||
void MaybeTransform(Actor self, Actor passenger, string transformTo)
|
void MaybeTransform(Actor self, Actor passenger, string transformTo)
|
||||||
{
|
{
|
||||||
if (info.PassengerTypes.Contains(passenger.Info.Name) && transformTo != null)
|
if (info.PassengerTypes.Contains(passenger.Info.Name) && transformTo != null)
|
||||||
|
{
|
||||||
|
self.World.AddFrameEndTask( w =>
|
||||||
{
|
{
|
||||||
self.CancelActivity();
|
self.CancelActivity();
|
||||||
self.QueueActivity( new Transform(self, transformTo) { Facing = self.Trait<IFacing>().Facing } );
|
self.QueueActivity( new Transform(self, transformTo) { Facing = self.Trait<IFacing>().Facing } );
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user