using props in Sound rather than setter functions; no idea if it's right, because there's no way to test

This commit is contained in:
Chris Forbes
2009-12-27 21:54:37 +13:00
parent 413cfcada6
commit 6ff4ea3717
2 changed files with 44 additions and 32 deletions

View File

@@ -82,21 +82,7 @@ namespace OpenRa.Game.Graphics
spriteRenderer.Flush();
var selbox = Game.controller.SelectionBox;
if (selbox != null)
{
var a = selbox.Value.First;
var b = new float2(selbox.Value.Second.X - a.X, 0);
var c = new float2(0, selbox.Value.Second.Y - a.Y);
lineRenderer.DrawLine(a, a + b, Color.White, Color.White);
lineRenderer.DrawLine(a + b, a + b + c, Color.White, Color.White);
lineRenderer.DrawLine(a + b + c, a + c, Color.White, Color.White);
lineRenderer.DrawLine(a, a + c, Color.White, Color.White);
foreach (var u in Game.SelectActorsInBox(selbox.Value.First, selbox.Value.Second))
DrawSelectionBox(u, Color.Yellow, false);
}
DrawBandBox();
if (Game.controller.orderGenerator != null)
Game.controller.orderGenerator.Render();
@@ -105,6 +91,24 @@ namespace OpenRa.Game.Graphics
spriteRenderer.Flush();
}
void DrawBandBox()
{
var selbox = Game.controller.SelectionBox;
if (selbox == null) return;
var a = selbox.Value.First;
var b = new float2(selbox.Value.Second.X - a.X, 0);
var c = new float2(0, selbox.Value.Second.Y - a.Y);
lineRenderer.DrawLine(a, a + b, Color.White, Color.White);
lineRenderer.DrawLine(a + b, a + b + c, Color.White, Color.White);
lineRenderer.DrawLine(a + b + c, a + c, Color.White, Color.White);
lineRenderer.DrawLine(a, a + c, Color.White, Color.White);
foreach (var u in Game.SelectActorsInBox(selbox.Value.First, selbox.Value.Second))
DrawSelectionBox(u, Color.Yellow, false);
}
public void DrawSelectionBox(Actor selectedUnit, Color c, bool drawHealthBar)
{
var bounds = selectedUnit.Bounds;
@@ -133,8 +137,7 @@ namespace OpenRa.Game.Graphics
if (selectedUnit.Owner == Game.LocalPlayer)
{
DrawPips(selectedUnit, xY);
DrawTags(selectedUnit,
new float2(.5f * (bounds.Left + bounds.Right ), xy.Y));
DrawTags(selectedUnit, new float2(.5f * (bounds.Left + bounds.Right ), xy.Y));
}
}