Era :
it.diamonds.grid.action.CrushByChestAction.java Linea 62
Codice:
private void getAdjacentCrushableGems(Droppable crushSourceDroppable,
DroppableList adiacentCrushableGems)
{
// TODO: REFACTOR THIS
Region sourceCell = crushSourceDroppable.getRegion();
if(sourceCell.getLeftColumn() >= 1)
{
getLeftOrRightAdjacentCrushableGems(crushSourceDroppable,
adiacentCrushableGems, GO_LEFT);
}
if(sourceCell.getRightColumn() < getGrid().getNumberOfColumns() - 1)
{
getLeftOrRightAdjacentCrushableGems(crushSourceDroppable,
adiacentCrushableGems, GO_RIGHT);
}
if(sourceCell.getTopRow() >= 1)
{
getUpOrDownAdjacentCrushableGems(crushSourceDroppable,
adiacentCrushableGems, GO_UP);
}
if(sourceCell.getBottomRow() < getGrid().getNumberOfRows() - 1)
{
getUpOrDownAdjacentCrushableGems(crushSourceDroppable,
adiacentCrushableGems, GO_DOWN);
}
}
E'
Codice:
private void getAdjacentCrushableGems(Droppable crushSourceDroppable,
DroppableList adiacentCrushableGems)
{
getLeftOrRightAdjacentCrushableGems(crushSourceDroppable,
adiacentCrushableGems, GO_LEFT);
getLeftOrRightAdjacentCrushableGems(crushSourceDroppable,
adiacentCrushableGems, GO_RIGHT);
getUpOrDownAdjacentCrushableGems(crushSourceDroppable,
adiacentCrushableGems, GO_UP);
getUpOrDownAdjacentCrushableGems(crushSourceDroppable,
adiacentCrushableGems, GO_DOWN);
}
E ho spostato i controlli nei metodi getUpOrDownAdjacent.... getLeftOrRight...
ad esempio in getUpOrDown... č stato aggiunto:
Codice:
if(row + direction.deltaY() < 0 || row + direction.deltaY() > getGrid().getNumberOfRows() - 1)
{
return;
}
Analogo č stato fatto nella getLeftOrRight.... ma con le colonne al posto delle righe
Ciao