From 63b8555bc9dee2df61ac60021aa4ca11c5baf3f6 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 7 Oct 2010 01:13:48 -0500 Subject: [PATCH] Fix bug that prevented ground units from attacking landed aircraft. --- OpenRA.Mods.RA/TargetableAircraft.cs | 40 ++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 OpenRA.Mods.RA/TargetableAircraft.cs diff --git a/OpenRA.Mods.RA/TargetableAircraft.cs b/OpenRA.Mods.RA/TargetableAircraft.cs new file mode 100644 index 0000000000..eb3d4e2122 --- /dev/null +++ b/OpenRA.Mods.RA/TargetableAircraft.cs @@ -0,0 +1,40 @@ +#region Copyright & License Information +/* + * Copyright 2007-2010 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 LICENSE. + */ +#endregion + +using System.Drawing; +using OpenRA.Graphics; +using System.Linq; +using OpenRA.Traits; + +namespace OpenRA.Mods.RA +{ + public class TargetableAircraftInfo : TargetableInfo + { + public readonly string[] TargetTypes = { }; + public readonly string[] GroundedTargetTypes = { }; + public override object Create(ActorInitializer init) { return new TargetableAircraft(init.self, this); } + } + + public class TargetableAircraft : ITargetable + { + TargetableAircraftInfo Info; + Aircraft Aircraft; + public TargetableAircraft(Actor self, TargetableAircraftInfo info) + { + Info = info; + Aircraft = self.Trait(); + } + + public string[] TargetTypes + { + get { return (Aircraft.Altitude > 0) ? Info.TargetTypes : Info.GroundedTargetTypes; } + } + } +}