Fixed: disconnection during lobby creation--> currentStateProblem
This commit is contained in:
@@ -96,8 +96,9 @@ public class Game implements Serializable {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
disconnetedPlayers.put(player,true);
|
disconnetedPlayers.put(player,true);
|
||||||
if (currentState.equals(GameStages.WAITING)) {
|
if (currentState.getGameStage().equals(GameStages.WAITING)) {
|
||||||
playersList.remove(player);
|
playersList.remove(player);
|
||||||
|
totemChoiceQueue.remove(player);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if(currentState.getCurrentPlayer().equals(player)) {
|
if(currentState.getCurrentPlayer().equals(player)) {
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ public class ServerLauncher {
|
|||||||
Game game=gameController.getModel();
|
Game game=gameController.getModel();
|
||||||
if(!event.getIsError())
|
if(!event.getIsError())
|
||||||
{
|
{
|
||||||
if(event.getEventType().equals(EventType.DISCONNECTED_PLAYER)&& game.getCurrentState().equals(GameStages.WAITING))
|
if(event.getEventType().equals(EventType.DISCONNECTED_PLAYER)&& game.getCurrentState().getGameStage().equals(GameStages.WAITING))
|
||||||
{
|
{
|
||||||
playerList.remove(event.getUsername());
|
playerList.remove(event.getUsername());
|
||||||
}else {
|
}else {
|
||||||
@@ -155,7 +155,6 @@ public class ServerLauncher {
|
|||||||
else if(!this.gameSave() ){
|
else if(!this.gameSave() ){
|
||||||
System.out.println("\n!!! Save failed !!!\n");
|
System.out.println("\n!!! Save failed !!!\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if (event.getEventType().equals(EventType.DISCONNECTED_PLAYER) && playerList.values().stream().filter(x -> x).count() == 1) {
|
if (event.getEventType().equals(EventType.DISCONNECTED_PLAYER) && playerList.values().stream().filter(x -> x).count() == 1) {
|
||||||
if (disconnectionTimer != null && !disconnectionTimer.isDone()) {
|
if (disconnectionTimer != null && !disconnectionTimer.isDone()) {
|
||||||
@@ -266,7 +265,12 @@ public class ServerLauncher {
|
|||||||
while (true) {
|
while (true) {
|
||||||
try{
|
try{
|
||||||
this.doFirstEvent();
|
this.doFirstEvent();
|
||||||
this.view.fullRender();
|
try{
|
||||||
|
this.view.fullRender();
|
||||||
|
}
|
||||||
|
catch (NullPointerException e){
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch(InterruptedException e){
|
catch(InterruptedException e){
|
||||||
Thread.currentThread().interrupt();
|
Thread.currentThread().interrupt();
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ public class TotemFXMLController {
|
|||||||
ImageView img = new ImageView(new Image(getClass().getResourceAsStream("/GUIImages/Totems/totem_"+ String.valueOf(totem).toLowerCase(Locale.ROOT) +".png")));
|
ImageView img = new ImageView(new Image(getClass().getResourceAsStream("/GUIImages/Totems/totem_"+ String.valueOf(totem).toLowerCase(Locale.ROOT) +".png")));
|
||||||
img.setFitHeight(240);
|
img.setFitHeight(240);
|
||||||
img.setPreserveRatio(true);
|
img.setPreserveRatio(true);
|
||||||
img.setOnMouseClicked(e -> controller.totemChoice(controller.myUsername));
|
//img.setOnMouseClicked(e -> controller.totemChoice(controller.myUsername));
|
||||||
mainHBox.getChildren().add(img);
|
mainHBox.getChildren().add(img);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user