This repository has been archived on 2026-07-13. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
servicepoint-tanks/TanksServer/Graphics/DrawStateToFrame.cs
2024-04-12 19:49:24 +02:00

20 lines
585 B
C#

using DisplayCommands;
using TanksServer.GameLogic;
namespace TanksServer.Graphics;
internal sealed class DrawStateToFrame(
IEnumerable<IDrawStep> drawSteps, LastFinishedFrameProvider lastFrameProvider
) : ITickStep
{
private readonly List<IDrawStep> _drawSteps = drawSteps.ToList();
public Task TickAsync()
{
var drawGrid = new PixelGrid(MapService.PixelsPerRow, MapService.PixelsPerColumn);
foreach (var step in _drawSteps)
step.Draw(drawGrid);
lastFrameProvider.LastFrame = drawGrid;
return Task.CompletedTask;
}
}