rejoin support for libgdx client

This commit is contained in:
2022-01-13 22:05:47 +01:00
parent e37efcc5b4
commit a04ff1f2cb
14 changed files with 594 additions and 118 deletions

View File

@@ -110,6 +110,7 @@ public class Session implements Observer {
player.send(message.getValue());
}
}
player.send(new AckMessage());
return sessionPlayer.toData();
}

View File

@@ -25,7 +25,6 @@ public class LobbyState implements ClientState {
if (message instanceof CreateSessionMessage create) {
Lobby.getInstance().leave(player);
try {
player.buffer();
var session = Lobby.getInstance().createSession(
create.getSessionName(),
create.getTimeout(),
@@ -42,7 +41,6 @@ public class LobbyState implements ClientState {
} else if (message instanceof JoinSessionMessage join) {
Lobby.getInstance().leave(player);
try {
player.buffer();
var session = Lobby.getInstance().getSession(join.getSession());
if (session == null) {
throw new NackException(NackMessage.NOT_FOUND, "Session not found.");
@@ -59,7 +57,6 @@ public class LobbyState implements ClientState {
} else if (message instanceof RejoinMessage rejoin) {
Lobby.getInstance().leave(player);
try {
player.buffer();
var session = Lobby.getInstance().getSession(rejoin.getSession());
if (session == null) {
throw new NackException(NackMessage.NOT_FOUND, "Session not found.");