示例#1
0
  // reset shortest path algorithm when the cursor moves
  @Override
  public void mouseMoved(MouseEvent e) {
    // set relative position of the cell that cursor points to base on actual map
    GameMap temp = (GameMap) panel;
    mainHero = panel.getFacade().getMainHero();
    Cell rangeCell = new Cell();
    Point curPos = e.getPoint();
    int x = (curPos.x + panel.getScrollX()) / Utilizer.TILE_SIZE;
    rangeCell.setColPos(x);
    x = x * Utilizer.TILE_SIZE;
    rangeCell.setX(x);
    int y = (curPos.y + panel.getScrollY()) / Utilizer.TILE_SIZE;
    rangeCell.setRowPos(y);
    y = y * Utilizer.TILE_SIZE;
    rangeCell.setY(y);
    if (rangeCell.getRowPos() >= 0
        && rangeCell.getRowPos() <= 39
        && rangeCell.getColPos() >= 0
        && rangeCell.getColPos() <= 39) temp.setRangedCell(rangeCell);
    else return;

    // set hero movement
    if (panel.getFacade().getMainHero().getIsChosen()
    // &&
    // inRange(selectCell,panel.getHero().calculateRange(panel.getHero().getRow(),panel.getHero().getCol(),(panel.getHero().getAP()/2) +1 ))
    ) {
      mainHero.calculateShortestPath(rangeCell);
    }
    panel.repaint();
  }