mirror of
https://github.com/magefree/mage.git
synced 2025-12-24 12:31:59 -08:00
added JoinTournamentTable + more refactoring
This commit is contained in:
parent
1d2108fe7f
commit
a316b01b15
21 changed files with 98 additions and 169 deletions
|
|
@ -221,8 +221,13 @@ public class Client {
|
|||
return false;
|
||||
}
|
||||
|
||||
public boolean joinTournamentTable(UUID roomId, UUID tableId, String playerName, String human, int i, DeckCardLists importDeck, String text) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
public boolean joinTournamentTable(UUID roomId, UUID tableId, String playerName, String playerType, int skill, DeckCardLists deck, String password) {
|
||||
try {
|
||||
return clientMessageHandler.joinTournamentTable(roomId, tableId, playerName, playerType, skill, deck, password);
|
||||
} catch (Exception ex) {
|
||||
logger.error("Error joining tournament table", ex);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean joinTable(UUID roomId, UUID tableId, String playerName, String playerType, int skill, DeckCardLists deck, String password) {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package org.mage.network.handlers.client;
|
||||
|
||||
import org.mage.network.messages.requests.JoinTournamentTableRequest;
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import io.netty.channel.SimpleChannelInboundHandler;
|
||||
import java.io.Serializable;
|
||||
|
|
@ -107,6 +108,12 @@ public class ClientMessageHandler extends SimpleChannelInboundHandler<ClientMess
|
|||
return booleanQueue.take();
|
||||
}
|
||||
|
||||
public boolean joinTournamentTable(UUID roomId, UUID tableId, String name, String playerType, int skill, DeckCardLists deckList, String password) throws Exception {
|
||||
booleanQueue.clear();
|
||||
ctx.writeAndFlush(new JoinTournamentTableRequest(roomId, tableId, name, playerType, skill, deckList, password)).addListener(WriteListener.getInstance());
|
||||
return booleanQueue.take();
|
||||
}
|
||||
|
||||
public boolean leaveTable(UUID roomId, UUID tableId) throws Exception {
|
||||
booleanQueue.clear();
|
||||
ctx.writeAndFlush(new LeaveTableRequest(roomId, tableId)).addListener(WriteListener.getInstance());
|
||||
|
|
|
|||
|
|
@ -42,7 +42,8 @@ public interface MageServer {
|
|||
boolean leaveTable(String sessionId, UUID roomId, UUID tableId);
|
||||
void removeTable(String sessionId, UUID roomId, UUID tableId);
|
||||
void swapSeats(String sessionId, UUID roomId, UUID tableId, int seatNum1, int seatNum2);
|
||||
|
||||
boolean joinTournamentTable(String sessionId, UUID roomId, UUID tableId, String name, String playerType, int skill, DeckCardLists deckList, String password);
|
||||
|
||||
boolean startMatch(String sessionId, UUID roomId, UUID tableId);
|
||||
UUID joinGame(UUID gameId, String sessionId);
|
||||
void sendPlayerUUID(UUID gameId, String sessionId, UUID data);
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import io.netty.channel.ChannelHandlerContext;
|
|||
import java.util.UUID;
|
||||
import org.mage.network.handlers.WriteListener;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.messages.responses.ChatRoomIdResponse;
|
||||
import org.mage.network.messages.responses.UUIDResponse;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -20,7 +20,7 @@ public class ChatRoomIdRequest extends ServerRequest {
|
|||
|
||||
@Override
|
||||
public void handleMessage(MageServer server, ChannelHandlerContext ctx) {
|
||||
ctx.writeAndFlush(new ChatRoomIdResponse(server.getRoomChatId(roomId))).addListener(WriteListener.getInstance());
|
||||
ctx.writeAndFlush(new UUIDResponse(server.getRoomChatId(roomId))).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import java.util.UUID;
|
|||
import mage.game.match.MatchOptions;
|
||||
import org.mage.network.handlers.WriteListener;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.messages.responses.CreateTableResponse;
|
||||
import org.mage.network.messages.responses.TableViewResponse;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -23,7 +23,7 @@ public class CreateTableRequest extends ServerRequest {
|
|||
|
||||
@Override
|
||||
public void handleMessage(MageServer server, ChannelHandlerContext ctx) {
|
||||
ctx.writeAndFlush(new CreateTableResponse(server.createTable(ctx.channel().id().asLongText(), roomId, options))).addListener(WriteListener.getInstance());
|
||||
ctx.writeAndFlush(new TableViewResponse(server.createTable(ctx.channel().id().asLongText(), roomId, options))).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import io.netty.channel.ChannelHandlerContext;
|
|||
import java.util.UUID;
|
||||
import org.mage.network.handlers.WriteListener;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.messages.responses.JoinGameResponse;
|
||||
import org.mage.network.messages.responses.UUIDResponse;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -20,7 +20,7 @@ public class JoinGameRequest extends ServerRequest {
|
|||
|
||||
@Override
|
||||
public void handleMessage(MageServer server, ChannelHandlerContext ctx) {
|
||||
ctx.writeAndFlush(new JoinGameResponse(server.joinGame(gameId, ctx.channel().id().asLongText()))).addListener(WriteListener.getInstance());
|
||||
ctx.writeAndFlush(new UUIDResponse(server.joinGame(gameId, ctx.channel().id().asLongText()))).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import java.util.UUID;
|
|||
import mage.cards.decks.DeckCardLists;
|
||||
import org.mage.network.handlers.WriteListener;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.messages.responses.JoinTableResponse;
|
||||
import org.mage.network.messages.responses.BooleanResponse;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -33,7 +33,7 @@ public class JoinTableRequest extends ServerRequest {
|
|||
|
||||
@Override
|
||||
public void handleMessage(MageServer server, ChannelHandlerContext ctx) {
|
||||
ctx.writeAndFlush(new JoinTableResponse(server.joinTable(ctx.channel().id().asLongText(), roomId, tableId, name, playerType, skill, deckList, password))).addListener(WriteListener.getInstance());
|
||||
ctx.writeAndFlush(new BooleanResponse(server.joinTable(ctx.channel().id().asLongText(), roomId, tableId, name, playerType, skill, deckList, password))).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,38 @@
|
|||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
import mage.cards.decks.DeckCardLists;
|
||||
import org.mage.network.handlers.WriteListener;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.messages.responses.BooleanResponse;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class JoinTournamentTableRequest extends ServerRequest {
|
||||
private final UUID roomId;
|
||||
private final UUID tableId;
|
||||
private final String name;
|
||||
private final String playerType;
|
||||
private final int skill;
|
||||
private final DeckCardLists deckList;
|
||||
private final String password;
|
||||
|
||||
public JoinTournamentTableRequest(UUID roomId, UUID tableId, String name, String playerType, int skill, DeckCardLists deckList, String password) {
|
||||
this.roomId = roomId;
|
||||
this.tableId = tableId;
|
||||
this.name = name;
|
||||
this.playerType = playerType;
|
||||
this.skill = skill;
|
||||
this.deckList = deckList;
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(MageServer server, ChannelHandlerContext ctx) {
|
||||
ctx.writeAndFlush(new BooleanResponse(server.joinTournamentTable(ctx.channel().id().asLongText(), roomId, tableId, name, playerType, skill, deckList, password))).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -4,7 +4,7 @@ import io.netty.channel.ChannelHandlerContext;
|
|||
import java.util.UUID;
|
||||
import org.mage.network.handlers.WriteListener;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.messages.responses.LeaveTableResponse;
|
||||
import org.mage.network.messages.responses.BooleanResponse;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -22,7 +22,7 @@ public class LeaveTableRequest extends ServerRequest {
|
|||
|
||||
@Override
|
||||
public void handleMessage(MageServer server, ChannelHandlerContext ctx) {
|
||||
ctx.writeAndFlush(new LeaveTableResponse(server.leaveTable(ctx.channel().id().asLongText(), roomId, tableId))).addListener(WriteListener.getInstance());
|
||||
ctx.writeAndFlush(new BooleanResponse(server.leaveTable(ctx.channel().id().asLongText(), roomId, tableId))).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import io.netty.channel.ChannelHandlerContext;
|
|||
import java.util.UUID;
|
||||
import org.mage.network.handlers.WriteListener;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.messages.responses.StartMatchResponse;
|
||||
import org.mage.network.messages.responses.BooleanResponse;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -22,7 +22,7 @@ public class StartMatchRequest extends ServerRequest {
|
|||
|
||||
@Override
|
||||
public void handleMessage(MageServer server, ChannelHandlerContext ctx) {
|
||||
ctx.writeAndFlush(new StartMatchResponse(server.startMatch(ctx.channel().id().asLongText(), roomId, tableId))).addListener(WriteListener.getInstance());
|
||||
ctx.writeAndFlush(new BooleanResponse(server.startMatch(ctx.channel().id().asLongText(), roomId, tableId))).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import java.util.UUID;
|
|||
import mage.cards.decks.DeckCardLists;
|
||||
import org.mage.network.handlers.WriteListener;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.messages.responses.SubmitDeckResponse;
|
||||
import org.mage.network.messages.responses.BooleanResponse;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -22,7 +22,7 @@ public class SubmitDeckRequest extends ServerRequest {
|
|||
|
||||
@Override
|
||||
public void handleMessage(MageServer server, ChannelHandlerContext ctx) {
|
||||
ctx.writeAndFlush(new SubmitDeckResponse(server.submitDeck(ctx.channel().id().asLongText(), tableId, deckCardLists))).addListener(WriteListener.getInstance());
|
||||
ctx.writeAndFlush(new BooleanResponse(server.submitDeck(ctx.channel().id().asLongText(), tableId, deckCardLists))).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import io.netty.channel.ChannelHandlerContext;
|
|||
import java.util.UUID;
|
||||
import org.mage.network.handlers.WriteListener;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.messages.responses.TableWaitingResponse;
|
||||
import org.mage.network.messages.responses.TableViewResponse;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -22,7 +22,7 @@ public class TableWaitingRequest extends ServerRequest {
|
|||
|
||||
@Override
|
||||
public void handleMessage(MageServer server, ChannelHandlerContext ctx) {
|
||||
ctx.writeAndFlush(new TableWaitingResponse(server.getTable(roomId, tableId))).addListener(WriteListener.getInstance());
|
||||
ctx.writeAndFlush(new TableViewResponse(server.getTable(roomId, tableId))).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,11 +7,11 @@ import org.mage.network.messages.ClientMessage;
|
|||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class JoinTableResponse extends ClientMessage {
|
||||
public class BooleanResponse extends ClientMessage {
|
||||
|
||||
private boolean success;
|
||||
|
||||
public JoinTableResponse(boolean success) {
|
||||
public BooleanResponse(boolean success) {
|
||||
this.success = success;
|
||||
}
|
||||
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
package org.mage.network.messages.responses;
|
||||
|
||||
import java.util.UUID;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
import org.mage.network.messages.ClientMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class ChatRoomIdResponse extends ClientMessage {
|
||||
|
||||
private UUID chatId;
|
||||
|
||||
public ChatRoomIdResponse(UUID chatId) {
|
||||
this.chatId = chatId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(ClientMessageHandler handler) {
|
||||
handler.receiveId(chatId);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
package org.mage.network.messages.responses;
|
||||
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
import org.mage.network.messages.ClientMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class LeaveTableResponse extends ClientMessage {
|
||||
|
||||
private boolean success;
|
||||
|
||||
public LeaveTableResponse(boolean success) {
|
||||
this.success = success;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(ClientMessageHandler handler) {
|
||||
handler.receiveBoolean(success);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
package org.mage.network.messages.responses;
|
||||
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
import org.mage.network.messages.ClientMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class StartMatchResponse extends ClientMessage {
|
||||
|
||||
private boolean success;
|
||||
|
||||
public StartMatchResponse(boolean success) {
|
||||
this.success = success;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(ClientMessageHandler handler) {
|
||||
handler.receiveBoolean(success);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
package org.mage.network.messages.responses;
|
||||
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
import org.mage.network.messages.ClientMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class SubmitDeckResponse extends ClientMessage {
|
||||
|
||||
private boolean success;
|
||||
|
||||
public SubmitDeckResponse(boolean success) {
|
||||
this.success = success;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(ClientMessageHandler handler) {
|
||||
handler.receiveBoolean(success);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -8,17 +8,17 @@ import org.mage.network.messages.ClientMessage;
|
|||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class CreateTableResponse extends ClientMessage {
|
||||
public class TableViewResponse extends ClientMessage {
|
||||
|
||||
private TableView table;
|
||||
private TableView view;
|
||||
|
||||
public CreateTableResponse(TableView table) {
|
||||
this.table = table;
|
||||
public TableViewResponse(TableView view) {
|
||||
this.view = view;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(ClientMessageHandler handler) {
|
||||
handler.receiveTableView(table);
|
||||
handler.receiveTableView(view);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
package org.mage.network.messages.responses;
|
||||
|
||||
import mage.view.TableView;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
import org.mage.network.messages.ClientMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class TableWaitingResponse extends ClientMessage {
|
||||
|
||||
private TableView table;
|
||||
|
||||
public TableWaitingResponse(TableView table) {
|
||||
this.table = table;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(ClientMessageHandler handler) {
|
||||
handler.receiveTableView(table);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -8,17 +8,17 @@ import org.mage.network.messages.ClientMessage;
|
|||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class JoinGameResponse extends ClientMessage {
|
||||
public class UUIDResponse extends ClientMessage {
|
||||
|
||||
private UUID chatId;
|
||||
private UUID id;
|
||||
|
||||
public JoinGameResponse(UUID chatId) {
|
||||
this.chatId = chatId;
|
||||
public UUIDResponse(UUID id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(ClientMessageHandler handler) {
|
||||
handler.receiveId(chatId);
|
||||
handler.receiveId(id);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -305,27 +305,22 @@ public class ServerMain implements MageServer {
|
|||
return ret;
|
||||
}
|
||||
|
||||
// @Override
|
||||
// public boolean joinTournamentTable(final String sessionId, final UUID roomId, final UUID tableId, final String name, final String playerType, final int skill, final DeckCardLists deckList, final String password) throws MageException, GameException {
|
||||
// return executeWithResult("joinTournamentTable", sessionId, new ActionWithBooleanResult() {
|
||||
// @Override
|
||||
// public Boolean execute() throws MageException {
|
||||
// UUID userId = SessionManager.getInstance().getSession(sessionId).getUserId();
|
||||
// if (logger.isTraceEnabled()) {
|
||||
// User user = UserManager.getInstance().getUser(userId);
|
||||
// if (user != null) {
|
||||
// logger.trace("join tourn. tableId: " + tableId + " " + name);
|
||||
// }
|
||||
// }
|
||||
// if (userId == null) {
|
||||
// logger.fatal("Got no userId from sessionId" + sessionId + " tableId" + tableId);
|
||||
// return false;
|
||||
// }
|
||||
// boolean ret = GamesRoomManager.getInstance().getRoom(roomId).joinTournamentTable(userId, tableId, name, playerType, skill, deckList, password);
|
||||
// return ret;
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
@Override
|
||||
public boolean joinTournamentTable(final String sessionId, final UUID roomId, final UUID tableId, final String name, final String playerType, final int skill, final DeckCardLists deckList, final String password) {
|
||||
UUID userId = SessionManager.getInstance().getSession(sessionId).getUserId();
|
||||
if (logger.isTraceEnabled()) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
logger.trace("join tourn. tableId: " + tableId + " " + name);
|
||||
}
|
||||
}
|
||||
if (userId == null) {
|
||||
logger.fatal("Got no userId from sessionId" + sessionId + " tableId" + tableId);
|
||||
return false;
|
||||
}
|
||||
boolean ret = GamesRoomManager.getInstance().getRoom(roomId).joinTournamentTable(userId, tableId, name, playerType, skill, deckList, password);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean submitDeck(final String sessionId, final UUID tableId, final DeckCardLists deckList) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue