diff --git a/src/main/java/org/toop/Main.java b/src/main/java/org/toop/Main.java index 2a5bb66..f4ff8fd 100644 --- a/src/main/java/org/toop/Main.java +++ b/src/main/java/org/toop/Main.java @@ -24,19 +24,22 @@ public class Main { initSystems(); - GlobalEventBus.post(new Events.ServerEvents.StartServer("5001", "tictactoe")); + CompletableFuture serverIdFuture = new CompletableFuture<>(); + GlobalEventBus.post(new Events.ServerEvents.StartServerRequest("5001", "tictactoe", serverIdFuture)); + String serverId = serverIdFuture.get(); - CompletableFuture future = new CompletableFuture<>(); - GlobalEventBus.post(new Events.ServerEvents.StartConnectionRequest("127.0.0.1", "5001", future)); - String serverId = future.get(); + CompletableFuture connectionIdFuture = new CompletableFuture<>(); + GlobalEventBus.post(new Events.ServerEvents.StartConnectionRequest("127.0.0.1", "5001", connectionIdFuture)); + String connectionId = connectionIdFuture.get(); - CompletableFuture future2 = new CompletableFuture<>(); - GlobalEventBus.post(new Events.ServerEvents.CreateTicTacToeGame(serverId, "John", "Pim", future2)); - String gameId = future.get(); + CompletableFuture ticTacToeGame = new CompletableFuture<>(); + GlobalEventBus.post(new Events.ServerEvents.CreateTicTacToeGameRequest(serverId, "John", "Pim", ticTacToeGame)); + String ticTacToeGameId = ticTacToeGame.get(); - GlobalEventBus.post(new Events.ServerEvents.RunTicTacToeGame(serverId, gameId)); - GlobalEventBus.post(new Events.ServerEvents.Command(serverId, "MOVE", "0")); - GlobalEventBus.post(new Events.ServerEvents.EndTicTacToeGame(serverId, gameId)); + + GlobalEventBus.post(new Events.ServerEvents.RunTicTacToeGame(serverId, ticTacToeGameId)); + GlobalEventBus.post(new Events.ServerEvents.Command(connectionId, "MOVE", "0")); + GlobalEventBus.post(new Events.ServerEvents.EndTicTacToeGame(serverId, ticTacToeGameId)); // for (int i = 0; i < 1; i++) { // Thread thread = new Thread(() -> { diff --git a/src/main/java/org/toop/eventbus/Events.java b/src/main/java/org/toop/eventbus/Events.java index a72f92e..17172b0 100644 --- a/src/main/java/org/toop/eventbus/Events.java +++ b/src/main/java/org/toop/eventbus/Events.java @@ -90,7 +90,7 @@ public class Events implements IEvents { public record ServerStarted(String uuid, String port) {} - public record CreateTicTacToeGame(String serverUuid, String playerA, String playerB, CompletableFuture future) {} + public record CreateTicTacToeGameRequest(String serverUuid, String playerA, String playerB, CompletableFuture future) {} public record RunTicTacToeGame(String serverUuid, String gameUuid) {} diff --git a/src/main/java/org/toop/server/backend/ServerManager.java b/src/main/java/org/toop/server/backend/ServerManager.java index 6ba17e6..f0f487e 100644 --- a/src/main/java/org/toop/server/backend/ServerManager.java +++ b/src/main/java/org/toop/server/backend/ServerManager.java @@ -31,7 +31,7 @@ public class ServerManager { GlobalEventBus.subscribeAndRegister(Events.ServerEvents.StartServerRequest.class, this::handleStartServerRequest); GlobalEventBus.subscribeAndRegister(Events.ServerEvents.StartServer.class, this::handleStartServer); GlobalEventBus.subscribeAndRegister(Events.ServerEvents.ForceCloseAllServers.class, _ -> shutdownAll()); - GlobalEventBus.subscribeAndRegister(Events.ServerEvents.CreateTicTacToeGame.class, this::handleStartTicTacToeGameOnAServer); + GlobalEventBus.subscribeAndRegister(Events.ServerEvents.CreateTicTacToeGameRequest.class, this::handleStartTicTacToeGameOnAServer); GlobalEventBus.subscribeAndRegister(Events.ServerEvents.RunTicTacToeGame.class, this::handleRunTicTacToeGameOnAServer); GlobalEventBus.subscribeAndRegister(Events.ServerEvents.EndTicTacToeGame.class, this::handleEndTicTacToeGameOnAServer); } @@ -69,18 +69,18 @@ public class ServerManager { )); } - private void handleStartTicTacToeGameOnAServer(Events.ServerEvents.CreateTicTacToeGame event) { + private void handleStartTicTacToeGameOnAServer(Events.ServerEvents.CreateTicTacToeGameRequest event) { TicTacToeServer serverThing = (TicTacToeServer) this.servers.get(event.serverUuid()); String gameId = null; if (serverThing != null) { try { gameId = serverThing.newGame(event.playerA(), event.playerB()); - logger.info("Created game on server {}", event.serverUuid()); + logger.info("Created game on server: {}", event.serverUuid()); } catch (Exception e) { // TODO: Error handling - logger.info("Could not create game on server {}", event.serverUuid()); + logger.error("Could not create game on server: {}", event.serverUuid()); } - } + } else { logger.warn("Could not find server: {}", event.serverUuid()); } event.future().complete(gameId); }