Skip to content

Commit

Permalink
Added the Settings Panel
Browse files Browse the repository at this point in the history
SeTtings Panel displays the parameters of the settings object loaded via constructor.

Start Menu changed to create mock settings to display.

Removed unnecessary duplication of buttons from furniture panel.

Mock settings method in settings generator changed to test the workings of the settings panel.
  • Loading branch information
MatthewFoster02 committed Feb 23, 2022
1 parent a92da99 commit 10cecc4
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 16 deletions.
16 changes: 10 additions & 6 deletions src/main/java/app/controller/settings/SettingsGenerator.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,16 @@ public abstract class SettingsGenerator
public static Settings mockSettings()
{
Settings settings = new Settings();
settings.setHeight(400);
settings.setWidth(300);
settings.addFurniture(new Rectangle2D(10, 10, 10, 10), FurnitureType.WALL);
settings.addFurniture(new Rectangle2D(30, 10, 10, 10), FurnitureType.GLASS);
settings.addFurniture(new Rectangle2D(10, 30, 10, 10), FurnitureType.TARGET);
settings.addFurniture(new Rectangle2D(30, 30, 10, 10), FurnitureType.TOWER);
settings.setName("best_map");
settings.setGameMode(1);
settings.setTimeStep(0.5);
settings.setScaling(0.1);
settings.setNoOfGuards(3);
settings.setNoOfIntruders(5);
settings.setWalkSpeedGuard(13.5);
settings.setWalkSpeedIntruder(15.0);
settings.setSprintSpeedGuard(21.5);
settings.setSprintSpeedIntruder(23);
return settings;
}

Expand Down
6 changes: 0 additions & 6 deletions src/main/java/app/view/mapBuilder/FurniturePane.java
Original file line number Diff line number Diff line change
Expand Up @@ -55,12 +55,6 @@ public void loadButtons(VBox vbox)

vbox.getChildren().addAll(teleport, x, y);

// Spawn areas
Label spawns = new Label("Spwan Areas:");
Button aSpawn = new Button("Agent Spawn Area");
Button iSpawn = new Button("Intruder Spawn Area");
vbox.getChildren().addAll(spawns, aSpawn, iSpawn);

// Furniture type enums
Label furniture = new Label("Furniture Items:");
vbox.getChildren().add(furniture);
Expand Down
40 changes: 37 additions & 3 deletions src/main/java/app/view/mapBuilder/SettingsPane.java
Original file line number Diff line number Diff line change
@@ -1,17 +1,51 @@
package app.view.mapBuilder;

import app.controller.settings.Settings;
import javafx.geometry.Insets;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;

public class SettingsPane extends StackPane // Might need to change this to extend something else
{
private StartMenu startMenu;
private Settings s;

public SettingsPane(StartMenu startMenu)
public SettingsPane(StartMenu startMenu, Settings s)
{
this.startMenu = startMenu;
this.s = s;

Label label = new Label("Settings Go Here");
this.getChildren().add(label);
// Labels displaying current settings information.
VBox vbox = new VBox(10);
Label header = new Label("Current simulation settings:");
header.setFont(Font.font("", FontWeight.BOLD, 24));
Label mapName = new Label("Map Name - " + s.getName());
mapName.setFont(new Font(16));
Label gameMode = new Label("Game Mode - " + s.getGameMode());
gameMode.setFont(new Font(16));
Label timeStep = new Label("Time Step - " + s.getTimeStep());
timeStep.setFont(new Font(16));
Label scaling = new Label("Scaling - " + s.getScaling());
scaling.setFont(new Font(16));
Label noOfGuards = new Label("Number of Guards - " + s.getNoOfGuards());
noOfGuards.setFont(new Font(16));
Label noOfIntruders = new Label("Number of Intruders - " + s.getNoOfIntruders());
noOfIntruders.setFont(new Font(16));
Label baseGuard = new Label("Walk speed Guard - " + s.getWalkSpeedGuard());
baseGuard.setFont(new Font(16));
Label baseIntruder = new Label("Walk speed Intruder - " + s.getWalkSpeedIntruder());
baseIntruder.setFont(new Font(16));
Label sprintGuard = new Label("Sprint speed Guard - " + s.getSprintSpeedGuard());
sprintGuard.setFont(new Font(16));
Label sprintIntruder = new Label("Sprint speed Intruder - " + s.getSprintSpeedIntruder());
sprintIntruder.setFont(new Font(16));
vbox.getChildren().addAll( header, mapName, gameMode, timeStep, scaling, noOfGuards,
noOfIntruders, baseGuard, baseIntruder, sprintGuard,
sprintIntruder);
this.setMargin(vbox, new Insets(10, 10, 10, 10));
this.getChildren().addAll(vbox);
}
}
3 changes: 2 additions & 1 deletion src/main/java/app/view/mapBuilder/StartMenu.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package app.view.mapBuilder;

import app.App;
import app.controller.settings.SettingsGenerator;
import app.view.FileMenuBar;
import javafx.scene.layout.BorderPane;
import lombok.Getter;
Expand All @@ -15,7 +16,7 @@ public StartMenu(App app)
this.setTop(new FileMenuBar(app));
MapBuilder mb = new MapBuilder(this);
this.setLeft(new FurniturePane(this, mb));
this.setRight(new SettingsPane(this));
this.setRight(new SettingsPane(this, SettingsGenerator.mockSettings()));
this.setCenter(mb);
}
}

0 comments on commit 10cecc4

Please sign in to comment.