fix gps desync

This commit is contained in:
Chris Forbes
2010-01-09 12:15:24 +13:00
parent 51baf1f11d
commit 0fe448bc3e

View File

@@ -11,26 +11,22 @@ namespace OpenRa.Game.SupportPowers
public void OnFireNotification(Actor a, int2 xy) { }
public void IsChargingNotification(SupportPower p) { }
public void IsReadyNotification(SupportPower p)
{
// Power is auto-activated
Activate(p);
}
public void Activate(SupportPower p)
{
var launchSite = Game.world.Actors
.FirstOrDefault( a => a.Owner == p.Owner && a.traits.Contains<GpsLaunchSite>() );
.FirstOrDefault(a => a.Owner == p.Owner && a.traits.Contains<GpsLaunchSite>());
if (launchSite == null)
return;
Game.world.AddFrameEndTask(w =>
{
w.Add(new SatelliteLaunch(launchSite));
w.Add(new DelayedAction(revealDelay, () => p.Owner.Shroud.HasGPS = true));
});
{
w.Add(new SatelliteLaunch(launchSite));
w.Add(new DelayedAction(revealDelay, () => p.Owner.Shroud.HasGPS = true));
});
p.FinishActivate();
}
public void Activate(SupportPower p) {}
}
}