Exemplo n.º 1
0
        private void OnMinimapTileDone(object sender, EventArgs e)
        {
            MinimapTileReadyArgs args = (MinimapTileReadyArgs)e;

            // Ensure we're using the correct runner.
            if (args.RunnerIndex != buildRunnerIndex)
            {
                return;
            }

            if (canvas == null)
            {
                int sizeX = (args.Bounds.HighX - args.Bounds.LowX) + 1;
                int sizeY = (args.Bounds.HighY - args.Bounds.LowY) + 1;

                canvas = new MapCanvas(sizeX, sizeY);
            }

            int posX = (args.Position.X - args.Bounds.LowX) * 256;
            int posY = (args.Position.Y - args.Bounds.LowY) * 256;

            canvas.DrawToCanvas(args.Image, posX, posY);
            UI_Map.Invalidate();

            tileDone++;
            if (tileTotal > tileDone)
            {
                UI_TileDisplay.Text = string.Format(Constants.MAP_VIEWER_TILE_STATUS, tileDone, tileTotal);
            }
            else
            {
                UI_TileDisplay.Hide();
                UI_ExportTip.Show();
            }
        }