mirror of
https://github.com/guezoloic/racing-game.git
synced 2026-03-31 11:11:38 +00:00
feat: enlever gameview observer et ajout dans l'observer de base
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.util.function.Supplier;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JLabel;
|
||||
|
||||
@@ -27,23 +26,19 @@ public class Dashboard extends GameView
|
||||
/** Voiture associée à ce dashboard */
|
||||
private final Car car;
|
||||
|
||||
/** État de pause global partagé par tous les dashboards */
|
||||
private static boolean isPaused = false;
|
||||
|
||||
/**
|
||||
* Construit un dashboard pour une voiture donnée.
|
||||
*
|
||||
* @param car la voiture suivie par ce dashboard
|
||||
* @param title titre du dashboard
|
||||
* @param fn fonction appelée pour activer/désactiver la pause
|
||||
* @param width largeur de la fenêtre
|
||||
* @param height hauteur de la fenêtre
|
||||
* @param x position horizontale de la fenêtre
|
||||
* @param y position verticale de la fenêtre
|
||||
*/
|
||||
public Dashboard(Car car, String title, Supplier<Boolean> fn, int width, int height, int x, int y)
|
||||
public Dashboard(Game game, Car car, String title, int width, int height, int x, int y)
|
||||
{
|
||||
super("Dashboard: " + title, width, height, x, y);
|
||||
super(game, "Dashboard: " + title, width, height, x, y);
|
||||
|
||||
this.car = car;
|
||||
this.label = new JLabel();
|
||||
@@ -51,7 +46,7 @@ public class Dashboard extends GameView
|
||||
|
||||
frame.setBackground(car.getColor());
|
||||
|
||||
init(fn);
|
||||
init();
|
||||
|
||||
this.add(label, BorderLayout.CENTER);
|
||||
this.add(button, BorderLayout.SOUTH);
|
||||
@@ -62,7 +57,7 @@ public class Dashboard extends GameView
|
||||
*/
|
||||
private void updateButtonText()
|
||||
{
|
||||
button.setText(isPaused ? "En Pause" : "En Cours");
|
||||
button.setText(game.getPause() ? "En Pause" : "En Cours");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -70,7 +65,7 @@ public class Dashboard extends GameView
|
||||
*
|
||||
* @param fn fonction appelée lorsque l'on clique sur le bouton pour inverser l'état de pause
|
||||
*/
|
||||
private void init(Supplier<Boolean> fn)
|
||||
private void init()
|
||||
{
|
||||
updateButtonText();
|
||||
|
||||
@@ -79,9 +74,9 @@ public class Dashboard extends GameView
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e)
|
||||
{
|
||||
isPaused = fn.get();
|
||||
game.togglePause();
|
||||
updateButtonText();
|
||||
GameView.update();
|
||||
game.notifyObservers();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -94,7 +89,7 @@ public class Dashboard extends GameView
|
||||
* Cette méthode est appelée périodiquement par le moteur de jeu.
|
||||
*/
|
||||
@Override
|
||||
public void run()
|
||||
public boolean apply()
|
||||
{
|
||||
label.setText(
|
||||
"<html><table><tr><td>Carburant Restant: " + car.getFuel()
|
||||
@@ -103,5 +98,6 @@ public class Dashboard extends GameView
|
||||
);
|
||||
|
||||
updateButtonText();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user