From ae111248f34a6ee51d3d7b7b6ab304e66306f86a Mon Sep 17 00:00:00 2001 From: abcdefg30 Date: Fri, 24 Mar 2017 18:06:10 +0100 Subject: [PATCH] Have some activities count as idle activities --- OpenRA.Game/Activities/Activity.cs | 1 + OpenRA.Game/Actor.cs | 2 +- OpenRA.Mods.Common/Activities/Air/FlyCircle.cs | 1 + OpenRA.Mods.Common/Activities/Air/HeliFlyCircle.cs | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/OpenRA.Game/Activities/Activity.cs b/OpenRA.Game/Activities/Activity.cs index e223321c78..97b7708c1e 100644 --- a/OpenRA.Game/Activities/Activity.cs +++ b/OpenRA.Game/Activities/Activity.cs @@ -152,6 +152,7 @@ namespace OpenRA.Activities set { NextActivity = value; } } + public bool IsIdle { get; protected set; } public bool IsInterruptible { get; protected set; } public bool IsCanceled { get { return State == ActivityState.Canceled; } } diff --git a/OpenRA.Game/Actor.cs b/OpenRA.Game/Actor.cs index 1192346848..148385fe1f 100644 --- a/OpenRA.Game/Actor.cs +++ b/OpenRA.Game/Actor.cs @@ -53,7 +53,7 @@ namespace OpenRA public IOccupySpace OccupiesSpace { get; private set; } public ITargetable[] Targetables { get; private set; } - public bool IsIdle { get { return CurrentActivity == null; } } + public bool IsIdle { get { return CurrentActivity == null || CurrentActivity.IsIdle; } } public bool IsDead { get { return Disposed || (health != null && health.IsDead); } } public CPos Location { get { return OccupiesSpace.TopLeft; } } diff --git a/OpenRA.Mods.Common/Activities/Air/FlyCircle.cs b/OpenRA.Mods.Common/Activities/Air/FlyCircle.cs index 7946560c21..ea89930fc7 100644 --- a/OpenRA.Mods.Common/Activities/Air/FlyCircle.cs +++ b/OpenRA.Mods.Common/Activities/Air/FlyCircle.cs @@ -21,6 +21,7 @@ namespace OpenRA.Mods.Common.Activities public FlyCircle(Actor self) { + IsIdle = true; plane = self.Trait(); cruiseAltitude = plane.Info.CruiseAltitude; } diff --git a/OpenRA.Mods.Common/Activities/Air/HeliFlyCircle.cs b/OpenRA.Mods.Common/Activities/Air/HeliFlyCircle.cs index 888ddbdf86..2eac754c36 100644 --- a/OpenRA.Mods.Common/Activities/Air/HeliFlyCircle.cs +++ b/OpenRA.Mods.Common/Activities/Air/HeliFlyCircle.cs @@ -22,6 +22,7 @@ namespace OpenRA.Mods.Common.Activities public HeliFlyCircle(Actor self) { helicopter = self.Trait(); + IsIdle = true; } public override Activity Tick(Actor self)