Lobby eemaldamine ekraanilt¶
Koodi värskendamine¶
Kui lobbis on 0 mängijad, siis on vaja seda kustutada ekraanilt.
Game.java
public void leaveLobby(int playerId, int lobbyId) {
...
if (lobby.getPlayersNumber() == 0) {
...
ServerLauncher.getInstance().sendToAllExceptUDP(playerId, new DeleteLobbyPacket(lobbyId));
}
}
Vastuse töötlemine kliendis¶
ClientListener.java
@Override
public void received(Connection connection, Object object) {
switch (object) {
...
case DeleteLobbyPacket packet ->
Main.getInstance().deleteLobby(packet.getLobbyId());
...
}
}
Main.java
public void deleteLobby(int lobbyId) {
if (getScreen() instanceof LobbiesListScreen lobbiesListScreen) {
lobbiesListScreen.removeLobby(lobbyId);
}
}
Nüüd lobbi kaob ekraanilt, kui seda kustutakse.