diff --git a/OpenRA.Game/Graphics/WorldRenderer.cs b/OpenRA.Game/Graphics/WorldRenderer.cs index 3be2eef74b..a2c506dd81 100644 --- a/OpenRA.Game/Graphics/WorldRenderer.cs +++ b/OpenRA.Game/Graphics/WorldRenderer.cs @@ -37,26 +37,11 @@ namespace OpenRA.Graphics { Game.Renderer.LineRenderer.DrawLine(start,end,startColor,endColor); } - - public int GetPaletteIndex(string name) - { - return palette.GetPaletteIndex(name); - } - public Palette GetPalette(string name) - { - return palette.GetPalette(name); - } - - public void AddPalette(string name, Palette pal) - { - palette.AddPalette(name, pal); - } - - public void UpdatePalette(string name, Palette pal) - { - palette.UpdatePalette(name, pal); - } + public int GetPaletteIndex(string name) { return palette.GetPaletteIndex(name); } + public Palette GetPalette(string name) { return palette.GetPalette(name); } + public void AddPalette(string name, Palette pal) { palette.AddPalette(name, pal); } + public void UpdatePalette(string name, Palette pal) { palette.UpdatePalette(name, pal); } void DrawSpriteList(IEnumerable images) { @@ -369,7 +354,7 @@ namespace OpenRA.Graphics var prev = location + Game.CellSize * range * float2.FromAngle(0); for (var i = 1; i <= 32; i++) { - var pos = location + Game.CellSize * range * float2.FromAngle((float)(Math.PI * i) / 8); + var pos = location + Game.CellSize * range * float2.FromAngle((float)(Math.PI * i) / 16); Game.Renderer.LineRenderer.DrawLine(prev, pos, c, c); prev = pos; } diff --git a/OpenRA.Game/OpenRA.Game.csproj b/OpenRA.Game/OpenRA.Game.csproj index 4540344119..41486cd242 100755 --- a/OpenRA.Game/OpenRA.Game.csproj +++ b/OpenRA.Game/OpenRA.Game.csproj @@ -1,4 +1,4 @@ - + Debug @@ -81,7 +81,6 @@ - diff --git a/OpenRA.Game/Orders/UnitOrderGenerator.cs b/OpenRA.Game/Orders/UnitOrderGenerator.cs index 4c8e0027cc..92cb9b33b4 100644 --- a/OpenRA.Game/Orders/UnitOrderGenerator.cs +++ b/OpenRA.Game/Orders/UnitOrderGenerator.cs @@ -41,15 +41,8 @@ namespace OpenRA.Orders { world.WorldRenderer.DrawSelectionBox(a, Color.White, true); if (a.Owner == world.LocalPlayer) - { - //if (a.traits.Contains()) - // world.WorldRenderer.DrawRangeCircle(Color.FromArgb(128, Color.Yellow), - // a.CenterLocation, (int)a.GetPrimaryWeapon().Range); - - if (a.traits.Contains()) - world.WorldRenderer.DrawRangeCircle(Color.FromArgb(128, Color.LimeGreen), - a.CenterLocation, a.Info.Traits.Get().Range); - } + foreach (var t in a.traits.WithInterface()) + t.Render(a); } } diff --git a/OpenRA.Game/Traits/TraitsInterfaces.cs b/OpenRA.Game/Traits/TraitsInterfaces.cs index b70f1847f0..a74a24228a 100644 --- a/OpenRA.Game/Traits/TraitsInterfaces.cs +++ b/OpenRA.Game/Traits/TraitsInterfaces.cs @@ -166,6 +166,8 @@ namespace OpenRA.Traits public interface IVictoryConditions { } public interface IBlocksBullets { } + public interface IRenderSelection { void Render(Actor self); } + public struct Target // a target: either an actor, or a fixed location. { Actor actor; diff --git a/OpenRA.Game/Traits/DetectCloaked.cs b/OpenRA.Mods.RA/DetectCloaked.cs similarity index 86% rename from OpenRA.Game/Traits/DetectCloaked.cs rename to OpenRA.Mods.RA/DetectCloaked.cs index 6d4576f54a..96f2af8ddb 100644 --- a/OpenRA.Game/Traits/DetectCloaked.cs +++ b/OpenRA.Mods.RA/DetectCloaked.cs @@ -9,8 +9,9 @@ #endregion using System.Linq; +using OpenRA.Traits; -namespace OpenRA.Traits +namespace OpenRA.Mods.RA { class DetectCloakedInfo : TraitInfo { @@ -22,7 +23,8 @@ namespace OpenRA.Traits class DetectCloaked : ITick { - [Sync] int ticks; + [Sync] + int ticks; public void Tick(Actor self) { @@ -42,7 +44,4 @@ namespace OpenRA.Traits } } } - - class RenderRangeCircleInfo : TraitInfo { } - class RenderRangeCircle { } } diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj index ca630ade20..c7c44ad9f4 100644 --- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj +++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj @@ -80,6 +80,7 @@ + @@ -91,6 +92,8 @@ + + @@ -232,6 +235,9 @@ OpenRA.Game + + +