public void Render(ICanvas canvas, int width, int height) { foreach (Train train in _gameBoard.GetMovables()) { foreach (var position in _gameBoard.GetNextSteps(train, train.LookaheadDistance)) { (int x, int y) = _pixelMapper.CoordsToPixels(position.Column, position.Row); canvas.DrawRect(x, y, _parameters.CellSize, _parameters.CellSize, _paint); } } }
public void Render(ICanvas canvas, int width, int height) { foreach (Train train in _gameBoard.GetMovables()) { PaintBrush _paint = new PaintBrush { Color = _painter.GetPalette(train).FrontSectionEndColor, Style = PaintStyle.Fill }; (int x, int y) = _pixelMapper.CoordsToViewPortPixels(train.Column, train.Row); canvas.DrawRect(x, y, _parameters.CellSize, _parameters.CellSize, _paint); float speedModifier = 0.005f * ((_gameTimer?.TimeSinceLastTick / 16f) ?? 1); foreach (var position in _gameBoard.GetNextSteps(train, train.LookaheadDistance * speedModifier)) { (x, y) = _pixelMapper.CoordsToViewPortPixels(position.Column, position.Row); canvas.DrawRect(x, y, _parameters.CellSize, _parameters.CellSize, _paint); } } }