40 lines
1.2 KiB
Java
Raw Normal View History

2023-04-29 19:01:31 +02:00
package school_project;
import javafx.scene.Group;
2023-05-03 18:21:54 +02:00
import javafx.scene.input.MouseButton;
2023-04-29 19:01:31 +02:00
import school_project.Utils.MatrixShape;
2023-05-03 11:11:16 +02:00
import java.io.FileNotFoundException;
public class GameUI extends Group{
2023-04-29 19:01:31 +02:00
public final static int SEGMENT_SIZE = 50;
2023-05-03 11:11:16 +02:00
public final static int SPACE_SIZE = 5;
public GameUI(Map level) throws FileNotFoundException {
2023-04-29 19:01:31 +02:00
super();
2023-05-03 18:21:54 +02:00
MatrixShape grid = new MatrixShape(level);
2023-04-29 19:01:31 +02:00
2023-05-04 23:24:18 +02:00
//center the grid
grid.setLayoutX((Controller.screen_size.x - grid.boundary_size.x) >> 1);
grid.setLayoutY((Controller.screen_size.y - grid.boundary_size.y) >> 1);
getChildren().add(grid);
2023-04-29 19:01:31 +02:00
for (Piece p : level.getPieces()) {
2023-05-03 18:21:54 +02:00
MatrixShape _piece = new MatrixShape(p);
_piece.setOnMouseClicked(event -> {
if(event.getButton() == MouseButton.SECONDARY){
((Piece) _piece.shape).RotateRight(1);
_piece.update();
}
});
_piece.setOnMouseDragged(event -> {
_piece.setLayoutX(event.getSceneX());
_piece.setLayoutY(event.getSceneY());
});
2023-05-04 23:24:18 +02:00
getChildren().add(_piece);
2023-04-29 19:01:31 +02:00
}
}
}