Disable Gps when tech center is disabled.

This commit is contained in:
Matthias Mailänder
2016-04-02 13:01:35 +02:00
parent a29b9ff7be
commit a8471d9f54

View File

@@ -34,7 +34,7 @@ namespace OpenRA.Mods.RA.Traits
public override object Create(ActorInitializer init) { return new GpsPower(init.Self, this); }
}
class GpsPower : SupportPower, INotifyKilled, INotifySold, INotifyOwnerChanged
class GpsPower : SupportPower, INotifyKilled, INotifySold, INotifyOwnerChanged, ITick
{
readonly GpsPowerInfo info;
GpsWatcher owner;
@@ -83,5 +83,21 @@ namespace OpenRA.Mods.RA.Traits
owner = newOwner.PlayerActor.Trait<GpsWatcher>();
owner.GpsAdd(self);
}
bool wasDisabled;
public void Tick(Actor self)
{
if (!wasDisabled && self.IsDisabled())
{
wasDisabled = true;
RemoveGps(self);
}
else if (wasDisabled && !self.IsDisabled())
{
wasDisabled = false;
owner.GpsAdd(self);
}
}
}
}