diff --git a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj index 1d84308a23..b3e0b7bb02 100644 --- a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj +++ b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj @@ -162,6 +162,7 @@ + diff --git a/OpenRA.Mods.RA/Render/WithRotor.cs b/OpenRA.Mods.Common/Traits/Render/WithRotor.cs old mode 100755 new mode 100644 similarity index 91% rename from OpenRA.Mods.RA/Render/WithRotor.cs rename to OpenRA.Mods.Common/Traits/Render/WithRotor.cs index 78dc4da03f..e1ac419f1e --- a/OpenRA.Mods.RA/Render/WithRotor.cs +++ b/OpenRA.Mods.Common/Traits/Render/WithRotor.cs @@ -12,10 +12,9 @@ using System; using System.Collections.Generic; using OpenRA.Graphics; using OpenRA.Mods.Common.Graphics; -using OpenRA.Mods.Common.Traits; using OpenRA.Traits; -namespace OpenRA.Mods.RA.Render +namespace OpenRA.Mods.Common.Traits { [Desc("Displays a helicopter rotor overlay.")] public class WithRotorInfo : ITraitInfo, IRenderActorPreviewSpritesInfo, Requires, Requires @@ -64,7 +63,7 @@ namespace OpenRA.Mods.RA.Render rotorAnim.PlayRepeating(info.Sequence); rs.Add(info.Id, new AnimationWithOffset(rotorAnim, () => body.LocalToWorld(info.Offset.Rotate(body.QuantizeOrientation(self, self.Orientation))), - null, () => false, p => WithTurret.ZOffsetFromCenter(self, p, 1))); + null, () => false, p => ZOffsetFromCenter(self, p, 1))); } public void Tick(Actor self) @@ -75,5 +74,11 @@ namespace OpenRA.Mods.RA.Render rotorAnim.ReplaceAnim(isFlying ? info.Sequence : info.GroundSequence); } + + static public int ZOffsetFromCenter(Actor self, WPos pos, int offset) + { + var delta = self.CenterPosition - pos; + return delta.Y + delta.Z + offset; + } } } diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj index 62f6595828..1112c60346 100644 --- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj +++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj @@ -239,7 +239,6 @@ -