public ArrayList<Field> getPiecesLegalFields(Piece piece, Field currentField) {
    	ArrayList<Field> legalFields = new ArrayList<Field>();
    	for (Field targetField : this.window.board.fields) {
	    	if (piece.canMove(this.window.board, currentField, targetField) || piece.canAttack(this.window.board, currentField, targetField)) {
	    		if (!this.isInCheckMove(piece, currentField, targetField)) {
	    			legalFields.add(targetField);
	    		}
	    	}
    	}
		return legalFields;
    }