* Added option to start matches with password protection.

This commit is contained in:
LevelX2 2014-10-11 16:29:37 +02:00
parent 36ef4c3bcf
commit 8f690f7e02
19 changed files with 151 additions and 42 deletions

View file

@ -208,7 +208,7 @@ public class TableController {
return true;
}
public synchronized boolean joinTable(UUID userId, String name, String playerType, int skill, DeckCardLists deckList) throws MageException {
public synchronized boolean joinTable(UUID userId, String name, String playerType, int skill, DeckCardLists deckList, String password) throws MageException {
User user = UserManager.getInstance().getUser(userId);
if (user == null) {
return false;
@ -217,6 +217,13 @@ public class TableController {
user.showUserMessage("Join Table", "No available seats.");
return false;
}
// check password
if (!table.getMatch().getOptions().getPassword().isEmpty()) {
if (!table.getMatch().getOptions().getPassword().equals(password)) {
user.showUserMessage("Join Table", "Wrong password.");
return false;
}
}
Seat seat = table.getNextAvailableSeat(playerType);
if (seat == null) {
user.showUserMessage("Join Table", "No available seats.");
@ -240,7 +247,7 @@ public class TableController {
Player player = createPlayer(name, seat.getPlayerType(), skill);
if (player == null) {
String message = new StringBuilder("Could not create player ").append(name).append(" of type ").append(seat.getPlayerType().toString()).toString();
String message = new StringBuilder("Could not create player ").append(name).append(" of type ").append(seat.getPlayerType()).toString();
logger.warn(new StringBuilder("User: ").append(user.getName()).append(" => ").append(message).toString());
user.showUserMessage("Join Table",message);
return false;