From ce5723c3e9aef918c85b7b58d621fa80327b7387 Mon Sep 17 00:00:00 2001 From: sebaschi <74497638+sebaschi@users.noreply.github.com> Date: Fri, 8 Apr 2022 12:08:38 +0200 Subject: [PATCH] Correcions in CentralServerData: wherever a Client object wasa expected has been changed to expect a ClientHandler object. This is because the server sees clients via ClientHandlers but has no access to Client objects. Lobby: Field "admin" added which is a ClientHandler type object. This represents who started the game and, for the phase before the gameplay starts, controls relevant functions. --- .../dmi/dbis/cs108/sebaschi/CentralServerData.java | 11 ++++++----- .../java/ch/unibas/dmi/dbis/cs108/sebaschi/Lobby.java | 11 +++++++++++ 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/sebaschi/CentralServerData.java b/src/main/java/ch/unibas/dmi/dbis/cs108/sebaschi/CentralServerData.java index 2c8d7b1..ed92d4c 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/sebaschi/CentralServerData.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/sebaschi/CentralServerData.java @@ -3,6 +3,7 @@ package ch.unibas.dmi.dbis.cs108.sebaschi; import ch.unibas.dmi.dbis.cs108.BudaLogConfig; import ch.unibas.dmi.dbis.cs108.gamelogic.Game; import ch.unibas.dmi.dbis.cs108.multiplayer.client.Client; +import ch.unibas.dmi.dbis.cs108.multiplayer.server.ClientHandler; import java.net.Socket; import java.util.Map; import java.util.Set; @@ -11,7 +12,7 @@ import org.apache.logging.log4j.Logger; /** * This Class Represents an Object containing different Maps, Lists and Sets wherein a server object - * can find all needed data. An instance of this object can also be passed to other class-objects uf + * can find all needed data. An instance of this object can also be passed to other class-objects if * they need the same data. This Class is used to query for information in collections. */ public class CentralServerData { @@ -19,11 +20,11 @@ public class CentralServerData { public static final Logger LOGGER = LogManager.getLogger(); public static final BudaLogConfig l = new BudaLogConfig(LOGGER); - private Set clientsOnServer; + private Set clientsOnServer; private Set activeGames; private Set gamesOpenToJoin; - private Map clientSocketMap; - private Map socketClientMap; - private Map gameClientMap; + private Map clientSocketMap; + private Map socketClientMap; + private Map gameClientMap; } diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/sebaschi/Lobby.java b/src/main/java/ch/unibas/dmi/dbis/cs108/sebaschi/Lobby.java index 4427452..76cb7d9 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/sebaschi/Lobby.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/sebaschi/Lobby.java @@ -1,5 +1,16 @@ package ch.unibas.dmi.dbis.cs108.sebaschi; +import ch.unibas.dmi.dbis.cs108.multiplayer.server.ClientHandler; + +/** + * The Lobby one is in after a client sends the CRTGM command. THe Server + */ public class Lobby { + /** + * The Person who created the game and can configure it and decide to start once enough players + * have entered the lobby. + */ + ClientHandler admin; + }