Weitere Client- und ServerMessages für Verbindungsverlust und VoteCick
This commit is contained in:
parent
d037ada8c5
commit
c0f309c844
@ -7,7 +7,7 @@ import eu.jonahbauer.wizard.common.util.SealedClassTypeAdapterFactory;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@EqualsAndHashCode
|
||||
public abstract sealed class ClientMessage permits CreateSessionMessage, InteractionMessage, JoinSessionMessage, LeaveSessionMessage, ReadyMessage {
|
||||
public abstract sealed class ClientMessage permits CreateSessionMessage, InteractionMessage, JoinSessionMessage, LeaveSessionMessage, ReadyMessage, RejoinMessage {
|
||||
public static final Gson GSON = new GsonBuilder()
|
||||
.registerTypeAdapterFactory(SealedClassTypeAdapterFactory.of(ClientMessage.class, "Message"))
|
||||
.registerTypeAdapterFactory(SealedClassTypeAdapterFactory.of(ObserverMessage.class, "Message"))
|
||||
|
@ -0,0 +1,25 @@
|
||||
package eu.jonahbauer.wizard.common.messages.client;
|
||||
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
@Getter
|
||||
@RequiredArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public final class RejoinMessage extends ClientMessage {
|
||||
/**
|
||||
* UUID of the session
|
||||
*/
|
||||
private final UUID session;
|
||||
/**
|
||||
* UUID of the rejoining player
|
||||
*/
|
||||
private final UUID player;
|
||||
/**
|
||||
* Secret in order to assure that no malicious user wants to join the message
|
||||
*/
|
||||
private final String secret;
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package eu.jonahbauer.wizard.common.messages.server;
|
||||
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
@Getter
|
||||
@RequiredArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public final class KickVotedMessage extends ServerMessage {
|
||||
/**
|
||||
* UUID of the voting player
|
||||
*/
|
||||
private final UUID voter;
|
||||
/**
|
||||
* UUID of player who is supposed to be kicked
|
||||
*/
|
||||
private final UUID player;
|
||||
/**
|
||||
* Time until the vote ends in {@link System#currentTimeMillis() UNIX time}
|
||||
*/
|
||||
private final long timeout;
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
package eu.jonahbauer.wizard.common.messages.server;
|
||||
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
@Getter
|
||||
@RequiredArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public final class KickedMessage extends ServerMessage {
|
||||
/**
|
||||
* UUID of player who was kicked
|
||||
*/
|
||||
private final UUID player;
|
||||
}
|
@ -7,7 +7,7 @@ import eu.jonahbauer.wizard.common.util.SealedClassTypeAdapterFactory;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@EqualsAndHashCode
|
||||
public abstract sealed class ServerMessage permits AckMessage, GameMessage, JoinedSessionMessage, NackMessage, PlayerLeftMessage, PlayerModifiedMessage, SessionListMessage, SessionModifiedMessage, SessionRemovedMessage, StartingGameMessage {
|
||||
public abstract sealed class ServerMessage permits AckMessage, GameMessage, KickVotedMessage, KickedMessage, NackMessage, PlayerLeftMessage, PlayerModifiedMessage, SessionJoinedMessage, SessionListMessage, SessionModifiedMessage, SessionRemovedMessage, StartingGameMessage {
|
||||
public static final Gson GSON = new GsonBuilder()
|
||||
.registerTypeAdapterFactory(SealedClassTypeAdapterFactory.of(ServerMessage.class, "Message"))
|
||||
.registerTypeAdapterFactory(SealedClassTypeAdapterFactory.of(ObserverMessage.class, "Message"))
|
||||
|
@ -9,7 +9,7 @@ import java.util.UUID;
|
||||
|
||||
@Getter
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public final class JoinedSessionMessage extends ServerMessage implements Response {
|
||||
public final class SessionJoinedMessage extends ServerMessage implements Response {
|
||||
/**
|
||||
* UUID of joined session
|
||||
*/
|
||||
@ -22,10 +22,15 @@ public final class JoinedSessionMessage extends ServerMessage implements Respons
|
||||
* List of players already in the session
|
||||
*/
|
||||
private final List<PlayerData> players;
|
||||
/**
|
||||
* Secret notified to player in order to ensure that if necessary the correct player rejoins
|
||||
*/
|
||||
private final String secret;
|
||||
|
||||
public JoinedSessionMessage(UUID session, UUID player, List<PlayerData> players) {
|
||||
public SessionJoinedMessage(UUID session, UUID player, List<PlayerData> players, String secret) {
|
||||
this.session = session;
|
||||
this.player = player;
|
||||
this.players = List.copyOf(players);
|
||||
this.secret = secret;
|
||||
}
|
||||
}
|
@ -8,8 +8,5 @@ import lombok.RequiredArgsConstructor;
|
||||
@RequiredArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public final class StartingGameMessage extends ServerMessage {
|
||||
/**
|
||||
* Time of game start in {@link System#currentTimeMillis() UNIX time}
|
||||
*/
|
||||
private final long time;
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user