Exemple #1
0
 /**
  * Draw something when the selected room is null
  *
  * @param g
  */
 private void drawIfRoomNull(Graphics g) {
   int width = mainWindow.getModel().getEpisode().getRoomWidth() * fieldSize;
   int height = mainWindow.getModel().getEpisode().getRoomHeight() * fieldSize;
   g.setColor(Color.GRAY);
   g.fillRect(fieldSize * 2, fieldSize * 2, width, height);
   g.setColor(Color.BLACK);
   g.drawString(roomX + "/" + roomY, fieldSize * 4, fieldSize * 4);
   g.drawString("Room not existent. Click to create!", fieldSize * 4, fieldSize * 4 + 30);
 }
Exemple #2
0
  @Override
  protected void paintComponent(Graphics g) {
    super.paintComponent(g);
    this.imageLoader = mainWindow.getImageLoader();

    if (mainWindow.getModel().getEpisode() == null) return;
    if (floor == null) return;

    // NO ROOM SELECTED
    if (currentRoom == null) {
      drawIfRoomNull(g);
    }

    // DRAW ROOM INCLUDING NEIGHBORS
    for (int x = -2; x < roomWidth + 2; x++) {
      for (int y = -2; y < roomHeight + 2; y++) {
        int fieldRoomX = roomX;
        int fieldRoomY = roomY;
        int fieldX = x;
        int fieldY = y;
        boolean outside = false;
        if (x < 0) {
          fieldRoomX--;
          fieldX += roomWidth;
          outside = true;
        } else if (x >= roomWidth) {
          fieldRoomX++;
          fieldX -= roomWidth;
          outside = true;
        }
        if (y < 0) {
          fieldRoomY--;
          fieldY += roomHeight;
          outside = true;
        } else if (y >= roomHeight) {
          fieldRoomY++;
          fieldY -= roomHeight;
          outside = true;
        }

        Room roomOfThisField = floor.getRoom(fieldRoomX, fieldRoomY);
        drawFieldWithAllLayers(g, roomOfThisField, fieldX, fieldY, x, y);

        if (outside) {
          g.setColor(new Color(128, 128, 128, 128));
          g.fillRect((x + 2) * fieldSize, (y + 2) * fieldSize, fieldSize, fieldSize);
        }
      }
    }

    // DRAW GRID
    if (drawGrid) drawGrid(g);

    // DRAW FRAME
    drawFrame(g);
  }