git-svn-id: svn://svn.ijw.co.nz/svn/OpenRa@1285 993157c7-ee19-0410-b2c4-bb4e9862e678

This commit is contained in:
bob
2007-07-16 03:45:05 +00:00
parent ee8b3d82b9
commit 333a20d29e
10 changed files with 196 additions and 58 deletions

View File

@@ -11,6 +11,7 @@ namespace OpenRa.Game
class World
{
List<Actor> actors = new List<Actor>();
List<Action<World>> frameEndActions = new List<Action<World>>();
SpriteRenderer spriteRenderer;
Renderer renderer;
Viewport viewport;
@@ -24,6 +25,7 @@ namespace OpenRa.Game
}
public void Add(Actor a) { actors.Add(a); }
public void AddFrameEndTask( Action<World> a ) { frameEndActions.Add( a ); }
double lastTime = Environment.TickCount / 1000.0;
@@ -37,7 +39,7 @@ namespace OpenRa.Game
foreach (Actor a in actors)
{
a.Tick( dt );
a.Tick( this, dt );
Sprite[] images = a.CurrentImages;
@@ -51,6 +53,12 @@ namespace OpenRa.Game
spriteRenderer.DrawSprite(image, a.renderLocation, a.palette);
}
foreach( Action<World> a in frameEndActions )
{
a( this );
}
frameEndActions.Clear();
spriteRenderer.Flush();
}
}