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

163 lines
3.1 KiB
Java
Raw Normal View History

package jrummikub.control.network;
import java.awt.Color;
import java.util.UUID;
import jrummikub.util.GameData;
import jrummikub.util.IEvent;
import jrummikub.util.IEvent1;
import jrummikub.util.IEvent2;
import jrummikub.util.MockEvent;
import jrummikub.util.MockEvent1;
import jrummikub.util.MockEvent2;
/** */
public class MockConnectionControl implements IConnectionControl {
/** */
public String nickname;
/** */
public MockEvent connectedEvent = new MockEvent();
/** */
public MockEvent connectionFailedEvent = new MockEvent();
/** */
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 GameData currentGame;
/** */
public GameData offeredGame;
/** */
public boolean connected;
/** */
public boolean failOnConnect;
/** */
public GameData joinedGame;
/** */
public Color playerColor;
@Override
public String getNickname() {
return nickname;
}
@Override
public void connect() {
if (failOnConnect) {
connectionFailedEvent.emit();
} else {
connected = true;
connectedEvent.emit();
}
}
@Override
public void disconnect() {
connected = false;
}
@Override
public IEvent getConnectedEvent() {
return connectedEvent;
}
@Override
public IEvent 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 void offerGame(GameData data) {
// TODO Auto-generated method stub
}
@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
}
}