Merge remote-tracking branch 'origin/Application' into Application

This commit is contained in:
Seraina 2022-05-01 15:28:53 +02:00
commit 39c0d4e52f
9 changed files with 470 additions and 460 deletions

View File

@ -31,8 +31,9 @@ public class HumanNPC extends Human {
} }
/** /**
* Sends a msg to the ServerGameInfoHandler.humanNpcParser to decide what has to happen now, if the * Sends a msg to the ServerGameInfoHandler.humanNpcParser to decide what has to happen now, if
* npc hasn't been kicked off 8(should never happen to a human though) * the npc hasn't been kicked off 8(should never happen to a human though)
*
* @param msg the message that is sent to this player. * @param msg the message that is sent to this player.
* @param game the game the HumanNPC lives on (in game.gameState.passengerTrain) * @param game the game the HumanNPC lives on (in game.gameState.passengerTrain)
*/ */
@ -44,8 +45,9 @@ public class HumanNPC extends Human {
} }
/** /**
* Currently returns a random integer for voting, but only for passengers that haven't been * Currently returns a random integer for voting, but only for passengers that haven't been kicked
* kicked off yet * off yet
*
* @param game the game this NPC lives on * @param game the game this NPC lives on
*/ */
public void vote(Game game) { public void vote(Game game) {

View File

@ -400,6 +400,8 @@ public class Client {
case GuiParameters.newLobbyCreated: case GuiParameters.newLobbyCreated:
makeNewLobby(data); makeNewLobby(data);
break; break;
case GuiParameters.newPlayerOnServer:
addNewPlayerToGui(data);
default: default:
notificationTextDisplay(data); notificationTextDisplay(data);
//TODO(Sebi,Seraina): should the gameController be in the Application just like the ChatController? //TODO(Sebi,Seraina): should the gameController be in the Application just like the ChatController?
@ -412,17 +414,22 @@ public class Client {
} }
private void addNewPlayerToGui(String data) {
loungeSceneViewController.addClientToList(data);
LOGGER.debug("addNewPlayerToGui() seems to have finished");
}
private void makeNewLobby(String data) { private void makeNewLobby(String data) {
String[] params = data.split(":"); String[] params = data.split(":");
loungeSceneViewController.newLobby(params[0], params[1]); loungeSceneViewController.newLobby(params[0], params[1]);
LOGGER.debug("makeNewLobby() seems to have finnished"); LOGGER.debug("makeNewLobby() seems to have finished");
} }
private void addPlayerToLobby(String data) { private void addPlayerToLobby(String data) {
String[] params = data.split(":"); String[] params = data.split(":");
loungeSceneViewController.addPlayerToLobby(params[0], params[1]); loungeSceneViewController.addPlayerToLobby(params[0], params[1]);
LOGGER.debug("addPlayerToLobby() seems to have finnished"); LOGGER.debug("addPlayerToLobby() seems to have finished");
} }
private void updateLobbyMembers(String data) { private void updateLobbyMembers(String data) {

View File

@ -28,6 +28,7 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
public class GameController implements Initializable { public class GameController implements Initializable {
public static final Logger LOGGER = LogManager.getLogger(GameController.class); public static final Logger LOGGER = LogManager.getLogger(GameController.class);
public static final BudaLogConfig l = new BudaLogConfig(LOGGER); public static final BudaLogConfig l = new BudaLogConfig(LOGGER);
@ -39,6 +40,7 @@ public class GameController implements Initializable{
public GameController() { public GameController() {
super(); super();
} }
//TODO(Seraina, Sebi): Same issue as ChatController? do with setters? //TODO(Seraina, Sebi): Same issue as ChatController? do with setters?
public GameController(ClientModel c, GameStateModel g) { public GameController(ClientModel c, GameStateModel g) {
client = c; client = c;
@ -177,7 +179,8 @@ public class GameController implements Initializable{
LOGGER.info("But why???"); LOGGER.info("But why???");
} }
client.getClient().sendMsgToServer( client.getClient().sendMsgToServer(
Protocol.sendMessageToAllClients + "$" + Protocol.printToGUI + "$" +GuiParameters.noiseHeardAtPosition + "$" Protocol.sendMessageToAllClients + "$" + Protocol.printToGUI + "$"
+ GuiParameters.noiseHeardAtPosition + "$"
+ client.getClient().getPosition()); //TODO: Test!! + client.getClient().getPosition()); //TODO: Test!!
} }
@ -191,6 +194,7 @@ public class GameController implements Initializable{
/** /**
* Takes a given message and displays it in the notificationText Flow in the game Scene * Takes a given message and displays it in the notificationText Flow in the game Scene
*
* @param msg the message to be displayed * @param msg the message to be displayed
*/ */
public void addMessageToNotificationText(String msg) { public void addMessageToNotificationText(String msg) {
@ -385,7 +389,8 @@ public class GameController implements Initializable{
try { try {
noiseImage2.setImage(loadBellImage()); noiseImage2.setImage(loadBellImage());
} catch (Exception e) { } catch (Exception e) {
LOGGER.debug(e.getMessage());; LOGGER.debug(e.getMessage());
;
} }
} }
}); });

View File

@ -9,6 +9,7 @@ public class ClientListItem {
private final int id; private final int id;
private static int uid = 0; private static int uid = 0;
public ClientListItem(String name, int id) { public ClientListItem(String name, int id) {
this.name = new SimpleStringProperty(name); this.name = new SimpleStringProperty(name);
this.id = id; this.id = id;

View File

@ -26,8 +26,7 @@ public class LobbyListItem {
private final int MAX_CAPACITY = 6; private final int MAX_CAPACITY = 6;
private SimpleIntegerProperty noOfPlayersInLobby; private SimpleIntegerProperty noOfPlayersInLobby;
public LobbyListItem(SimpleStringProperty lobbyID, public LobbyListItem(SimpleStringProperty lobbyID, SimpleStringProperty adminName,
SimpleStringProperty adminName,
SimpleBooleanProperty ownedByClient, SimpleBooleanProperty isOpen, SimpleBooleanProperty ownedByClient, SimpleBooleanProperty isOpen,
SimpleIntegerProperty noOfPlayersInLobby) { SimpleIntegerProperty noOfPlayersInLobby) {
this.lobbyID = lobbyID; this.lobbyID = lobbyID;
@ -66,8 +65,7 @@ public class LobbyListItem {
return clientsInLobby; return clientsInLobby;
} }
public void setClientsInLobby( public void setClientsInLobby(ObservableList<SimpleStringProperty> clientsInLobby) {
ObservableList<SimpleStringProperty> clientsInLobby) {
this.clientsInLobby = clientsInLobby; this.clientsInLobby = clientsInLobby;
} }
@ -113,14 +111,9 @@ public class LobbyListItem {
@Override @Override
public String toString() { public String toString() {
return "LobbyListItem{" + return "LobbyListItem{" + "lobbyID=" + lobbyID + ", adminName=" + adminName
"lobbyID=" + lobbyID + + ", clientsInLobby=" + clientsInLobby + ", ownedByClient=" + ownedByClient + ", isOpen="
", adminName=" + adminName + + isOpen + ", MAX_CAPACITY=" + MAX_CAPACITY + ", noOfPlayersInLobby=" + noOfPlayersInLobby
", clientsInLobby=" + clientsInLobby + + '}';
", ownedByClient=" + ownedByClient +
", isOpen=" + isOpen +
", MAX_CAPACITY=" + MAX_CAPACITY +
", noOfPlayersInLobby=" + noOfPlayersInLobby +
'}';
} }
} }

View File

@ -339,15 +339,6 @@ public class LoungeSceneViewController implements Initializable {
}); });
} }
public void updateClientListView(ObservableList<ClientListItem> names) {
ObservableList<ClientListItem> clientsLeft = ClientListView.getItems();
clientsLeft.removeAll(names);
this.ClientListView.setItems(names);
for (ClientListItem gone : clientsLeft) {
//TODO
}
}
/** /**
* Adds players to a lobby * Adds players to a lobby
* "NMEMB" {@link ch.unibas.dmi.dbis.cs108.multiplayer.helpers.GuiParameters} * "NMEMB" {@link ch.unibas.dmi.dbis.cs108.multiplayer.helpers.GuiParameters}
@ -439,6 +430,20 @@ public class LoungeSceneViewController implements Initializable {
} }
public void removeClientFromList(String name){
Iterator<ClientListItem> it = clients.iterator();
while (it.hasNext()) {
String uid = it.next().getName();
if (uid.equals(name)) {
it.remove();
break;
}
} }
public void removeClientFromLobby(String s){
//todo
}
public void newGame() { public void newGame() {
client.getClient().sendMsgToServer(Protocol.createNewLobby); client.getClient().sendMsgToServer(Protocol.createNewLobby);
} }
@ -457,17 +462,6 @@ public class LoungeSceneViewController implements Initializable {
}); });
} }
public void removePlayer(String id) {
Iterator<SimpleStringProperty> it = client.getAllClients().iterator();
while (it.hasNext()) {
String uid = it.next().getValue();
if (uid.equals(id)) {
it.remove();
break;
}
}
}
/** /**
* Utility to set the client model for this class * Utility to set the client model for this class
* *

View File

@ -79,4 +79,10 @@ public class GuiParameters {
* Indicates a player has joined the server. Form: {@code NPLOS$<playerName>} * Indicates a player has joined the server. Form: {@code NPLOS$<playerName>}
*/ */
public static final String newPlayerOnServer = "NPLOS"; public static final String newPlayerOnServer = "NPLOS";
/**
* Tells gui to remove a certain player from the list of clients based on user name. Form: {@code
* RMVLST$<playerName>}
*/
public static final String removePlayerFromList = "RMVLST";
} }

View File

@ -475,8 +475,9 @@ public class ClientHandler implements Runnable {
public void createNewLobby() { public void createNewLobby() {
if (Lobby.clientIsInLobby(this) == -1) { if (Lobby.clientIsInLobby(this) == -1) {
Lobby newGame = new Lobby(this); Lobby newGame = new Lobby(this);
guiUpdateAll(Protocol.printToGUI + "$" + GuiParameters.newLobbyCreated + "$" + getLobby() guiUpdateAll(
.getLobbyID() + ":" + getClientUserName()); Protocol.printToGUI + "$" + GuiParameters.newLobbyCreated + "$" + getLobby().getLobbyID()
+ ":" + getClientUserName());
LOGGER.debug("Lobby: " + getLobby().getLobbyID() + ". In method createNewLobby()"); LOGGER.debug("Lobby: " + getLobby().getLobbyID() + ". In method createNewLobby()");
} else { } else {
sendAnnouncementToClient("You are already in lobby nr. " + Lobby.clientIsInLobby(this)); sendAnnouncementToClient("You are already in lobby nr. " + Lobby.clientIsInLobby(this));

View File

@ -65,6 +65,7 @@ public class JServerProtocolParser {
} catch (Exception e) { } catch (Exception e) {
h.setUsernameOnLogin("U.N. Owen"); h.setUsernameOnLogin("U.N. Owen");
} }
h.guiUpdateAll(Protocol.printToGUI+"$"+GuiParameters.newPlayerOnServer+"$"+h.getClientUserName());
break; break;
case Protocol.nameChange: case Protocol.nameChange:
h.changeUsername(msg.substring(6)); h.changeUsername(msg.substring(6));