Finally the fullWagon appears and disappears how it should (only at the very beginning there is still a lag, but i am on it)
This commit is contained in:
parent
d87dd237f7
commit
b9a59de09a
@ -127,10 +127,12 @@ public class Game implements Runnable {
|
|||||||
GhostPlayer ghostPlayer = new GhostPlayer(passengerTrain[index].getPosition(),
|
GhostPlayer ghostPlayer = new GhostPlayer(passengerTrain[index].getPosition(),
|
||||||
client.getClientUserName(), client, passengerTrain[index].getIsOG());
|
client.getClientUserName(), client, passengerTrain[index].getIsOG());
|
||||||
gameState.getPassengerTrain()[index] = ghostPlayer;
|
gameState.getPassengerTrain()[index] = ghostPlayer;
|
||||||
|
client.sendMsgToClient(Protocol.printToGUI + "$" + GuiParameters.yourPosition + "$" + ghostPlayer.getPosition());
|
||||||
} else {
|
} else {
|
||||||
HumanPlayer humanPlayer = new HumanPlayer(passengerTrain[index].getPosition(),
|
HumanPlayer humanPlayer = new HumanPlayer(passengerTrain[index].getPosition(),
|
||||||
client.getClientUserName(), client, passengerTrain[index].getIsOG());
|
client.getClientUserName(), client, passengerTrain[index].getIsOG());
|
||||||
gameState.getPassengerTrain()[index] = humanPlayer;
|
gameState.getPassengerTrain()[index] = humanPlayer;
|
||||||
|
client.sendMsgToClient(Protocol.printToGUI + "$" + GuiParameters.yourPosition + "$" + humanPlayer.getPosition());
|
||||||
}
|
}
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -119,7 +119,7 @@ public class Timer {
|
|||||||
boolean[] whoHasVoted = game.getGameState().getClientVoteData().getHasVoted();
|
boolean[] whoHasVoted = game.getGameState().getClientVoteData().getHasVoted();
|
||||||
Passenger[] passengerArray = game.getGameState().getPassengerTrain();
|
Passenger[] passengerArray = game.getGameState().getPassengerTrain();
|
||||||
for(int i = 0; i < whoHasVoted.length; i++) {
|
for(int i = 0; i < whoHasVoted.length; i++) {
|
||||||
if(!passengerArray[i].getIsGhost() && !whoHasVoted[i]) {
|
if(!passengerArray[i].getIsGhost() && ! passengerArray[i].getKickedOff() && !whoHasVoted[i]) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -47,6 +47,7 @@ public class Client {
|
|||||||
private ClientModel clientModel;
|
private ClientModel clientModel;
|
||||||
private GameStateModel gameStateModel;
|
private GameStateModel gameStateModel;
|
||||||
private GameController gameController;
|
private GameController gameController;
|
||||||
|
private DayNightChangeListener dayNightChangeListener;
|
||||||
|
|
||||||
private GUI gui;
|
private GUI gui;
|
||||||
|
|
||||||
@ -147,6 +148,7 @@ public class Client {
|
|||||||
try {
|
try {
|
||||||
position = Integer.parseInt(pos);
|
position = Integer.parseInt(pos);
|
||||||
gameStateModel.setRoleFromPosition(position);
|
gameStateModel.setRoleFromPosition(position);
|
||||||
|
dayNightChangeListener.setPosition(position);
|
||||||
} catch (NumberFormatException e) {
|
} catch (NumberFormatException e) {
|
||||||
LOGGER.warn("Position got scrabbled on the way here");
|
LOGGER.warn("Position got scrabbled on the way here");
|
||||||
}
|
}
|
||||||
@ -351,9 +353,11 @@ public class Client {
|
|||||||
switch (parameter) {
|
switch (parameter) {
|
||||||
case GuiParameters.night: //ClientGameInfoHandler;
|
case GuiParameters.night: //ClientGameInfoHandler;
|
||||||
gameStateModel.setDayClone(false);
|
gameStateModel.setDayClone(false);
|
||||||
|
dayNightChangeListener.setNoiseButtonInvisible(true);
|
||||||
break;
|
break;
|
||||||
case GuiParameters.day: //ClientGameInfoHandler
|
case GuiParameters.day: //ClientGameInfoHandler
|
||||||
gameStateModel.setDayClone(true);
|
gameStateModel.setDayClone(true);
|
||||||
|
dayNightChangeListener.setNoiseButtonInvisible(false);
|
||||||
break;
|
break;
|
||||||
case GuiParameters.updateGameState:
|
case GuiParameters.updateGameState:
|
||||||
gameStateModel.setGSFromString(data);
|
gameStateModel.setGSFromString(data);
|
||||||
@ -373,6 +377,7 @@ public class Client {
|
|||||||
case GuiParameters.VoteIsOver:
|
case GuiParameters.VoteIsOver:
|
||||||
chatApp.getGameController().setNoiseButtonInvisible();
|
chatApp.getGameController().setNoiseButtonInvisible();
|
||||||
chatApp.getGameController().clearAllNoiseDisplay();
|
chatApp.getGameController().clearAllNoiseDisplay();
|
||||||
|
dayNightChangeListener.setNoiseButtonInvisible(true);
|
||||||
break;
|
break;
|
||||||
case GuiParameters.getMembersInLobby:
|
case GuiParameters.getMembersInLobby:
|
||||||
updateLobbyMembers(data);
|
updateLobbyMembers(data);
|
||||||
@ -380,7 +385,8 @@ public class Client {
|
|||||||
case GuiParameters.viewChangeToGame:
|
case GuiParameters.viewChangeToGame:
|
||||||
chatApp.getLoungeSceneViewController().addGameView();
|
chatApp.getLoungeSceneViewController().addGameView();
|
||||||
gameStateModel.setGameOver(false);
|
gameStateModel.setGameOver(false);
|
||||||
new Thread(new DayNightChangeListener(gameStateModel, chatApp, position)).start();
|
dayNightChangeListener = new DayNightChangeListener(gameStateModel, chatApp, Integer.MAX_VALUE);
|
||||||
|
new Thread(dayNightChangeListener).start();
|
||||||
break;
|
break;
|
||||||
case GuiParameters.viewChangeToLobby:
|
case GuiParameters.viewChangeToLobby:
|
||||||
chatApp.getLoungeSceneViewController().removeGameView();
|
chatApp.getLoungeSceneViewController().removeGameView();
|
||||||
@ -396,6 +402,9 @@ public class Client {
|
|||||||
case GuiParameters.updateHighScore:
|
case GuiParameters.updateHighScore:
|
||||||
chatApp.getLoungeSceneViewController().addHighScore(data);
|
chatApp.getLoungeSceneViewController().addHighScore(data);
|
||||||
break;
|
break;
|
||||||
|
case GuiParameters.yourPosition:
|
||||||
|
dayNightChangeListener.setPosition(Integer.parseInt(data));
|
||||||
|
break;
|
||||||
case GuiParameters.updatePrintLobby:
|
case GuiParameters.updatePrintLobby:
|
||||||
chatApp.getLoungeSceneViewController().clearLobbyPrint();
|
chatApp.getLoungeSceneViewController().clearLobbyPrint();
|
||||||
chatApp.getLoungeSceneViewController().addLobbyPrint(data);
|
chatApp.getLoungeSceneViewController().addLobbyPrint(data);
|
||||||
|
|||||||
@ -12,13 +12,20 @@ public class DayNightChangeListener implements Runnable {
|
|||||||
private GameStateModel gameStateModel;
|
private GameStateModel gameStateModel;
|
||||||
private ChatApp chatApp;
|
private ChatApp chatApp;
|
||||||
private int position;
|
private int position;
|
||||||
|
private boolean noiseButtonInvisible;
|
||||||
|
|
||||||
public DayNightChangeListener(GameStateModel gameStateModel, ChatApp chatApp, int position) {
|
public DayNightChangeListener(GameStateModel gameStateModel, ChatApp chatApp, int position) {
|
||||||
this.gameStateModel = gameStateModel;
|
this.gameStateModel = gameStateModel;
|
||||||
this.chatApp = chatApp;
|
this.chatApp = chatApp;
|
||||||
this.position = position;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setNoiseButtonInvisible(boolean visible) {
|
||||||
|
noiseButtonInvisible = visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPosition(int position) {
|
||||||
|
this.position = position;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -30,7 +37,9 @@ public class DayNightChangeListener implements Runnable {
|
|||||||
GameController.getGameStateModel().getKickedOff());
|
GameController.getGameStateModel().getKickedOff());
|
||||||
chatApp.getGameController()
|
chatApp.getGameController()
|
||||||
.updateGameSprites(LoungeSceneViewController.getTrainAnimationDayController());
|
.updateGameSprites(LoungeSceneViewController.getTrainAnimationDayController());
|
||||||
|
if(!noiseButtonInvisible) {
|
||||||
chatApp.getGameController().setNoiseButtonVisible();
|
chatApp.getGameController().setNoiseButtonVisible();
|
||||||
|
}
|
||||||
chatApp.getGameController().setVoteButtonVisibilityDay(gameStateModel);
|
chatApp.getGameController().setVoteButtonVisibilityDay(gameStateModel);
|
||||||
} else { //its night
|
} else { //its night
|
||||||
try {
|
try {
|
||||||
|
|||||||
@ -101,4 +101,8 @@ public class GuiParameters {
|
|||||||
* Tells gui to remove a lobby from view. Form: {@code RMVLBY$<LobbyID>}
|
* Tells gui to remove a lobby from view. Form: {@code RMVLBY$<LobbyID>}
|
||||||
*/
|
*/
|
||||||
public static final String removeLobby = "RMVLBY";
|
public static final String removeLobby = "RMVLBY";
|
||||||
|
/**
|
||||||
|
* Tells the GUI at which position you are sitting {@code POSITION$integer}
|
||||||
|
*/
|
||||||
|
public static final String yourPosition = "POSITION";
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user