Fixed: Error Username
This commit is contained in:
@@ -90,7 +90,13 @@ public class GameController {
|
||||
* {@code false} otherwise.
|
||||
*/
|
||||
public synchronized boolean addPlayer(String username) {
|
||||
return model.addPlayer(new Player(username));
|
||||
if(username.trim().length()>10)
|
||||
return false;
|
||||
Player player = model.getPlayerByUsername(username);
|
||||
if(player!=null)
|
||||
return false;
|
||||
player = new Player(username);
|
||||
return model.addPlayer(player);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,7 +3,7 @@ package it.polimi.ingsw.gc14;
|
||||
/** Enumeration of error types that can be returned by server-side operations. */
|
||||
public enum ErrorType {
|
||||
/** The chosen username is already taken by another connected player. */
|
||||
USERNAME_ALREADY_USED("Username is already in use"),
|
||||
INVALID_USERNAME("Username is already in use or too long"),
|
||||
/** The user is already connected to the server. */
|
||||
USER_ALREADY_CONNECTED("User is already connected"),
|
||||
/** The requested number of players is outside the allowed range. */
|
||||
|
||||
@@ -112,7 +112,7 @@ public class RMIServer extends UnicastRemoteObject implements IGameServer {
|
||||
System.out.println("Heartbeat connected for: " + username);
|
||||
return null;
|
||||
} else {
|
||||
return ErrorType.USERNAME_ALREADY_USED;
|
||||
return ErrorType.INVALID_USERNAME;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -186,7 +186,7 @@ public class TCPServer {
|
||||
new Thread(handler).start();
|
||||
continue;
|
||||
} else {
|
||||
eventAddPlayer.setErrorType(ErrorType.USERNAME_ALREADY_USED);
|
||||
eventAddPlayer.setErrorType(ErrorType.INVALID_USERNAME);
|
||||
eventAddPlayer.setIsError(true);
|
||||
clientSend.writeObject(eventAddPlayer);
|
||||
clientSocket.close();
|
||||
|
||||
Reference in New Issue
Block a user