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.