text rendering
This commit is contained in:
@@ -13,6 +13,9 @@ namespace OpenRa.Game.Graphics
|
||||
public Shader SpriteShader { get; private set; } /* note: shared shader params */
|
||||
public Shader LineShader { get; private set; }
|
||||
|
||||
readonly SpriteHelper sh;
|
||||
readonly FontHelper fhDebug;
|
||||
|
||||
public void BuildPalette(Map map)
|
||||
{
|
||||
palettes = Util.MakeArray(7, i => new HardwarePalette(this, map, i).Texture);
|
||||
@@ -33,6 +36,9 @@ namespace OpenRa.Game.Graphics
|
||||
SpriteShader.Quality = ShaderQuality.Low;
|
||||
LineShader = new Shader(device, FileSystem.Open("line.fx"));
|
||||
LineShader.Quality = ShaderQuality.High;
|
||||
|
||||
sh = new SpriteHelper(device );
|
||||
fhDebug = new FontHelper(device, "Tahoma", 10, false );
|
||||
}
|
||||
|
||||
public GraphicsDevice Device { get { return device; } }
|
||||
@@ -83,5 +89,12 @@ namespace OpenRa.Game.Graphics
|
||||
device.DrawIndexedPrimitives(type,
|
||||
vertexPool, numPrimitives);
|
||||
}
|
||||
|
||||
public void DrawText(string text, int2 pos, Color c)
|
||||
{
|
||||
sh.Begin();
|
||||
fhDebug.Draw(sh, text, pos.X, pos.Y, c.ToArgb());
|
||||
sh.End();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,8 @@ namespace OpenRa.Game.Graphics
|
||||
public readonly SpriteRenderer spriteRenderer;
|
||||
public readonly LineRenderer lineRenderer;
|
||||
public readonly Region region;
|
||||
public readonly UiOverlay uiOverlay;
|
||||
public readonly UiOverlay uiOverlay;
|
||||
readonly Renderer renderer;
|
||||
|
||||
public static bool ShowUnitPaths = false;
|
||||
|
||||
@@ -23,8 +24,9 @@ namespace OpenRa.Game.Graphics
|
||||
Game.viewport.Width - 128, Draw,
|
||||
Game.controller.HandleMouseInput);
|
||||
|
||||
Game.viewport.AddRegion(region);
|
||||
|
||||
Game.viewport.AddRegion(region);
|
||||
|
||||
this.renderer = renderer;
|
||||
spriteRenderer = new SpriteRenderer(renderer, true);
|
||||
lineRenderer = new LineRenderer(renderer);
|
||||
uiOverlay = new UiOverlay(spriteRenderer);
|
||||
@@ -90,7 +92,9 @@ namespace OpenRa.Game.Graphics
|
||||
foreach( var a in uog.selection )
|
||||
DrawSelectionBox(a, Color.White, true);
|
||||
|
||||
lineRenderer.Flush();
|
||||
lineRenderer.Flush();
|
||||
|
||||
renderer.DrawText(string.Format("Frame {0}", Game.orderManager.FrameNumber), new int2(5, 5), Color.White);
|
||||
}
|
||||
|
||||
const float conditionYellow = 0.5f; /* todo: get these from gamerules */
|
||||
|
||||
@@ -14,6 +14,8 @@ namespace OpenRa.Game
|
||||
List<OrderSource> players;
|
||||
int frameNumber = 0;
|
||||
|
||||
public int FrameNumber { get { return frameNumber; } }
|
||||
|
||||
public OrderManager( IEnumerable<OrderSource> players )
|
||||
{
|
||||
this.players = players.ToList();
|
||||
|
||||
Reference in New Issue
Block a user