diff --git a/Projekte/mdga/client/src/main/java/pp/mdga/client/server/MdgaServer.java b/Projekte/mdga/client/src/main/java/pp/mdga/client/server/MdgaServer.java index bbcfe2c4..97295da2 100644 --- a/Projekte/mdga/client/src/main/java/pp/mdga/client/server/MdgaServer.java +++ b/Projekte/mdga/client/src/main/java/pp/mdga/client/server/MdgaServer.java @@ -216,10 +216,12 @@ public void connectionAdded(Server server, HostedConnection hostedConnection) { this.logic.getServerSender().send(hostedConnection.getId(), new LobbyDenyMessage()); hostedConnection.close(""); } else { - if (this.myServer.getConnections().size() == 1) { + if (hostedConnection.getAddress().contains("127.0.0.1") && this.logic.getGame().getHost() == -1) { this.logic.getGame().setHost(hostedConnection.getId()); + this.logic.getServerSender().send(hostedConnection.getId(), new LobbyAcceptMessage(hostedConnection.getId())); + } else { + this.logic.getServerSender().send(hostedConnection.getId(), new LobbyAcceptMessage()); } - this.logic.getServerSender().send(hostedConnection.getId(), new LobbyAcceptMessage()); } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/Game.java b/Projekte/mdga/model/src/main/java/pp/mdga/game/Game.java index 9d7d83d5..515aa1da 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/game/Game.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/game/Game.java @@ -43,7 +43,7 @@ public class Game { private Die die; // The host of this game - private int host; + private int host = -1; // The color of the active player. private Color activeColor; @@ -200,6 +200,15 @@ public Piece getPieceThroughUUID(UUID pieceId) { return null; } + /** + * This method will be used to check if this client is the host for the game. + * + * @return true or false. + */ + public boolean isHost() { + return this.host != -1; + } + /** * This method returns the dice modifier. * diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyAcceptMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyAcceptMessage.java index 90b55126..fbaf7c56 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyAcceptMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyAcceptMessage.java @@ -7,13 +7,39 @@ */ @Serializable public class LobbyAcceptMessage extends ServerMessage { + /** + * Create LobbyAcceptMessage attributes. + */ + private final int host; + /** * Constructs a new LobbyAccept instance. */ public LobbyAcceptMessage() { super(); + this.host = -1; } + /** + * Constructor. + * + * @param host as the id of the host as an Integer. + */ + public LobbyAcceptMessage(int host) { + super(); + this.host = host; + } + + /** + * This method will be used return host attribute of LobbyAcceptMessage class. + * + * @return host as an Integer. + */ + public int getHost() { + return this.host; + } + + /** * Accepts a visitor to process this message. *