This repository has been archived on 2025-03-02. You can view files and clone it, but cannot push or open issues or pull requests.
JRummikub/mock/jrummikub/control/network/MockConnectionControl.java
Matthias Schiffer 0c3eb9a283 Fixed a bunch of network synchronization bugs
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@510 72836036-5685-4462-b002-a69064685172
2011-06-20 06:41:15 +02:00

222 lines
4.4 KiB
Java

package jrummikub.control.network;
import java.awt.Color;
import java.util.UUID;
import jrummikub.model.IHand;
import jrummikub.model.IRoundState;
import jrummikub.model.ITable;
import jrummikub.util.GameData;
import jrummikub.util.IEvent;
import jrummikub.util.IEvent1;
import jrummikub.util.IEvent2;
import jrummikub.util.IEvent3;
import jrummikub.util.MockEvent;
import jrummikub.util.MockEvent1;
import jrummikub.util.MockEvent2;
import jrummikub.util.MockEvent3;
import jrummikub.view.LoginError;
/** */
public class MockConnectionControl implements IConnectionControl {
/** */
public String nickname;
/** */
public MockEvent connectedEvent = new MockEvent();
/** */
public MockEvent1<LoginError> connectionFailedEvent = new MockEvent1<LoginError>();
/** */
public MockEvent1<GameData> gameOfferEvent = new MockEvent1<GameData>();
/** */
public MockEvent1<UUID> gameWithdrawalEvent = new MockEvent1<UUID>();
/** */
public MockEvent1<String> gameJoinEvent = new MockEvent1<String>();
/** */
public MockEvent1<String> gameLeaveEvent = new MockEvent1<String>();
/** */
public MockEvent1<Boolean> gameJoinAckEvent = new MockEvent1<Boolean>();
/** */
public MockEvent2<String, Color> changeColorEvent = new MockEvent2<String, Color>();
/** */
public MockEvent gameStartEvent = new MockEvent();
/** */
public MockEvent roundStartEvent = new MockEvent();
/** */
public MockEvent1<ITable> tableUpdateEvent = new MockEvent1<ITable>();
/** */
public MockEvent3<IHand, ITable, ITable> turnEndEvent = new MockEvent3<IHand, ITable, ITable>();
/** */
public MockEvent1<IRoundState> turnStartEvent = new MockEvent1<IRoundState>();
/** */
public GameData currentGame;
/** */
public GameData offeredGame;
/** */
public boolean connected;
/** */
public boolean failOnConnect;
/** */
public GameData joinedGame;
/** */
public Color playerColor;
/** */
public boolean turnStarted;
/** */
public boolean turnEnded;
@Override
public String getNickname() {
return nickname;
}
@Override
public void connect() {
if (failOnConnect) {
connectionFailedEvent.emit(LoginError.UNKNOWN_ERROR);
} else {
connected = true;
connectedEvent.emit();
}
}
@Override
public void disconnect() {
connected = false;
}
@Override
public IEvent getConnectedEvent() {
return connectedEvent;
}
@Override
public IEvent1<LoginError> getConnectionFailedEvent() {
return connectionFailedEvent;
}
@Override
public IEvent1<GameData> getGameOfferEvent() {
return gameOfferEvent;
}
@Override
public IEvent1<UUID> getGameWithdrawalEvent() {
return gameWithdrawalEvent;
}
@Override
public IEvent1<String> getGameJoinEvent() {
return gameJoinEvent;
}
@Override
public IEvent1<String> getGameLeaveEvent() {
return gameLeaveEvent;
}
@Override
public IEvent1<Boolean> getGameJoinAckEvent() {
return gameJoinAckEvent;
}
@Override
public IEvent2<String, Color> getChangeColorEvent() {
return changeColorEvent;
}
@Override
public IEvent getGameStartEvent() {
return gameStartEvent;
}
@Override
public IEvent getRoundStartEvent() {
return roundStartEvent;
}
@Override
public IEvent1<ITable> getTableUpdateEvent() {
return tableUpdateEvent;
}
@Override
public IEvent3<IHand, ITable, ITable> getTurnEndEvent() {
return turnEndEvent;
}
@Override
public IEvent1<IRoundState> getTurnStartEvent() {
return turnStartEvent;
}
@Override
public void offerGame(GameData data) {
offeredGame = data;
}
@Override
public void withdrawGame() {
// TODO Auto-generated method stub
}
@Override
public GameData getCurrentGame() {
return currentGame;
}
@Override
public void setCurrentGame(GameData game) {
currentGame = game;
}
@Override
public void joinGame(GameData game) {
currentGame = game;
joinedGame = game;
}
@Override
public void leaveGame() {
// TODO Auto-generated method stub
}
@Override
public void ackJoinGame(String recipient, boolean ack) {
// TODO Auto-generated method stub
}
@Override
public void changeColor(Color color) {
playerColor = color;
}
@Override
public void startGame() {
// TODO Auto-generated method stub
}
@Override
public void updateTable(ITable table) {
// TODO Auto-generated method stub
}
@Override
public void endTurn(IHand oldHand, ITable oldTable, ITable newTable) {
turnEnded = true;
}
@Override
public void startTurn(IRoundState state) {
turnStarted = true;
}
@Override
public void startRound() {
// TODO Auto-generated method stub
}
}