added sendPlayerAction

This commit is contained in:
betasteward 2015-06-23 22:08:39 -04:00
parent 7135cffc01
commit 8aeadf1143
5 changed files with 65 additions and 56 deletions

View file

@ -13,6 +13,7 @@ import io.netty.handler.codec.serialization.ObjectEncoder;
import io.netty.handler.ssl.SslContext;
import io.netty.handler.ssl.util.InsecureTrustManagerFactory;
import io.netty.handler.timeout.IdleStateHandler;
import java.io.Serializable;
import java.util.List;
import java.util.Set;
import java.util.UUID;
@ -23,7 +24,6 @@ import mage.constants.PlayerAction;
import mage.game.match.MatchOptions;
import mage.game.tournament.TournamentOptions;
import mage.interfaces.ServerState;
import mage.players.net.UserSkipPrioritySteps;
import mage.remote.Connection;
import mage.utils.MageVersion;
import mage.view.DraftPickView;
@ -34,11 +34,10 @@ import mage.view.UserDataView;
import mage.view.UserView;
import org.apache.log4j.Logger;
import org.mage.network.handlers.ExceptionHandler;
import org.mage.network.handlers.MessageHandler;
import org.mage.network.handlers.client.HeartbeatHandler;
import org.mage.network.handlers.PingMessageHandler;
import org.mage.network.handlers.client.ClientMessageHandler;
import org.mage.network.handlers.client.ClientRegisteredMessageHandler;
import org.mage.network.handlers.client.HeartbeatHandler;
import org.mage.network.interfaces.MageClient;
import org.mage.network.model.MessageType;
@ -279,8 +278,12 @@ public class Client {
}
}
public void sendPlayerAction(PlayerAction passPriorityAction, UUID gameId, Object data) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
public void sendPlayerAction(PlayerAction passPriorityAction, UUID gameId, Serializable data) {
try {
clientMessageHandler.sendPlayerAction(passPriorityAction, gameId, data);
} catch (Exception ex) {
logger.error("Error swaping seats", ex);
}
}
public TableView getTable(UUID roomId, UUID tableId) {

View file

@ -1,18 +1,15 @@
package org.mage.network.handlers.client;
import org.mage.network.model.SendPlayerManaTypeRequest;
import org.mage.network.model.SendPlayerIntegerRequest;
import org.mage.network.model.SendPlayerStringRequest;
import org.mage.network.model.SendPlayerUUIDRequest;
import org.mage.network.model.SendPlayerBooleanRequest;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.SimpleChannelInboundHandler;
import java.io.Serializable;
import java.util.List;
import java.util.UUID;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import mage.cards.decks.DeckCardLists;
import mage.constants.ManaType;
import mage.constants.PlayerAction;
import mage.game.match.MatchOptions;
import mage.view.RoomView;
import mage.view.TableView;
@ -28,7 +25,13 @@ import org.mage.network.model.JoinGameRequest;
import org.mage.network.model.JoinTableRequest;
import org.mage.network.model.LeaveChatRequest;
import org.mage.network.model.LeaveTableRequest;
import org.mage.network.model.PlayerActionRequest;
import org.mage.network.model.RemoveTableRequest;
import org.mage.network.model.SendPlayerBooleanRequest;
import org.mage.network.model.SendPlayerIntegerRequest;
import org.mage.network.model.SendPlayerManaTypeRequest;
import org.mage.network.model.SendPlayerStringRequest;
import org.mage.network.model.SendPlayerUUIDRequest;
import org.mage.network.model.ServerMessagesRequest;
import org.mage.network.model.StartMatchRequest;
import org.mage.network.model.SwapSeatRequest;
@ -181,4 +184,8 @@ public class ClientMessageHandler extends SimpleChannelInboundHandler<ClientMess
ctx.writeAndFlush(new SendPlayerManaTypeRequest(gameId, playerId, manaType)).addListener(WriteListener.getInstance());
}
public void sendPlayerAction(PlayerAction action, UUID gameId, Serializable data) {
ctx.writeAndFlush(new PlayerActionRequest(action, gameId, data)).addListener(WriteListener.getInstance());
}
}

View file

@ -1,9 +1,11 @@
package org.mage.network.interfaces;
import java.io.Serializable;
import java.util.List;
import java.util.UUID;
import mage.cards.decks.DeckCardLists;
import mage.constants.ManaType;
import mage.constants.PlayerAction;
import mage.game.match.MatchOptions;
import mage.interfaces.ServerState;
import mage.remote.Connection;
@ -45,6 +47,7 @@ public interface MageServer {
void sendPlayerManaType(UUID gameId, UUID playerId, String sessionId, ManaType data);
void sendPlayerBoolean(UUID gameId, String sessionId, Boolean data);
void sendPlayerInteger(UUID gameId, String sessionId, Integer data);
void sendPlayerAction(PlayerAction playerAction, UUID gameId, String sessionId, Serializable data);
void pingTime(long milliSeconds, String sessionId);

View file

@ -0,0 +1,30 @@
package org.mage.network.model;
import io.netty.channel.ChannelHandlerContext;
import java.io.Serializable;
import java.util.UUID;
import mage.constants.PlayerAction;
import org.mage.network.interfaces.MageServer;
/**
*
* @author BetaSteward
*/
public class PlayerActionRequest extends ServerRequest {
private final PlayerAction playerAction;
private final UUID gameId;
private final Serializable data;
public PlayerActionRequest(PlayerAction playerAction, UUID gameId, Serializable data) {
this.playerAction = playerAction;
this.gameId = gameId;
this.data = data;
}
@Override
public void handleMessage(MageServer server, ChannelHandlerContext ctx) {
server.sendPlayerAction(playerAction, gameId, ctx.channel().id().asLongText(), data);
}
}