tied into renderer
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Forms;
|
||||
using IjwFramework.Types;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace OpenRa.Game.Graphics
|
||||
{
|
||||
@@ -25,6 +27,25 @@ namespace OpenRa.Game.Graphics
|
||||
spriteRenderer = new SpriteRenderer(renderer, true);
|
||||
lineRenderer = new LineRenderer(renderer);
|
||||
uiOverlay = new UiOverlay(spriteRenderer, game);
|
||||
}
|
||||
|
||||
void DrawSpriteList(Player owner, RectangleF rect,
|
||||
IEnumerable<Pair<Sprite, float2>> images)
|
||||
{
|
||||
foreach (var image in images)
|
||||
{
|
||||
var loc = image.Second;
|
||||
|
||||
if (loc.X > rect.Right || loc.X < rect.Left
|
||||
- image.First.bounds.Width)
|
||||
continue;
|
||||
if (loc.Y > rect.Bottom || loc.Y < rect.Top
|
||||
- image.First.bounds.Height)
|
||||
continue;
|
||||
|
||||
spriteRenderer.DrawSprite(image.First, loc,
|
||||
(owner != null) ? owner.Palette : 0);
|
||||
}
|
||||
}
|
||||
|
||||
public void Draw()
|
||||
@@ -33,21 +54,10 @@ namespace OpenRa.Game.Graphics
|
||||
region.Size.ToSizeF());
|
||||
|
||||
foreach (Actor a in game.world.Actors)
|
||||
{
|
||||
var images = a.Render();
|
||||
|
||||
foreach( var image in images )
|
||||
{
|
||||
var loc = image.Second;
|
||||
|
||||
if( loc.X > rect.Right || loc.X < rect.Left - image.First.bounds.Width )
|
||||
continue;
|
||||
if( loc.Y > rect.Bottom || loc.Y < rect.Top - image.First.bounds.Height )
|
||||
continue;
|
||||
|
||||
spriteRenderer.DrawSprite( image.First, loc, ( a.Owner != null ) ? a.Owner.Palette : 0 );
|
||||
}
|
||||
}
|
||||
DrawSpriteList(a.Owner, rect, a.Render());
|
||||
|
||||
foreach (Bullet b in game.world.Bullets)
|
||||
DrawSpriteList(b.Owner, rect, b.Render());
|
||||
|
||||
uiOverlay.Draw();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user