From 835c2fdb6c1f1064ebb0eece8816cd4edfee3ec8 Mon Sep 17 00:00:00 2001 From: ilotterytea Date: Tue, 28 Jan 2025 22:44:58 +0500 Subject: feat: set the server constants on connect --- .../java/kz/ilotterytea/frogartha/sessions/SessionClient.java | 4 +++- .../kz/ilotterytea/frogartha/sessions/SessionHandlers.java | 11 +++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) (limited to 'core/src') diff --git a/core/src/main/java/kz/ilotterytea/frogartha/sessions/SessionClient.java b/core/src/main/java/kz/ilotterytea/frogartha/sessions/SessionClient.java index 681b377..8b3b365 100644 --- a/core/src/main/java/kz/ilotterytea/frogartha/sessions/SessionClient.java +++ b/core/src/main/java/kz/ilotterytea/frogartha/sessions/SessionClient.java @@ -76,7 +76,9 @@ public class SessionClient implements WebSocketListener { throw new RuntimeException("Deserialized packet is null"); } - if (obj instanceof IdentifiedEvent) { + if (obj instanceof ServerOptionsEvent) { + SessionHandlers.handleServerOptionsEvent((ServerOptionsEvent) obj); + } else if (obj instanceof IdentifiedEvent) { IdentifiedEvent x = (IdentifiedEvent) obj; identity = x.getIdentity(); connectionId = x.getPlayerId(); diff --git a/core/src/main/java/kz/ilotterytea/frogartha/sessions/SessionHandlers.java b/core/src/main/java/kz/ilotterytea/frogartha/sessions/SessionHandlers.java index 946a903..41517b6 100644 --- a/core/src/main/java/kz/ilotterytea/frogartha/sessions/SessionHandlers.java +++ b/core/src/main/java/kz/ilotterytea/frogartha/sessions/SessionHandlers.java @@ -1,6 +1,7 @@ package kz.ilotterytea.frogartha.sessions; import com.badlogic.gdx.math.Vector2; +import kz.ilotterytea.frogartha.FrogarthaConstants; import kz.ilotterytea.frogartha.FrogarthaGame; import kz.ilotterytea.frogartha.domain.PlayerData; import kz.ilotterytea.frogartha.domain.events.*; @@ -16,6 +17,16 @@ public class SessionHandlers { private static final FrogarthaGame game = FrogarthaGame.getInstance(); private static final SessionClient client = game.getSessionClient(); + public static void handleServerOptionsEvent(ServerOptionsEvent event) { + FrogarthaConstants.Chat.MAX_MESSAGE_LENGTH = event.getChatMaxMessageLength(); + FrogarthaConstants.Chat.MESSAGE_PER_MS = event.getChatMessagePerMilliseconds(); + FrogarthaConstants.Player.MAX_JUMP_STRENGTH = event.getPlayerMaxJumpStrength(); + FrogarthaConstants.Player.MAX_JUMP_HEIGHT = event.getPlayerMaxJumpHeight(); + FrogarthaConstants.Player.JUMP_SPEED = event.getPlayerJumpSpeed(); + + log.log("Set the server constants: {}", event); + } + public static void handlePlayerJumpEvent(PlayerJumpEvent event) { if (!game.getScreen().getClass().equals(GameScreen.class)) { log.log("The screen is not GameScreen, but the session received PlayerJumpEvent"); -- cgit v1.2.3