feat: created classes for Login events
This commit is contained in:
parent
40a0a0c0c5
commit
3daef53f21
@ -1,10 +0,0 @@
|
||||
package uulm.teamname.marvelous.gamelibrary.messages;
|
||||
|
||||
import uulm.teamname.marvelous.gamelibrary.json.MessageType;
|
||||
|
||||
/** Basic answer to a message. It contains */
|
||||
public class BasicAnswer {
|
||||
String userID;
|
||||
MessageType messageType;
|
||||
boolean optionals;
|
||||
}
|
@ -1,7 +1,5 @@
|
||||
package uulm.teamname.marvelous.gamelibrary.messages;
|
||||
|
||||
import uulm.teamname.marvelous.gamelibrary.json.MessageType;
|
||||
|
||||
/**
|
||||
* The basic message from the standard, containing all possible expansion keys. In other words, one needs to check the
|
||||
* messageType, as fields that aren't sent are null. Note that ingame messages are not deserialized into the {@link
|
||||
@ -9,9 +7,6 @@ import uulm.teamname.marvelous.gamelibrary.json.MessageType;
|
||||
*/
|
||||
public class BasicMessage {
|
||||
|
||||
/** The user ID is (apparently) a MD5 hash made from the username and device IP. It is assigned by the server. */
|
||||
String userID;
|
||||
|
||||
/** The messageType describes the type of message that might be sent */
|
||||
MessageType messageType;
|
||||
|
||||
|
@ -0,0 +1,10 @@
|
||||
package uulm.teamname.marvelous.gamelibrary.messages;
|
||||
|
||||
public class CharacterSelectionMessage extends BasicMessage {
|
||||
|
||||
/**
|
||||
* Boolean array that conveys information about what characters (6)
|
||||
* of the given characters (12) have been selected
|
||||
*/
|
||||
Boolean[] characters;
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
package uulm.teamname.marvelous.gamelibrary.messages;
|
||||
|
||||
public class ConfirmSelectionMessage extends BasicMessage {
|
||||
|
||||
/** Whether the other player is also done with the selection already */
|
||||
Boolean selectionComplete;
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
package uulm.teamname.marvelous.gamelibrary.messages;
|
||||
|
||||
public class ErrorMessage extends BasicMessage{
|
||||
|
||||
/** Some message telling the client what went wrong */
|
||||
String message;
|
||||
|
||||
/** The type of the error that happened */
|
||||
int type;
|
||||
}
|
@ -1,7 +1,6 @@
|
||||
package uulm.teamname.marvelous.gamelibrary.messages;
|
||||
|
||||
import uulm.teamname.marvelous.gamelibrary.events.Event;
|
||||
import uulm.teamname.marvelous.gamelibrary.json.MessageType;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
|
@ -0,0 +1,12 @@
|
||||
package uulm.teamname.marvelous.gamelibrary.messages;
|
||||
|
||||
import uulm.teamname.marvelous.gamelibrary.config.CharacterConfig;
|
||||
|
||||
public class GameAssignmentMessage extends BasicMessage {
|
||||
|
||||
/** The ID of the game that the client is connected to. What this is used for is kind of unknown. */
|
||||
String gameID;
|
||||
|
||||
/** The characters the player can choose from */
|
||||
CharacterConfig[] characterSelection;
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
package uulm.teamname.marvelous.gamelibrary.messages;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import uulm.teamname.marvelous.gamelibrary.config.CharacterConfig;
|
||||
import uulm.teamname.marvelous.gamelibrary.config.CharacterProperties;
|
||||
import uulm.teamname.marvelous.gamelibrary.config.PartyConfig;
|
||||
import uulm.teamname.marvelous.gamelibrary.config.ScenarioConfig;
|
||||
|
||||
import java.lang.reflect.Array;
|
||||
import java.util.Arrays;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
public class GameStructureMessage extends BasicMessage {
|
||||
// TODO: ADD ENUM FOR THIS
|
||||
String assignment;
|
||||
|
||||
/** The name of the first player */
|
||||
String playerOneName;
|
||||
|
||||
/** The name of the second player */
|
||||
String playerTwoName;
|
||||
|
||||
/** The characters that the first player has chosen (and is therefore playing with in this match) */
|
||||
CharacterProperties[] playerOneCharacters;
|
||||
|
||||
|
||||
/** The characters that the second player has chosen (and is therefore playing with in this match) */
|
||||
CharacterProperties[] playerTwoCharacters;
|
||||
|
||||
/** The {@link PartyConfig Party Configuration} of the current match */
|
||||
PartyConfig matchconfig;
|
||||
|
||||
/** The {@link ScenarioConfig Scenario Configuration} of the current scenario */
|
||||
ScenarioConfig scenarioconfig;
|
||||
|
||||
@JsonIgnore public CharacterConfig getCharacterConfig() {
|
||||
CharacterConfig characterConfig = new CharacterConfig();
|
||||
characterConfig.characters = Stream
|
||||
.concat(Arrays.stream(playerOneCharacters), Arrays.stream(playerTwoCharacters))
|
||||
.toArray(CharacterProperties[]::new);
|
||||
return characterConfig;
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
package uulm.teamname.marvelous.gamelibrary.messages;
|
||||
|
||||
public class GeneralAssignmentMessage extends BasicMessage {
|
||||
|
||||
/** The ID of the game that the client is connected to. What this is used for is kind of unknown. */
|
||||
String gameID;
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
package uulm.teamname.marvelous.gamelibrary.messages;
|
||||
|
||||
public class GoodbyeClientMessage extends BasicMessage {
|
||||
|
||||
/** A message sent to the client on disconnect */
|
||||
String message;
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
package uulm.teamname.marvelous.gamelibrary.messages;
|
||||
|
||||
public class HelloClientMessage extends BasicMessage {
|
||||
/** Whether there is a running game that the player disconnected from */
|
||||
Boolean runningGame;
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
package uulm.teamname.marvelous.gamelibrary.messages;
|
||||
|
||||
public class HelloServerMessage extends BasicMessage{
|
||||
|
||||
/** User-chosen name, basically a PlayerName */
|
||||
String name;
|
||||
|
||||
/** Device ID sent by the Client, might be anything, but used together with name to uniquely identify the client */
|
||||
String deviceID;
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package uulm.teamname.marvelous.gamelibrary.messages;
|
||||
|
||||
/**
|
||||
* Enum describing all possible MessageTypes as defined by Standard document
|
||||
*/
|
||||
public enum MessageType {
|
||||
HELLO_CLIENT,
|
||||
HELLO_SERVER,
|
||||
RECONNECT,
|
||||
PLAYER_READY,
|
||||
GAME_ASSIGNMENT,
|
||||
GENERAL_ASSIGNMENT,
|
||||
CHARACTER_SELECTION,
|
||||
CONFIRM_SELECTION,
|
||||
GAME_STRUCTURE,
|
||||
REQUESTS,
|
||||
EVENTS,
|
||||
GOODBYE_CLIENT,
|
||||
ERROR
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
package uulm.teamname.marvelous.gamelibrary.messages;
|
||||
|
||||
public class PlayerReadyMessage extends BasicMessage {
|
||||
|
||||
/** Whether the client wants to start the game. If this is false, the client gets disconnected. */
|
||||
Boolean startGame;
|
||||
|
||||
/** The {@link RoleEnum Role} the client wants to take */
|
||||
RoleEnum role;
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
package uulm.teamname.marvelous.gamelibrary.messages;
|
||||
|
||||
public class ReconnectMessage {
|
||||
|
||||
/** Whether the client wants to reconnect to the previously running game */
|
||||
Boolean reconnect;
|
||||
}
|
Loading…
Reference in New Issue
Block a user