summaryrefslogtreecommitdiff
path: root/core/src
diff options
context:
space:
mode:
authorilotterytea <iltsu@alright.party>2025-01-28 22:44:58 +0500
committerilotterytea <iltsu@alright.party>2025-01-28 22:44:58 +0500
commit835c2fdb6c1f1064ebb0eece8816cd4edfee3ec8 (patch)
tree04e0dc3591329010b4bee7720cfe51612a494c72 /core/src
parent76c0903ea857ff9bf31fe3cf75a3a41d3ee2ec06 (diff)
feat: set the server constants on connect
Diffstat (limited to 'core/src')
-rw-r--r--core/src/main/java/kz/ilotterytea/frogartha/sessions/SessionClient.java4
-rw-r--r--core/src/main/java/kz/ilotterytea/frogartha/sessions/SessionHandlers.java11
2 files changed, 14 insertions, 1 deletions
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");