mirror of
https://github.com/magefree/mage.git
synced 2025-12-30 07:22:03 -08:00
added watch game methods
This commit is contained in:
parent
8225a4080c
commit
4bb7ffd452
22 changed files with 235 additions and 114 deletions
|
|
@ -330,7 +330,11 @@ public class Client {
|
|||
}
|
||||
|
||||
public void watchTournamentTable(UUID tableId) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
try {
|
||||
clientMessageHandler.watchTournamentTable(tableId);
|
||||
} catch (Exception ex) {
|
||||
logger.error("Error watching tournament table", ex);
|
||||
}
|
||||
}
|
||||
|
||||
public UUID getTournamentChatId(UUID tournamentId) {
|
||||
|
|
@ -369,7 +373,11 @@ public class Client {
|
|||
}
|
||||
|
||||
public void watchTable(UUID roomId, UUID tableId) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
try {
|
||||
clientMessageHandler.watchTable(roomId, tableId);
|
||||
} catch (Exception ex) {
|
||||
logger.error("Error watching table", ex);
|
||||
}
|
||||
}
|
||||
|
||||
public void replayGame(UUID gameId) {
|
||||
|
|
@ -416,16 +424,16 @@ public class Client {
|
|||
return null;
|
||||
}
|
||||
|
||||
public UUID watchGame(UUID gameId) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
public boolean startReplay(UUID gameId) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
public void stopWatching(UUID gameId) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
try {
|
||||
clientMessageHandler.stopWatching(gameId);
|
||||
} catch (Exception ex) {
|
||||
logger.error("Error stopping watching game", ex);
|
||||
}
|
||||
}
|
||||
|
||||
public void stopReplay(UUID gameId) {
|
||||
|
|
|
|||
|
|
@ -75,6 +75,7 @@ import org.mage.network.messages.callback.SideboardCallback;
|
|||
import org.mage.network.messages.callback.StartDraftCallback;
|
||||
import org.mage.network.messages.callback.TournamentStartedCallback;
|
||||
import org.mage.network.messages.callback.UserRequestDialogCallback;
|
||||
import org.mage.network.messages.callback.WatchGameCallback;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -364,8 +365,10 @@ public class Server {
|
|||
ch.writeAndFlush(new ShowTournamentCallback(tournamentId)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
public void watchGame(String sessionId, UUID gameId) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
public void watchGame(String sessionId, UUID gameId, UUID chatId, GameView game) {
|
||||
Channel ch = findChannel(sessionId);
|
||||
if (ch != null)
|
||||
ch.writeAndFlush(new WatchGameCallback(gameId, chatId, game)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
public void replayGame(String sessionId, UUID gameId) {
|
||||
|
|
|
|||
|
|
@ -1,12 +1,5 @@
|
|||
package org.mage.network.handlers.client;
|
||||
|
||||
import org.mage.network.messages.requests.GetTournamentChatIdRequest;
|
||||
import org.mage.network.messages.requests.GetTournamentRequest;
|
||||
import org.mage.network.messages.requests.JoinTournamentRequest;
|
||||
import org.mage.network.messages.requests.StartTournamentRequest;
|
||||
import org.mage.network.messages.requests.CreateTournamentRequest;
|
||||
import org.mage.network.messages.requests.QuitTournamentRequest;
|
||||
import org.mage.network.messages.requests.QuitMatchRequest;
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import io.netty.channel.SimpleChannelInboundHandler;
|
||||
import java.io.Serializable;
|
||||
|
|
@ -31,11 +24,15 @@ import org.mage.network.messages.ClientMessage;
|
|||
import org.mage.network.messages.requests.ChatMessageRequest;
|
||||
import org.mage.network.messages.requests.ChatRoomIdRequest;
|
||||
import org.mage.network.messages.requests.CreateTableRequest;
|
||||
import org.mage.network.messages.requests.CreateTournamentRequest;
|
||||
import org.mage.network.messages.requests.GetRoomRequest;
|
||||
import org.mage.network.messages.requests.GetTournamentChatIdRequest;
|
||||
import org.mage.network.messages.requests.GetTournamentRequest;
|
||||
import org.mage.network.messages.requests.JoinChatRequest;
|
||||
import org.mage.network.messages.requests.JoinDraftRequest;
|
||||
import org.mage.network.messages.requests.JoinGameRequest;
|
||||
import org.mage.network.messages.requests.JoinTableRequest;
|
||||
import org.mage.network.messages.requests.JoinTournamentRequest;
|
||||
import org.mage.network.messages.requests.JoinTournamentTableRequest;
|
||||
import org.mage.network.messages.requests.LeaveChatRequest;
|
||||
import org.mage.network.messages.requests.LeaveTableRequest;
|
||||
|
|
@ -43,6 +40,8 @@ import org.mage.network.messages.requests.MarkCardRequest;
|
|||
import org.mage.network.messages.requests.PickCardRequest;
|
||||
import org.mage.network.messages.requests.PlayerActionRequest;
|
||||
import org.mage.network.messages.requests.QuitDraftRequest;
|
||||
import org.mage.network.messages.requests.QuitMatchRequest;
|
||||
import org.mage.network.messages.requests.QuitTournamentRequest;
|
||||
import org.mage.network.messages.requests.RemoveTableRequest;
|
||||
import org.mage.network.messages.requests.SendFeedbackRequest;
|
||||
import org.mage.network.messages.requests.SendPlayerBooleanRequest;
|
||||
|
|
@ -53,10 +52,14 @@ import org.mage.network.messages.requests.SendPlayerUUIDRequest;
|
|||
import org.mage.network.messages.requests.ServerMessagesRequest;
|
||||
import org.mage.network.messages.requests.SetPreferencesRequest;
|
||||
import org.mage.network.messages.requests.StartMatchRequest;
|
||||
import org.mage.network.messages.requests.StartTournamentRequest;
|
||||
import org.mage.network.messages.requests.StopWatchingRequest;
|
||||
import org.mage.network.messages.requests.SubmitDeckRequest;
|
||||
import org.mage.network.messages.requests.SwapSeatRequest;
|
||||
import org.mage.network.messages.requests.TableWaitingRequest;
|
||||
import org.mage.network.messages.requests.UpdateDeckRequest;
|
||||
import org.mage.network.messages.requests.WatchTableRequest;
|
||||
import org.mage.network.messages.requests.WatchTournamentTableRequest;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -301,4 +304,16 @@ public class ClientMessageHandler extends SimpleChannelInboundHandler<ClientMess
|
|||
return tournamentViewQueue.take();
|
||||
}
|
||||
|
||||
public void watchTournamentTable(UUID tableId) {
|
||||
ctx.writeAndFlush(new WatchTournamentTableRequest(tableId)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
public void watchTable(UUID roomId, UUID tableId) {
|
||||
ctx.writeAndFlush(new WatchTableRequest(roomId, tableId)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
public void stopWatching(UUID gameId) {
|
||||
ctx.writeAndFlush(new StopWatchingRequest(gameId)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -71,4 +71,5 @@ public interface MageClient {
|
|||
void showTournament(UUID tournamentId);
|
||||
void tournamentStarted(UUID tournamentId);
|
||||
|
||||
void watchGame(UUID gameId, UUID chatId, GameView game);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -73,6 +73,10 @@ public interface MageServer {
|
|||
boolean joinTournament(UUID tournamentId, String sessionId);
|
||||
void quitTournament(UUID tournamentId, String sessionId);
|
||||
|
||||
void watchTable(String sessionId, UUID roomId, UUID tableId);
|
||||
void watchTournamentTable(String sessionId, UUID tableId);
|
||||
void stopWatching(UUID gameId, String sessionId);
|
||||
|
||||
void pingTime(long milliSeconds, String sessionId);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,28 @@
|
|||
package org.mage.network.messages.callback;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.view.GameView;
|
||||
import org.mage.network.handlers.client.ClientMessageHandler;
|
||||
import org.mage.network.messages.ClientMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class WatchGameCallback extends ClientMessage {
|
||||
private final UUID gameId;
|
||||
private final UUID chatId;
|
||||
private final GameView game;
|
||||
|
||||
public WatchGameCallback(UUID gameId, UUID chatId, GameView game) {
|
||||
this.gameId = gameId;
|
||||
this.chatId = chatId;
|
||||
this.game = game;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(ClientMessageHandler handler) {
|
||||
handler.getClient().watchGame(gameId, chatId, game);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class StopWatchingRequest extends ServerRequest {
|
||||
private final UUID gameId;
|
||||
|
||||
public StopWatchingRequest(UUID gameId) {
|
||||
this.gameId = gameId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(MageServer server, ChannelHandlerContext ctx) {
|
||||
server.stopWatching(gameId, getSessionId(ctx));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
//package org.mage.network.messages.requests;
|
||||
//
|
||||
//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.UUIDResponse;
|
||||
//
|
||||
///**
|
||||
// *
|
||||
// * @author BetaSteward
|
||||
// */
|
||||
//public class WatchGameRequest extends ServerRequest {
|
||||
// private final UUID gameId;
|
||||
//
|
||||
// public WatchGameRequest(UUID gameId) {
|
||||
// this.gameId = gameId;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void handleMessage(MageServer server, ChannelHandlerContext ctx) {
|
||||
// ctx.writeAndFlush(new UUIDResponse(server.watchGame(gameId, getSessionId(ctx)))).addListener(WriteListener.getInstance());
|
||||
// }
|
||||
//
|
||||
//}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class WatchTableRequest extends ServerRequest {
|
||||
private final UUID roomId;
|
||||
private final UUID tableId;
|
||||
|
||||
public WatchTableRequest(UUID roomId, UUID tableId) {
|
||||
this.roomId = roomId;
|
||||
this.tableId = tableId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(MageServer server, ChannelHandlerContext ctx) {
|
||||
server.watchTable(getSessionId(ctx), roomId, tableId);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
package org.mage.network.messages.requests;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import java.util.UUID;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class WatchTournamentTableRequest extends ServerRequest {
|
||||
private final UUID tableId;
|
||||
|
||||
public WatchTournamentTableRequest(UUID tableId) {
|
||||
this.tableId = tableId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(MageServer server, ChannelHandlerContext ctx) {
|
||||
server.watchTournamentTable(getSessionId(ctx), tableId);
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue