Beispiel #1
0
        //==========================================================================
        //Load the map
        //==========================================================================
        public void LoadMap(Classes.MapClass argument)
        {
            nameOfMap     = argument.getMapName().Substring(0, argument.getMapName().Length - 4);
            TileSize      = argument.getTileSize();
            OffSet        = argument.getOffSet();
            RowCount      = argument.getRowCount();
            ColCount      = argument.getColCount();
            BMP           = argument.getMapImage();
            MaxTiles      = argument.getMaxTiles();
            CollisionMap  = argument.getCollisionMap();
            MapRectangles = argument.getRectangles();
            Combination   = new Bitmap((ColCount * TileSize) + 1, (RowCount * TileSize) + 1);
            Label l = new Label
            {
                Text     = "",
                Location = new Point((ColCount * TileSize) + 1, (RowCount * TileSize) + 1) //784,448 is a point outside of the viewable area
            };

            Map.Controls.Add(l);
            MapCreated = true;
            MapNamed   = true;

            int      i = 0;
            Graphics g = Graphics.FromImage(Combination);

            g.SmoothingMode = SmoothingMode.AntiAlias;
            foreach (bool x in CollisionMap)
            {
                if (x)
                {
                    g.FillRectangle(new SolidBrush(Color.FromArgb(75, Color.Red)), MapRectangles[i]);
                }
                i++;
            }

            Grid = new Bitmap((ColCount * TileSize) + 1, (RowCount * TileSize) + 1);

            Graphics gg  = Graphics.FromImage(Grid);
            Pen      pen = new Pen(Color.Black);

            gg.SmoothingMode = SmoothingMode.AntiAlias;
            gg.FillRectangle(new SolidBrush(Color.Transparent), 0, 0, Grid.Size.Width, Grid.Size.Height);
            for (int z = 0; z < RowCount; z++)
            {
                for (int j = 0; j < ColCount; j++)
                {
                    gg.DrawRectangle(pen, 0 + j * TileSize, 0 + z * TileSize, TileSize, TileSize);
                }
            }

            Map.Invalidate();
        }