Example #1
0
        protected internal virtual void drawMapTiles(Graphics paramGraphics, int paramInt, Rectangle paramRectangle)
        {
            int             i               = TileFactory.getTileSize(paramInt);
            Dimension       dimension       = TileFactory.getMapSize(paramInt);
            int             j               = paramRectangle.width / i + 2;
            int             k               = paramRectangle.height / i + 2;
            TileFactoryInfo tileFactoryInfo = TileFactory.Info;
            int             m               = (int)Math.Floor(paramRectangle.X / tileFactoryInfo.getTileSize(0));
            int             n               = (int)Math.Floor(paramRectangle.Y / tileFactoryInfo.getTileSize(0));

            for (int i1 = 0; i1 <= j; i1++)
            {
                for (int i2 = 0; i2 <= k; i2++)
                {
                    int i3 = i1 + m;
                    int i4 = i2 + n;
                    if (paramGraphics.ClipBounds.intersects(new Rectangle(i3 * i - paramRectangle.x, i4 * i - paramRectangle.y, i, i)))
                    {
                        Tile tile = TileFactory.getTile(i3, i4, paramInt);
                        if (!tile.Loaded)
                        {
                            tile.addUniquePropertyChangeListener("loaded", this.tileLoadListener);
                        }
                        int i5 = i3 * TileFactory.getTileSize(paramInt) - paramRectangle.x;
                        int i6 = i4 * TileFactory.getTileSize(paramInt) - paramRectangle.y;
                        if (isTileOnMap(i3, i4, dimension))
                        {
                            if (Opaque)
                            {
                                paramGraphics.Color = Background;
                                paramGraphics.fillRect(i5, i6, i, i);
                            }
                        }
                        else if (tile.Loaded)
                        {
                            paramGraphics.drawImage(tile.Image, i5, i6, null);
                        }
                        else
                        {
                            int i7 = (TileFactory.getTileSize(paramInt) - LoadingImage.getWidth(null)) / 2;
                            int i8 = (TileFactory.getTileSize(paramInt) - LoadingImage.getHeight(null)) / 2;
                            paramGraphics.Color = Color.GRAY;
                            paramGraphics.fillRect(i5, i6, i, i);
                            paramGraphics.drawImage(LoadingImage, i5 + i7, i6 + i8, null);
                        }
                        if (DrawTileBorders)
                        {
                            paramGraphics.Color = Color.black;
                            paramGraphics.drawRect(i5, i6, i, i);
                            paramGraphics.drawRect(i5 + i / 2 - 5, i6 + i / 2 - 5, 10, 10);
                            paramGraphics.Color = Color.white;
                            paramGraphics.drawRect(i5 + 1, i6 + 1, i, i);
                            string str = i3 + ", " + i4 + ", " + Zoom;
                            paramGraphics.Color = Color.BLACK;
                            paramGraphics.drawString(str, i5 + 10, i6 + 30);
                            paramGraphics.drawString(str, i5 + 10 + 2, i6 + 30 + 2);
                            paramGraphics.Color = Color.WHITE;
                            paramGraphics.drawString(str, i5 + 10 + 1, i6 + 30 + 1);
                        }
                    }
                }
            }
        }