Draw annotations using the UI renderers.

This commit is contained in:
Paul Chote
2019-09-15 12:20:08 +01:00
committed by abcdefg30
parent 8c1b0f1afe
commit e772adb0a9
13 changed files with 108 additions and 112 deletions

View File

@@ -46,12 +46,11 @@ namespace OpenRA.Graphics
if (!waypoints.Any())
return;
var sw = width / wr.Viewport.Zoom;
var first = wr.Screen3DPosition(waypoints.First());
var first = wr.Viewport.WorldToViewPx(wr.Screen3DPosition(waypoints.First()));
var a = first;
foreach (var b in waypoints.Skip(1).Select(pos => wr.Screen3DPosition(pos)))
foreach (var b in waypoints.Skip(1).Select(pos => wr.Viewport.WorldToViewPx(wr.Screen3DPosition(pos))))
{
Game.Renderer.WorldRgbaColorRenderer.DrawLine(a, b, sw, color);
Game.Renderer.RgbaColorRenderer.DrawLine(a, b, width, color);
DrawTargetMarker(wr, color, b, markerSize);
a = b;
}
@@ -59,13 +58,12 @@ namespace OpenRA.Graphics
DrawTargetMarker(wr, color, first);
}
public static void DrawTargetMarker(WorldRenderer wr, Color color, float3 location, int size = 1)
public static void DrawTargetMarker(WorldRenderer wr, Color color, int2 screenPos, int size = 1)
{
var sw = size / wr.Viewport.Zoom;
var offset = new float2(sw, sw);
var tl = location - offset;
var br = location + offset;
Game.Renderer.WorldRgbaColorRenderer.FillRect(tl, br, color);
var offset = new int2(size, size);
var tl = screenPos - offset;
var br = screenPos + offset;
Game.Renderer.RgbaColorRenderer.FillRect(tl, br, color);
}
public void RenderDebugGeometry(WorldRenderer wr) { }