added Construct and Sideboard callbacks

This commit is contained in:
betasteward 2015-07-01 23:26:07 -04:00
parent a316b01b15
commit 27da366eea
12 changed files with 173 additions and 56 deletions

View file

@ -1,5 +1,6 @@
package org.mage.network;
import org.mage.network.messages.callback.ConstructCallback;
import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.Channel;
import io.netty.channel.ChannelInitializer;
@ -28,6 +29,7 @@ import mage.choices.Choice;
import mage.view.AbilityPickerView;
import mage.view.CardsView;
import mage.view.ChatMessage;
import mage.view.DeckView;
import mage.view.DraftClientMessage;
import mage.view.DraftView;
import mage.view.GameClientMessage;
@ -66,6 +68,7 @@ import org.mage.network.messages.callback.GameTargetCallback;
import org.mage.network.messages.callback.GameUpdateCallback;
import org.mage.network.messages.callback.InformClientCallback;
import org.mage.network.messages.callback.JoinedTableCallback;
import org.mage.network.messages.callback.SideboardCallback;
import org.mage.network.messages.callback.UserRequestDialogCallback;
/**
@ -326,12 +329,16 @@ public class Server {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
public void sideboard(String sessionId, UUID tableId, TableClientMessage tableClientMessage) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
public void sideboard(String sessionId, UUID tableId, DeckView deck, int time, boolean limited) {
Channel ch = findChannel(sessionId);
if (ch != null)
ch.writeAndFlush(new SideboardCallback(tableId, deck, time, limited)).addListener(WriteListener.getInstance());
}
public void construct(String sessionId, UUID tableId, TableClientMessage tableClientMessage) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
public void construct(String sessionId, UUID tableId, DeckView deck, int time) {
Channel ch = findChannel(sessionId);
if (ch != null)
ch.writeAndFlush(new ConstructCallback(tableId, deck, time)).addListener(WriteListener.getInstance());
}
public void startTournament(String sessionId, UUID tournamentId, TableClientMessage tableClientMessage) {

View file

@ -9,6 +9,7 @@ import mage.interfaces.ServerState;
import mage.view.AbilityPickerView;
import mage.view.CardsView;
import mage.view.ChatMessage;
import mage.view.DeckView;
import mage.view.GameClientMessage;
import mage.view.GameEndView;
import mage.view.GameView;
@ -55,5 +56,8 @@ public interface MageClient {
public void gameEndInfo(UUID gameId, GameEndView view);
public void userRequestDialog(UUID gameId, UserRequestMessage userRequestMessage);
public void sideboard(UUID tableId, DeckView deck, int time, boolean limited);
public void construct(UUID tableId, DeckView deck, int time);
}

View file

@ -0,0 +1,28 @@
package org.mage.network.messages.callback;
import java.util.UUID;
import mage.view.DeckView;
import org.mage.network.handlers.client.ClientMessageHandler;
import org.mage.network.messages.ClientMessage;
/**
*
* @author BetaSteward
*/
public class ConstructCallback extends ClientMessage {
private final UUID tableId;
private final DeckView deck;
private final int time;
public ConstructCallback(UUID tableId, DeckView deck, int time) {
this.tableId = tableId;
this.deck = deck;
this.time = time;
}
@Override
public void handleMessage(ClientMessageHandler handler) {
handler.getClient().construct(tableId, deck, time);
}
}

View file

@ -0,0 +1,30 @@
package org.mage.network.messages.callback;
import java.util.UUID;
import mage.view.DeckView;
import org.mage.network.handlers.client.ClientMessageHandler;
import org.mage.network.messages.ClientMessage;
/**
*
* @author BetaSteward
*/
public class SideboardCallback extends ClientMessage {
private final UUID tableId;
private final DeckView deck;
private final int time;
private final boolean limited;
public SideboardCallback(UUID tableId, DeckView deck, int time, boolean limited) {
this.tableId = tableId;
this.deck = deck;
this.time = time;
this.limited = limited;
}
@Override
public void handleMessage(ClientMessageHandler handler) {
handler.getClient().sideboard(tableId, deck, time, limited);
}
}