Move and updated listeners
This commit is contained in:
parent
b702a4030f
commit
21e571027f
@ -41,6 +41,10 @@ public class App extends Application {
|
||||
return new Game(new Grid(12, 12, players), players);
|
||||
}
|
||||
|
||||
public static void updateView() {
|
||||
App.playerList.get(App.game.getCurrentPlayer()).getView().show();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void start(Stage stage) {
|
||||
try {
|
||||
@ -52,7 +56,7 @@ public class App extends Application {
|
||||
for (Player player : game.getPlayers()) {
|
||||
playerList.put(player, new ClientPlayer(player, new Window(stage, game, player)));
|
||||
}
|
||||
playerList.get(game.getCurrentPlayer()).getView().show();
|
||||
updateView();
|
||||
}
|
||||
|
||||
public static void launchTerminal() {
|
||||
@ -66,7 +70,7 @@ public class App extends Application {
|
||||
for (Player player : game.getPlayers()) {
|
||||
playerList.put(player, new ClientPlayer(player, new Terminal(game, player)));
|
||||
}
|
||||
playerList.get(game.getCurrentPlayer()).getView().show();
|
||||
updateView();
|
||||
}
|
||||
|
||||
public static List<Player> parsePlayers() throws IllegalArgumentException, NoSuchMethodException,
|
||||
|
@ -1,13 +1,17 @@
|
||||
package fr.lnl.game.server.model;
|
||||
package fr.lnl.game.client.listener;
|
||||
import java.util.List;
|
||||
|
||||
public abstract class AbstractModelListening implements ModelListener {
|
||||
|
||||
List<ModelListener> listeners;
|
||||
|
||||
public abstract void addListener(ModelListener e);
|
||||
public void addListener(ModelListener e) {
|
||||
this.listeners.add(e);
|
||||
}
|
||||
|
||||
public abstract void removalListener(ModelListener e);
|
||||
public void removalListener(ModelListener e) {
|
||||
this.listeners.remove(e);
|
||||
}
|
||||
|
||||
public void fireChange(){
|
||||
for(ModelListener e : listeners){
|
@ -0,0 +1,24 @@
|
||||
package fr.lnl.game.client.listener;
|
||||
|
||||
import fr.lnl.game.client.App;
|
||||
|
||||
public class ButtonListener extends AbstractModelListening{
|
||||
|
||||
|
||||
@Override
|
||||
public void addListener(ModelListener e) {
|
||||
this.listeners.add(e);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removalListener(ModelListener e) {
|
||||
this.listeners.remove(e);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void updateModel(Object event) {
|
||||
App.game.nextCurrentPlayer();
|
||||
App.updateView();
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package fr.lnl.game.server.model;
|
||||
package fr.lnl.game.client.listener;
|
||||
|
||||
public interface ModelListener {
|
||||
//à peut-être revoir
|
@ -1,14 +1,20 @@
|
||||
package fr.lnl.game.client.view;
|
||||
|
||||
import fr.lnl.game.client.App;
|
||||
import fr.lnl.game.client.listener.ModelListener;
|
||||
import fr.lnl.game.client.listener.ButtonListener;
|
||||
import javafx.event.ActionEvent;
|
||||
import javafx.event.EventHandler;
|
||||
|
||||
public class ClientEventHandler implements EventHandler<ActionEvent> {
|
||||
|
||||
private final ModelListener listener;
|
||||
|
||||
public ClientEventHandler(ButtonListener listener) {
|
||||
this.listener = listener;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handle(ActionEvent event) {
|
||||
App.game.nextCurrentPlayer();
|
||||
App.playerList.get(App.game.getCurrentPlayer()).getView().show();
|
||||
listener.updateModel(event);
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package fr.lnl.game.client.view;
|
||||
|
||||
import fr.lnl.game.client.listener.ButtonListener;
|
||||
import fr.lnl.game.server.games.Game;
|
||||
import fr.lnl.game.server.games.player.Player;
|
||||
import javafx.scene.Scene;
|
||||
@ -23,7 +24,7 @@ public class Window extends AbstractView {
|
||||
Label l = new Label("Hello, JavaFX version " + javafxVersion + ", running on Java " + javaVersion + ".");
|
||||
Label l2 = new Label("I'm " + player.getClass().getSimpleName() + " num " + player.getId() + " my class is " + player.getClassPlayer().toString());
|
||||
Button b = new Button("Click to see others players informations");
|
||||
b.setOnAction(new ClientEventHandler());
|
||||
b.setOnAction(new ClientEventHandler(new ButtonListener()));
|
||||
GridPane grid = new GridPane();
|
||||
grid.add(l, 0, 0);
|
||||
grid.add(l2, 0, 1);
|
||||
|
@ -1,21 +0,0 @@
|
||||
package fr.lnl.game.server.model;
|
||||
|
||||
public class ModelListening extends AbstractModelListening{
|
||||
|
||||
|
||||
@Override
|
||||
public void addListener(ModelListener e) {
|
||||
this.listeners.add(e);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removalListener(ModelListener e) {
|
||||
this.listeners.remove(e);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void updateModel(Object obj) {
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user