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); } } } } }