mirror of
https://github.com/magefree/mage.git
synced 2025-12-24 20:41:58 -08:00
added sendPlayerAction
This commit is contained in:
parent
7135cffc01
commit
8aeadf1143
5 changed files with 65 additions and 56 deletions
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue