diff options
Diffstat (limited to '')
-rw-r--r-- | src/gui/LevelDetails.java | 37 |
1 files changed, 28 insertions, 9 deletions
diff --git a/src/gui/LevelDetails.java b/src/gui/LevelDetails.java index 93a43cd..427ede0 100644 --- a/src/gui/LevelDetails.java +++ b/src/gui/LevelDetails.java @@ -4,18 +4,22 @@ import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.control.Button; import javafx.scene.control.ListView; +import javafx.scene.control.ToggleButton; +import javafx.scene.control.ToggleGroup; import javafx.scene.image.Image; import javafx.scene.image.ImageView; +import javafx.scene.layout.HBox; import javafx.scene.layout.Pane; import javafx.scene.layout.VBox; import javafx.scene.paint.Color; import javafx.scene.text.Font; import javafx.scene.text.Text; import javafx.scene.text.TextAlignment; +import main.Level; public class LevelDetails extends VBox { - public LevelDetails(ListView<String> list) + public LevelDetails(Level level) { VBox details = new VBox(); details.prefWidthProperty().bind(super.prefWidthProperty()); @@ -26,9 +30,10 @@ public class LevelDetails extends VBox details.setPadding(new Insets(10)); Button play = new Button(); + play.setDisable(true); play.setText("Play"); - if (list.getSelectionModel().getSelectedItem() == null) + if (level == null) { Text desc = new Text(); desc.setText("Select a level from the left pane"); @@ -37,30 +42,44 @@ public class LevelDetails extends VBox desc.setTextAlignment(TextAlignment.CENTER); details.setAlignment(Pos.CENTER); details.getChildren().addAll(desc); - play.setDisable(true); } else { Text title = new Text(); - title.setText("Test level 1"); + title.setText(level.title); title.setFill(Color.WHITE); title.setFont(new Font(50)); title.wrappingWidthProperty().bind(super.prefWidthProperty().subtract(10)); Text desc = new Text(); - desc.setText("long description with lots of words. what we write does not actually need to be long i just wan t make sure it can word wrap"); + desc.setText(level.desc); desc.setFill(Color.WHITE); desc.wrappingWidthProperty().bind(super.prefWidthProperty().subtract(10)); ImageView previewView = new ImageView(); - Image preview = new Image("assets/pico.png"); + Image preview = level.preview; previewView.setImage(preview); - //previewView.setFitHeight(100); previewView.fitWidthProperty().bind(super.prefWidthProperty().multiply(0.5)); previewView.setPreserveRatio(true); - details.getChildren().addAll(title,desc,previewView); - play.setOnAction(e -> Driver.setCustomMenu(new LevelSurround())); + + HBox diffBox = new HBox(); + diffBox.setPadding(new Insets(30,0,0,0)); + HBox diffSelector = new HBox(); + diffSelector.setAlignment(Pos.CENTER); + ToggleGroup diffToggleGroup = new ToggleGroup(); + for (String diff : level.diffList) + { + ToggleButton temp = new ToggleButton(); + temp.setText(diff); + diffToggleGroup.getToggles().add(temp); + diffSelector.getChildren().add(temp); + } + play.disableProperty().bind(diffToggleGroup.selectedToggleProperty().isNull()); + + diffBox.getChildren().add(diffSelector); + details.getChildren().addAll(title,desc,previewView, diffBox); + play.setOnAction(e -> Driver.setMenu(new LevelSurround(level, "easy", Driver.getMenu()))); } VBox rightBox = new VBox(); |