diff --git a/OpenRa.Game/OpenRa.Game.csproj b/OpenRa.Game/OpenRa.Game.csproj index b1a4ae7ced..308239c03e 100644 --- a/OpenRa.Game/OpenRa.Game.csproj +++ b/OpenRa.Game/OpenRa.Game.csproj @@ -81,7 +81,6 @@ - @@ -218,8 +217,6 @@ - - diff --git a/OpenRa.Game/Traits/RenderBuilding.cs b/OpenRa.Game/Traits/RenderBuilding.cs index dea269569c..b47885e261 100644 --- a/OpenRa.Game/Traits/RenderBuilding.cs +++ b/OpenRa.Game/Traits/RenderBuilding.cs @@ -3,12 +3,12 @@ using OpenRa.Effects; namespace OpenRa.Traits { - class RenderBuildingInfo : RenderSimpleInfo + public class RenderBuildingInfo : RenderSimpleInfo { public override object Create(Actor self) { return new RenderBuilding(self); } } - class RenderBuilding : RenderSimple, INotifyDamage, INotifySold + public class RenderBuilding : RenderSimple, INotifyDamage, INotifySold { const int SmallBibStart = 1; const int LargeBibStart = 5; diff --git a/OpenRa.Game/Traits/Selectable.cs b/OpenRa.Game/Traits/Selectable.cs index 494688975b..66a63a4ee8 100755 --- a/OpenRa.Game/Traits/Selectable.cs +++ b/OpenRa.Game/Traits/Selectable.cs @@ -5,12 +5,12 @@ using System.Text; namespace OpenRa.Traits { - class SelectableInfo : StatelessTraitInfo + public class SelectableInfo : StatelessTraitInfo { public readonly int Priority = 10; public readonly int[] Bounds = null; public readonly string Voice = "GenericVoice"; } - class Selectable {} + public class Selectable {} } diff --git a/OpenRa.Game/WorldUtils.cs b/OpenRa.Game/WorldUtils.cs index f66bc8469b..83f126fad1 100755 --- a/OpenRa.Game/WorldUtils.cs +++ b/OpenRa.Game/WorldUtils.cs @@ -52,6 +52,12 @@ namespace OpenRa world.TileSet.GetWalkability(world.Map.MapTiles[a.X, a.Y])) < double.PositiveInfinity; } + public static IEnumerable FindUnitsAtMouse(this World world, int2 mouseLocation) + { + var loc = mouseLocation + Game.viewport.Location; + return FindUnits(world, loc, loc); + } + public static IEnumerable FindUnits(this World world, float2 a, float2 b) { var min = float2.Min(a, b); diff --git a/OpenRa.Game/Effects/InvulnEffect.cs b/OpenRa.Mods.RA/Effects/InvulnEffect.cs old mode 100755 new mode 100644 similarity index 85% rename from OpenRa.Game/Effects/InvulnEffect.cs rename to OpenRa.Mods.RA/Effects/InvulnEffect.cs index e17dfd8382..b6a546adc3 --- a/OpenRa.Game/Effects/InvulnEffect.cs +++ b/OpenRa.Mods.RA/Effects/InvulnEffect.cs @@ -1,8 +1,9 @@ using System.Collections.Generic; using OpenRa.Graphics; using OpenRa.Traits; +using OpenRa.Effects; -namespace OpenRa.Effects +namespace OpenRa.Mods.RA.Effects { class InvulnEffect : IEffect { diff --git a/OpenRa.Game/Traits/IronCurtainPower.cs b/OpenRa.Mods.RA/IronCurtainPower.cs similarity index 87% rename from OpenRa.Game/Traits/IronCurtainPower.cs rename to OpenRa.Mods.RA/IronCurtainPower.cs index d0a727f415..3548e25aa1 100644 --- a/OpenRa.Game/Traits/IronCurtainPower.cs +++ b/OpenRa.Mods.RA/IronCurtainPower.cs @@ -1,10 +1,8 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; -using System.Text; -using OpenRa.Orders; +using OpenRa.Traits; -namespace OpenRa.Traits +namespace OpenRa.Mods.RA { class IronCurtainPowerInfo : SupportPowerInfo { @@ -61,9 +59,8 @@ namespace OpenRa.Traits { if (mi.Button == MouseButton.Left) { - var loc = mi.Location + Game.viewport.Location; - var underCursor = world.FindUnits(loc, loc) - .Where(a => a.Owner == world.LocalPlayer + var underCursor = world.FindUnitsAtMouse(mi.Location) + .Where(a => a.Owner != null && a.traits.Contains() && a.traits.Contains()).FirstOrDefault(); diff --git a/OpenRa.Game/Traits/IronCurtainable.cs b/OpenRa.Mods.RA/IronCurtainable.cs similarity index 84% rename from OpenRa.Game/Traits/IronCurtainable.cs rename to OpenRa.Mods.RA/IronCurtainable.cs index 3447cb0efb..b60a0f890c 100644 --- a/OpenRa.Game/Traits/IronCurtainable.cs +++ b/OpenRa.Mods.RA/IronCurtainable.cs @@ -1,7 +1,9 @@ using System.Linq; using OpenRa.Effects; +using OpenRa.Traits; +using OpenRa.Mods.RA.Effects; -namespace OpenRa.Traits +namespace OpenRa.Mods.RA { class IronCurtainableInfo : ITraitInfo { diff --git a/OpenRa.Mods.RA/OpenRa.Mods.RA.csproj b/OpenRa.Mods.RA/OpenRa.Mods.RA.csproj index 188136c025..bff7beb4c1 100644 --- a/OpenRa.Mods.RA/OpenRa.Mods.RA.csproj +++ b/OpenRa.Mods.RA/OpenRa.Mods.RA.csproj @@ -53,9 +53,12 @@ + + +