From 6658b0e8845c2ce2583efc15b3bb081b79de587d Mon Sep 17 00:00:00 2001 From: Persson-dev Date: Sun, 26 Jan 2025 18:22:20 +0100 Subject: [PATCH] show player names --- .../java/gui/menu/ConnexionStatusView.java | 2 +- .../main/java/gui/menu/MultiPlayerView.java | 28 ++++++++++++++++--- app/src/main/java/gui/menu/StateMachine.java | 1 + app/src/main/java/network/client/Client.java | 6 +++- 4 files changed, 31 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/gui/menu/ConnexionStatusView.java b/app/src/main/java/gui/menu/ConnexionStatusView.java index 0182797..13f527f 100644 --- a/app/src/main/java/gui/menu/ConnexionStatusView.java +++ b/app/src/main/java/gui/menu/ConnexionStatusView.java @@ -57,7 +57,7 @@ public class ConnexionStatusView extends BaseView { } public void onConnect() { - this.stateMachine.pushState(new MultiPlayerView(stateMachine, client)); + this.stateMachine.pushState(new MultiPlayerView(stateMachine, client, server)); } public void onDisconnect() { diff --git a/app/src/main/java/gui/menu/MultiPlayerView.java b/app/src/main/java/gui/menu/MultiPlayerView.java index ec25b82..37846ca 100644 --- a/app/src/main/java/gui/menu/MultiPlayerView.java +++ b/app/src/main/java/gui/menu/MultiPlayerView.java @@ -1,15 +1,19 @@ package gui.menu; +import game.Player; import imgui.ImGui; import network.client.Client; +import network.server.Server; public class MultiPlayerView extends BaseView { - - private final Client client; - public MultiPlayerView(StateMachine stateMachine, Client client) { + private final Client client; + private final Server server; + + public MultiPlayerView(StateMachine stateMachine, Client client, Server server) { super(stateMachine); this.client = client; + this.server = server; this.client.onDisconnect.connect(this::onDisconnect); } @@ -23,9 +27,25 @@ public class MultiPlayerView extends BaseView { this.stateMachine.popState(); } + public void renderGameStatus() { + if (this.server == null) { + ImGui.text("En attente de l'administrateur du serveur ..."); + } else { + if (ImGui.button("Démarrer")) { + // start the game + } + } + } + @Override public void render() { - ImGui.text("Tema le gameplay"); + ImGui.text("Joueurs :"); + { + for (Player player : this.client.getGame().getPlayers().values()) { + ImGui.bulletText(player.getPseudo()); + } + } + renderGameStatus(); } } diff --git a/app/src/main/java/gui/menu/StateMachine.java b/app/src/main/java/gui/menu/StateMachine.java index 81ea005..63000c4 100644 --- a/app/src/main/java/gui/menu/StateMachine.java +++ b/app/src/main/java/gui/menu/StateMachine.java @@ -45,6 +45,7 @@ public class StateMachine { | ImGuiWindowFlags.NoSavedSettings | ImGuiWindowFlags.NoBackground); menus.get(menus.size() - 1).render(); ImGui.end(); + // ImGui.showDemoWindow(); checkEscape(); } diff --git a/app/src/main/java/network/client/Client.java b/app/src/main/java/network/client/Client.java index 6cdaa4b..10f5ec8 100644 --- a/app/src/main/java/network/client/Client.java +++ b/app/src/main/java/network/client/Client.java @@ -2,6 +2,7 @@ package network.client; import java.io.IOException; import java.net.UnknownHostException; +import java.util.Random; import common.Signal; import game.Game; @@ -15,13 +16,16 @@ public class Client { public final Signal onConnect = new Signal(); public final Signal onDisconnect = new Signal(); public final Signal onClosed = new Signal(); + public final Signal onGameStarted = new Signal(); String disconnectReason = null; public Client(String address, short port) throws UnknownHostException, IOException { this.clientConnection = new ClientConnexion(address, port, this); this.game = new Game(); - login("Player2" + Math.random()); + // temp + Random r = new Random(); + login("Player" + r.nextInt()); } public void login(String pseudo) {