diff --git a/OpenRa.Game/MoveOrder.cs b/OpenRa.Game/MoveOrder.cs index ea7b2f5b41..bc169ec032 100644 --- a/OpenRa.Game/MoveOrder.cs +++ b/OpenRa.Game/MoveOrder.cs @@ -30,7 +30,8 @@ namespace OpenRa.Game { if (Game.LocalPlayer == Unit.Owner) Game.PlaySound("ackno.r00", false); - var mobile = Unit.traits.Get(); + var mobile = Unit.traits.Get(); + mobile.Cancel(Unit); mobile.QueueAction( new Traits.Mobile.MoveTo( Destination ) ); } } diff --git a/OpenRa.Game/Traits/Mobile.cs b/OpenRa.Game/Traits/Mobile.cs index 953809760c..dd431470c9 100644 --- a/OpenRa.Game/Traits/Mobile.cs +++ b/OpenRa.Game/Traits/Mobile.cs @@ -55,8 +55,13 @@ namespace OpenRa.Game.Traits return new MoveOrder(self, xy); return null; + } + + public void Cancel(Actor self) + { + if (currentAction != null) + currentAction.Cancel(self, this); } - public interface CurrentAction {