gps support power wired up properly

This commit is contained in:
Chris Forbes
2010-01-08 22:25:12 +13:00
parent 6d509e6234
commit 54c28ab74d
7 changed files with 38 additions and 28 deletions

View File

@@ -0,0 +1,30 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using OpenRa.Game.Effects;
namespace OpenRa.Game.SupportPowers
{
class GpsSatellite : ISupportPowerImpl
{
const int revealDelay = 30 * 25;
public void Activate(SupportPower p)
{
var launchSite = Game.world.Actors
.FirstOrDefault( a => a.Owner == p.Owner && a.traits.Contains<Traits.GpsSatellite>() );
if (launchSite == null)
return;
Game.world.AddFrameEndTask(w =>
{
w.Add(new SatelliteLaunch(launchSite));
w.Add(new DelayedAction(revealDelay, () => p.Owner.Shroud.HasGPS = true));
});
p.FinishActivate();
}
}
}