added better network support and disconnecting doesnt clos the client who hosts the server now
This commit is contained in:
@@ -1,8 +1,12 @@
|
||||
package pp.mdga.client;
|
||||
|
||||
import pp.mdga.Resources;
|
||||
import pp.mdga.client.ceremonystate.CeremonyStates;
|
||||
import pp.mdga.client.ceremonystate.PodiumState;
|
||||
import pp.mdga.client.ceremonystate.StatisticsState;
|
||||
import pp.mdga.message.server.ShutdownMessage;
|
||||
import pp.mdga.notification.InfoNotification;
|
||||
import pp.mdga.notification.StartDialogNotification;
|
||||
|
||||
public class CeremonyState extends ClientState {
|
||||
|
||||
@@ -77,6 +81,11 @@ public CeremonyStates getState() {
|
||||
return currentState;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void received(ShutdownMessage msg){
|
||||
logic.addNotification(new InfoNotification(Resources.stringLookup("server.shutdown")));
|
||||
}
|
||||
|
||||
/**
|
||||
* this method is used to parse the selectNext from the clientGameLogic
|
||||
*/
|
||||
|
||||
@@ -401,9 +401,7 @@ public void received(ServerStartGameMessage msg) {
|
||||
*/
|
||||
@Override
|
||||
public void received(ShutdownMessage msg) {
|
||||
addNotification(new InfoNotification(Resources.stringLookup("server.shutdown")));
|
||||
addNotification(new StartDialogNotification());
|
||||
setState(dialogsState);
|
||||
state.received(msg);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
package pp.mdga.client;
|
||||
|
||||
import pp.mdga.Resources;
|
||||
import pp.mdga.game.BonusCard;
|
||||
import pp.mdga.game.Color;
|
||||
import pp.mdga.game.Piece;
|
||||
import pp.mdga.message.server.*;
|
||||
import pp.mdga.notification.InfoNotification;
|
||||
import pp.mdga.notification.StartDialogNotification;
|
||||
|
||||
import java.lang.System.Logger.Level;
|
||||
|
||||
@@ -161,7 +164,9 @@ public void received(ServerStartGameMessage msg) {
|
||||
|
||||
@Override
|
||||
public void received(ShutdownMessage msg) {
|
||||
LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg.toString());
|
||||
logic.addNotification(new InfoNotification(Resources.stringLookup("server.shutdown")));
|
||||
logic.addNotification(new StartDialogNotification());
|
||||
logic.setState(logic.getDialogs());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -141,11 +141,9 @@ public void received(LobbyPlayerJoinedMessage msg) {
|
||||
System.out.println(msg.getId());
|
||||
logic.setOwnPlayerId(msg.getId());
|
||||
}
|
||||
if (msg.isHost() && msg.getId() == logic.getOwnPlayerId()) {
|
||||
logic.setHost(true);
|
||||
if (msg.getPlayer().getColor() != Color.NONE){
|
||||
logic.addNotification(new TskSelectNotification(msg.getPlayer().getColor(), msg.getPlayer().getName(), msg.getPlayer().getName().equals(logic.getOwnPlayerName())));
|
||||
}
|
||||
|
||||
logic.addNotification(new TskSelectNotification(msg.getPlayer().getColor(), msg.getPlayer().getName(), msg.getPlayer().getName().equals(logic.getOwnPlayerName())));
|
||||
logic.getGame().getPlayers().put(msg.getId(), msg.getPlayer());
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
import pp.mdga.game.Color;
|
||||
import pp.mdga.message.server.CeremonyMessage;
|
||||
import pp.mdga.message.server.ShutdownMessage;
|
||||
import pp.mdga.server.ServerGameLogic;
|
||||
|
||||
/**
|
||||
@@ -59,6 +60,7 @@ private CeremonyMessage createCeremonyMessage() {
|
||||
public void enter() {
|
||||
LOGGER.log(System.Logger.Level.DEBUG, "Entered CeremonyState state.");
|
||||
logic.getServerSender().broadcast(createCeremonyMessage());
|
||||
logic.getServerSender().shutdown();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -86,9 +86,9 @@ public void received(LeaveGameMessage msg, int from) {
|
||||
this.logic.getServerSender().broadcast(new ShutdownMessage());
|
||||
this.logic.getServerSender().shutdown();
|
||||
}
|
||||
this.logic.getServerSender().disconnectClient(from);
|
||||
this.logic.getGame().removePlayer(from);
|
||||
this.logic.getServerSender().broadcast(new LobbyPlayerLeaveMessage(from));
|
||||
this.logic.getServerSender().disconnectClient(from);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user