Improve contrasted range circle rendering.
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user