Updated: now the disconnected player before the crash are ignored for the game restarting
This commit is contained in:
@@ -42,7 +42,7 @@ public class Game implements Serializable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//TODO
|
//TODO
|
||||||
Map<Player,Boolean> disconnetedPlayers = new HashMap<>();
|
public Map<Player,Boolean> disconnetedPlayers = new HashMap<>();
|
||||||
//TODO
|
//TODO
|
||||||
public boolean DisconnectedPlayer(Player player)
|
public boolean DisconnectedPlayer(Player player)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ public class RMIServer extends UnicastRemoteObject implements IGameServer {
|
|||||||
clients.put(username, callback);
|
clients.put(username, callback);
|
||||||
System.out.println("Reconnected player: " + username);
|
System.out.println("Reconnected player: " + username);
|
||||||
startWatchdog(username);
|
startWatchdog(username);
|
||||||
callback.onGameInit(model);
|
callback.onGameInit(controller.getModel());
|
||||||
System.out.println("Model sent: " + username);
|
System.out.println("Model sent: " + username);
|
||||||
actionQueue.add(new ReconnectPlayer(username));
|
actionQueue.add(new ReconnectPlayer(username));
|
||||||
return true;
|
return true;
|
||||||
@@ -112,7 +112,7 @@ public class RMIServer extends UnicastRemoteObject implements IGameServer {
|
|||||||
clients.put(username, callback);
|
clients.put(username, callback);
|
||||||
System.out.println("Reconnected player: " + username);
|
System.out.println("Reconnected player: " + username);
|
||||||
startWatchdog(username);
|
startWatchdog(username);
|
||||||
callback.onGameInit(model);
|
callback.onGameInit(controller.getModel());
|
||||||
System.out.println("Model sent: " + username);
|
System.out.println("Model sent: " + username);
|
||||||
actionQueue.add(new ReconnectPlayer(username));
|
actionQueue.add(new ReconnectPlayer(username));
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -139,6 +139,13 @@ public class ServerLauncher {
|
|||||||
ServerLauncher launcher = new ServerLauncher(actionQueue, gameController, serverRMI, serverTCP);
|
ServerLauncher launcher = new ServerLauncher(actionQueue, gameController, serverRMI, serverTCP);
|
||||||
if(gameController.getModel() != null){
|
if(gameController.getModel() != null){
|
||||||
playerList.setLimit(gameController.getModel().getNPlayers());
|
playerList.setLimit(gameController.getModel().getNPlayers());
|
||||||
|
for(Map.Entry<Player,Boolean>entry: gameController.getModel().disconnetedPlayers.entrySet())
|
||||||
|
{
|
||||||
|
if(entry.getValue())
|
||||||
|
{
|
||||||
|
playerList.put(entry.getKey().getUserName(),false);
|
||||||
|
}
|
||||||
|
}
|
||||||
serverCrashed = true;
|
serverCrashed = true;
|
||||||
} else {
|
} else {
|
||||||
serverCrashed = false;
|
serverCrashed = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user