Move duplicate Tick() code from Plane and Helicopter to Aircraft.

This commit is contained in:
Lavender Moon
2015-08-27 07:46:05 -04:00
parent d5e0bf2169
commit 4649c03260
3 changed files with 23 additions and 42 deletions

View File

@@ -77,6 +77,29 @@ namespace OpenRA.Mods.Common.Traits
Facing = init.Contains<FacingInit>() ? init.Get<FacingInit, int>() : info.InitialFacing;
}
bool firstTick = true;
public virtual void Tick(Actor self)
{
if (firstTick)
{
firstTick = false;
// TODO: Aircraft husks don't properly unreserve.
if (self.HasTrait<FallsToEarth>())
return;
ReserveSpawnBuilding();
var host = GetActorBelow();
if (host == null)
return;
self.QueueActivity(new TakeOff(self));
}
Repulse();
}
public void Repulse()
{
var repulsionForce = GetRepulsionForce();