Improve contrasted range circle rendering.

This commit is contained in:
Paul Chote
2013-10-14 23:28:22 +13:00
parent d2d73a32a2
commit 839419635d
6 changed files with 14 additions and 20 deletions

View File

@@ -189,15 +189,15 @@ namespace OpenRA.Graphics
}
}
public void DrawRangeCircleWithContrast(Color fg, float2 location, float range, Color bg, int offset)
public void DrawRangeCircleWithContrast(Color fg, float2 location, float range, Color bg)
{
if (offset > 0)
{
DrawRangeCircle(bg, location, range + (float)offset / Game.CellSize);
DrawRangeCircle(bg, location, range - (float)offset / Game.CellSize);
}
var wlr = Game.Renderer.WorldLineRenderer;
var oldWidth = wlr.LineWidth;
wlr.LineWidth = 3;
DrawRangeCircle(bg, location, range);
wlr.LineWidth = 1;
DrawRangeCircle(fg, location, range);
wlr.LineWidth = oldWidth;
}
public void RefreshPalette()

View File

@@ -72,7 +72,7 @@ namespace OpenRA.Mods.RA.Buildings
wr.DrawRangeCircleWithContrast(
Color.FromArgb(128, Ready() ? Color.White : Color.Red),
wr.ScreenPxPosition(self.CenterPosition), Info.Range,
Color.FromArgb(96, Color.Black), 1);
Color.FromArgb(96, Color.Black));
}
// Selection bar

View File

@@ -33,8 +33,7 @@ namespace OpenRA.Mods.RA
wr.DrawRangeCircleWithContrast(
Color.FromArgb(128, Color.LimeGreen),
wr.ScreenPxPosition(self.CenterPosition), self.Info.Traits.Get<DetectCloakedInfo>().Range,
Color.FromArgb(96, Color.Black),
1);
Color.FromArgb(96, Color.Black));
}
}
}

View File

@@ -61,8 +61,7 @@ namespace OpenRA.Mods.RA
Color.FromArgb(128, color),
wr.ScreenPxPosition(pos),
range,
Color.FromArgb(96, Color.Black),
1);
Color.FromArgb(96, Color.Black));
}
}
}

View File

@@ -30,8 +30,7 @@ namespace OpenRA.Mods.RA
Color.FromArgb(128, Color.Yellow), wr.ScreenPxPosition(centerPosition),
ai.Traits.WithInterface<ArmamentInfo>()
.Select(a => Rules.Weapons[a.Weapon.ToLowerInvariant()].Range).Max(),
Color.FromArgb(96, Color.Black), 1
);
Color.FromArgb(96, Color.Black));
foreach (var a in w.ActorsWithTrait<RenderRangeCircle>())
if (a.Actor.Owner == a.Actor.World.LocalPlayer)
@@ -58,8 +57,7 @@ namespace OpenRA.Mods.RA
wr.DrawRangeCircleWithContrast(
Color.FromArgb(128, Color.Yellow),
wr.ScreenPxPosition(self.CenterPosition), pxRange,
Color.FromArgb(96, Color.Black),
1);
Color.FromArgb(96, Color.Black));
}
}
}

View File

@@ -22,8 +22,7 @@ namespace OpenRA.Mods.RA
Color.FromArgb(128, Color.Cyan),
wr.ScreenPxPosition(centerPosition),
ai.Traits.Get<CreatesShroudInfo>().Range,
Color.FromArgb(96, Color.Black),
1);
Color.FromArgb(96, Color.Black));
foreach (var a in w.ActorsWithTrait<RenderShroudCircle>())
if (a.Actor.Owner == a.Actor.World.LocalPlayer)
@@ -47,8 +46,7 @@ namespace OpenRA.Mods.RA
wr.DrawRangeCircleWithContrast(
Color.FromArgb(128, Color.Cyan),
wr.ScreenPxPosition(self.CenterPosition), self.Info.Traits.Get<CreatesShroudInfo>().Range,
Color.FromArgb(96, Color.Black),
1);
Color.FromArgb(96, Color.Black));
}
}
}