package controlleur; import java.util.ArrayList; import java.util.HashMap; import application.Battle; import javafx.scene.control.Button; import javafx.scene.control.ChoiceBox; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.FlowPane; import javafx.scene.layout.HBox; import javafx.scene.layout.Pane; import modele.Aptitude; import modele.Arme; import modele.ArmeeListe; import modele.Calcul; import modele.Figurine; import modele.Unit; import vue.simulation.AfficheSimulation; import vue.simulation.SimAptAndWeaponsVBox; import vue.simulation.SimFigurinesVBox; import vue.simulation.SimHistogramme; import vue.simulation.SimUnitsVBox; public class ControlleurSimu { // déroulement des unités d'une liste (appui sur lists_drop_down.get(i) dans AfficheSimulation) public static void selectAList(int num_list, ArrayList lists, String choice) { // choix de la liste for(ArmeeListe one_list : lists) { if(one_list.getName().equals(choice)) { // "copie profonde" d'une liste ArmeeListe list = new ArmeeListe(one_list.getName(), one_list.getDescription(), one_list.getData()); Battle.setSelectedList(num_list, list); break; // choix unique } } // obtenir les unités, l'armée, les figurines, armes et aptitudes Instanciation.getUnitsOfAList(Battle.getSelectedList(num_list)); Battle.setArmy(num_list, Battle.getSelectedList(num_list).getUnits().get(0).getArmee()); } // déroulement des figurines d'une unité (appui sur buttons.get(i) dans SimUnitsVBox) public static void PullDownUnits(int num_list, HBox dropdown_menu_box, SimUnitsVBox list_box) { ArmeeListe list = Battle.getSelectedList(num_list); // noms des unités String[] unit_names = new String[list.getUnits().size()]; for(int i = 0; i < list.getUnits().size(); i++) { unit_names[i] = list.getUnits().get(i).getName(); } // supprimer l'ancien logo if(dropdown_menu_box.getChildren().size() == 2){ dropdown_menu_box.getChildren().remove(1); } // logo de faction Image logo_faction = null; if(Battle.getArmy(num_list) != null) // possibilité d'une liste vide { String file_name = Battle.getArmy(num_list).getLogo(); logo_faction = new Image("/images/armees/" + file_name); } ImageView logo_box = new ImageView(); logo_box.setPreserveRatio(true); logo_box.fitHeightProperty().bind(dropdown_menu_box.heightProperty()); logo_box.setImage(logo_faction); dropdown_menu_box.getChildren().add(logo_box); // effacer la zone armes et aptitudes AfficheSimulation.getWeaponsAtitudesMenu().setStyle("-fx-border-width: 0;"); AfficheSimulation.getWeaponsAtitudesMenu().getChildren().clear(); // effacer et recréer les unités list_box.getButtons().clear(); list_box.getFigBoxes().clear(); list_box.getChildren().clear(); list_box.setList(num_list); } // déroulement des figurines d'une unité (appui sur buttons.get(i) dans SimUnitsVBox) public static void selectAnUnit(SimUnitsVBox lists, int col, int j) { ArrayList