#region Copyright & License Information /* * Copyright 2007-2011 The OpenRA Developers (see AUTHORS) * This file is part of OpenRA, which is free software. It is made * available to you under the terms of the GNU General Public License * as published by the Free Software Foundation. For more information, * see COPYING. */ #endregion using OpenRA.Mods.Cnc.Effects; using OpenRA.Mods.RA; namespace OpenRA.Mods.Cnc { class IonCannonPowerInfo : SupportPowerInfo { public override object Create(ActorInitializer init) { return new IonCannonPower(init.self, this); } } class IonCannonPower : SupportPower { public IonCannonPower(Actor self, IonCannonPowerInfo info) : base(self, info) { } public override IOrderGenerator OrderGenerator(string order, SupportPowerManager manager) { Sound.PlayToPlayer(manager.self.Owner, Info.SelectTargetSound); return new SelectGenericPowerTarget(order, manager, "ioncannon", MouseButton.Left); } public override void Activate(Actor self, Order order) { self.World.AddFrameEndTask(w => { Sound.Play(Info.LaunchSound, order.TargetLocation.CenterPosition); w.Add(new IonCannon(self, w, order.TargetLocation)); }); } } }