GPS Satellite.

This commit is contained in:
Paul Chote
2010-12-05 21:04:10 +13:00
parent 172e1eb295
commit cd10fb1db0
6 changed files with 55 additions and 45 deletions

View File

@@ -12,7 +12,7 @@ using System.Linq;
using OpenRA.Effects;
using OpenRA.Mods.RA.Effects;
using OpenRA.Traits;
/*
namespace OpenRA.Mods.RA
{
class GpsPowerInfo : SupportPowerInfo
@@ -26,29 +26,21 @@ namespace OpenRA.Mods.RA
{
public GpsPower(Actor self, GpsPowerInfo info) : base(self, info) { }
protected override void OnFinishCharging()
public override void Charged(Actor self, string key)
{
var launchSite = Owner.World.Queries.OwnedBy[Owner]
.FirstOrDefault(a => a.HasTrait<GpsLaunchSite>());
if (launchSite == null)
return;
Owner.World.AddFrameEndTask(w =>
self.Owner.PlayerActor.Trait<SupportPowerManager>().Powers[key].Activate(new Order());
}
public override void Activate(Actor self, Order order)
{
self.World.AddFrameEndTask(w =>
{
Sound.PlayToPlayer(Owner, Info.LaunchSound);
Sound.PlayToPlayer(self.Owner, Info.LaunchSound);
w.Add(new SatelliteLaunch(launchSite));
w.Add(new SatelliteLaunch(self));
w.Add(new DelayedAction((Info as GpsPowerInfo).RevealDelay * 25,
() => Owner.Shroud.Disabled = true));
() => self.Owner.Shroud.Disabled = true));
});
FinishActivate();
}
}
// tag trait to identify the building
class GpsLaunchSiteInfo : TraitInfo<GpsLaunchSite> { }
class GpsLaunchSite { }
}
*/