Add a ReturnToGroundLayerOnIdle flag to CustomMovementLayers

Co-authored-by: Mazar Farran <farranmazar@gmail.com>
Co-authored-by: Paul Chote <paul@chote.net>
This commit is contained in:
Oliver Brakmann
2018-12-24 22:47:34 +00:00
committed by reaperrr
parent 8fc483b30b
commit 0bd00d3b7c
7 changed files with 13 additions and 2 deletions

View File

@@ -672,7 +672,13 @@ namespace OpenRA.Mods.Common.Traits
void INotifyBecomingIdle.OnBecomingIdle(Actor self)
{
if (TopLeft.Layer == 0)
if (self.Location.Layer == 0)
return;
var cml = self.World.WorldActor.TraitsImplementing<ICustomMovementLayer>()
.First(l => l.Index == self.Location.Layer);
if (!cml.ReturnToGroundLayerOnIdle)
return;
var moveTo = ClosestGroundCell();