This commit is contained in:
Cedric Beck
2024-12-02 22:43:16 +01:00
3 changed files with 40 additions and 3 deletions

View File

@@ -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());
}
}

View File

@@ -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.
*

View File

@@ -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.
*