Amélioration #1

This commit is contained in:
2024-12-03 10:14:33 +01:00
parent 201d164065
commit f2822db056
7 changed files with 152 additions and 57 deletions

View File

@@ -10,28 +10,34 @@ public class PauseGame extends KeyAdapter {
private JFrame gameFrame;
private Game game;
private EscapeMenu escapeMenu;
private ResumeButtonListener resumeButtonListener;
private MainMenuButtonListener mainMenuButtonListener;
private SettingsButtonListener settingsButtonListener;
public PauseGame(JFrame gameFrame, Game game) {
this.gameFrame = gameFrame;
this.game = game;
this.resumeButtonListener = new ResumeButtonListener(gameFrame);
this.mainMenuButtonListener = null; // Initialisé après la création de escapeMenu
this.settingsButtonListener = new SettingsButtonListener(gameFrame);
}
@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ESCAPE) {
if (Options.isPaused == false) {
// Afficher le menu de pause seulement si aucun menu n'est déjà ouvert
Options.isPaused = true;
if (escapeMenu == null || !escapeMenu.isVisible()) {
escapeMenu = new EscapeMenu(gameFrame, game);
escapeMenu.setResumeButtonListener(new ResumeButtonListener(gameFrame));
escapeMenu.setMainMenuButtonListener(new MainMenuButtonListener(gameFrame, game));
escapeMenu.setSettingsButtonListener(new SettingsButtonListener(gameFrame));
this.mainMenuButtonListener = new MainMenuButtonListener(gameFrame, game, escapeMenu);
escapeMenu.setResumeButtonListener(this.resumeButtonListener);
escapeMenu.setMainMenuButtonListener(this.mainMenuButtonListener);
escapeMenu.setSettingsButtonListener(this.settingsButtonListener);
} else {
escapeMenu.setVisible(true); // Si la fenêtre est déjà ouverte, la rendre visible
escapeMenu.setVisible(true);
}
escapeMenu.toFront(); // Mettre la fenêtre au premier plan
escapeMenu.toFront();
}
}
}
}
}