Introduce Renderable.BeforeRender().

WorldRenderer.Draw() has been slightly reorganized
to ensure that BeforeRender is called before any
drawing render state (e.g. scissor) has been set.
This commit is contained in:
Paul Chote
2013-06-11 19:07:50 +12:00
parent 18311be3ae
commit 7a71f87d9f
3 changed files with 20 additions and 11 deletions

View File

@@ -40,6 +40,7 @@ namespace OpenRA.Graphics
IRenderable WithPalette(PaletteReference newPalette);
IRenderable WithZOffset(int newOffset);
IRenderable WithPos(WPos pos);
void BeforeRender(WorldRenderer wr);
void Render(WorldRenderer wr);
void RenderDebugGeometry(WorldRenderer wr);
}
@@ -80,6 +81,7 @@ namespace OpenRA.Graphics
public IRenderable WithZOffset(int newOffset) { return new SpriteRenderable(sprite, pos, newOffset, palette, scale); }
public IRenderable WithPos(WPos pos) { return new SpriteRenderable(sprite, pos, zOffset, palette, scale); }
public void BeforeRender(WorldRenderer wr) {}
public void Render(WorldRenderer wr)
{
sprite.DrawAt(wr.ScreenPxPosition(pos) - pxCenter, palette, scale);