private void Render()
        {
            while (true)
            {
                if (!Paused)
                {
                    World.DoTick();
                }

                var world = World;

                {
                    _gfx.Clear(Color.White);

                    DrawGrid(_gfx, world);
                    DrawTerrain(_gfx, world);
                    DrawUnits(_gfx, world);
                    DrawProjectiles(_gfx, world);

                    if (renderSquare)
                    {
                        var coord1 = ControlCoordsToImageCoords(squareBegin.X, squareBegin.Y);
                        var coord2 = ControlCoordsToImageCoords(squareEnd.X, squareEnd.Y);
                        _gfx.DrawRectangle(SquarePen, coord1.X, coord1.Y, coord2.X - coord1.X, coord2.Y - coord1.Y);
                    }
                }

                pictureBox1.BeginInvoke(new Action(() =>
                {
                    pictureBox1.Image = image;
                }));

                Task.Delay(Delay).Wait();
            }
        }
Exemplo n.º 2
0
        private void Render()
        {
            while (true)
            {
                if (!Paused)
                {
                    World.DoTick();
                }

                var world = World;

                _render.Render(World);

                pictureBox1.BeginInvoke(new Action(() =>
                {
                    pictureBox1.Invalidate();
                }));

                Task.Delay(Delay).Wait();
            }
        }