@Override public void initialize(URL url, ResourceBundle rb) { backButton.setCancelButton(true); Config.getInstance().playerList = new Player[Config.getInstance().maxPlayers]; adjustPlayerCount(); assert raceCombo != null : "fx:id=\"myChoices\" was not injected: check your FXML file 'foo.fxml'."; raceCombo.setItems(FXCollections.observableArrayList()); raceCombo.getItems().add("FOLD"); raceCombo.getItems().add("FAULT-BLOCK"); raceCombo.getItems().add("DOME"); raceCombo.getItems().add("VOLCANIC"); raceCombo.getItems().add("PLATEAU"); updateValues(); }
@FXML private void handleColorAction(ActionEvent e) { invalidColor = false; for (Player player : Config.getInstance().playerList) { if (colorPicker.getValue().equals(player.getColor())) { invalidColor = true; } } if (invalidColor) { colorLabel.setTextFill(Color.RED); // disallow same colors } else { colorLabel.setTextFill(Color.BLACK); } Config.getInstance() .playerList[Config.getInstance().currentPlayer] .setColor(colorPicker.getValue()); }
@FXML private void handleNameAction(Event e) { emptyName = false; for (Player player : Config.getInstance().playerList) { if (player.getName().equals("") && player.getId() < numSlider.getValue()) { emptyName = true; } } if (emptyName) { nameLabel.setTextFill(Color.RED); // disallow empty name startButton.setDisable(true); } else { nameLabel.setTextFill(Color.BLACK); startButton.setDisable(false); } Config.getInstance() .playerList[Config.getInstance().currentPlayer] .setName(nameField.getText()); }
private void updateValues() { raceCombo .getSelectionModel() .select( Config.getInstance() .playerList[Config.getInstance().currentPlayer] .getRace() .ordinal()); colorPicker.setValue( Config.getInstance().playerList[Config.getInstance().currentPlayer].getColor()); nameField.setText( Config.getInstance().playerList[Config.getInstance().currentPlayer].getName()); playerSlider.setValue(Config.getInstance().currentPlayer + 1); }
@FXML private void handleEnterAction(Event e) { numSlider.setValue(Config.getInstance().numOfPlayers); adjustPlayerCount(); }
public void onSetScene() { Config.getInstance().soundManager.changePlaylist(Config.getInstance().titlePlaylist); }
private void changePlayer(int id) { Config.getInstance().currentPlayer = id; updateValues(); }
private void adjustPlayerCount() { int difficulty = 0; if (Config.getInstance().difficulty == Difficulty.HILL) { difficulty = 0; } else if (Config.getInstance().difficulty == Difficulty.MESA) { difficulty = 1; } else if (Config.getInstance().difficulty == Difficulty.PLATEAU) { difficulty = 2; } else if (Config.getInstance().difficulty == Difficulty.MOUNTAIN) { difficulty = 3; } int foodCount; if (difficulty == 0) { foodCount = 8; } else { foodCount = 4; } int energyCount; if (difficulty == 0) { energyCount = 4; } else { energyCount = 2; } for (int i = 0; i < Config.getInstance().maxPlayers; i++) { if (Config.getInstance().playerList[i] == null) { Config.getInstance().playerList[i] = new Player(i); Config.getInstance().playerList[i].changeStockOf(ResourceType.ENERGY, energyCount); Config.getInstance().playerList[i].changeStockOf(ResourceType.FOOD, foodCount); } } playerSlider.setMax(Config.getInstance().numOfPlayers); if (Config.getInstance().currentPlayer >= Config.getInstance().numOfPlayers) { changePlayer(0); } }
@FXML private void handleRaceAction(ActionEvent e) { Config.getInstance() .playerList[Config.getInstance().currentPlayer] .setRace(Race.values()[raceCombo.getSelectionModel().getSelectedIndex()]); }
@FXML private void handleNumAction(Event e) { Config.getInstance().numOfPlayers = (int) numSlider.getValue(); adjustPlayerCount(); }