diff options
| author | ilotterytea <iltsu@alright.party> | 2025-01-28 22:44:58 +0500 |
|---|---|---|
| committer | ilotterytea <iltsu@alright.party> | 2025-01-28 22:44:58 +0500 |
| commit | 835c2fdb6c1f1064ebb0eece8816cd4edfee3ec8 (patch) | |
| tree | 04e0dc3591329010b4bee7720cfe51612a494c72 /shared/src/main | |
| parent | 76c0903ea857ff9bf31fe3cf75a3a41d3ee2ec06 (diff) | |
feat: set the server constants on connect
Diffstat (limited to 'shared/src/main')
3 files changed, 91 insertions, 6 deletions
diff --git a/shared/src/main/java/kz/ilotterytea/frogartha/FrogarthaConstants.java b/shared/src/main/java/kz/ilotterytea/frogartha/FrogarthaConstants.java index 06ca3b2..216a9d1 100644 --- a/shared/src/main/java/kz/ilotterytea/frogartha/FrogarthaConstants.java +++ b/shared/src/main/java/kz/ilotterytea/frogartha/FrogarthaConstants.java @@ -20,9 +20,9 @@ public class FrogarthaConstants { } public static class Player { - public static final float MAX_JUMP_STRENGTH = 1.5f; - public static final float MAX_JUMP_HEIGHT = 2f; - public static final float JUMP_SPEED = 10f; + public static float MAX_JUMP_STRENGTH = 1.5f; + public static float MAX_JUMP_HEIGHT = 2f; + public static float JUMP_SPEED = 10f; } public static class Room { @@ -30,7 +30,7 @@ public class FrogarthaConstants { } public static class Chat { - public static final int MAX_MESSAGE_LENGTH = 100; - public static final int MESSAGE_PER_MS = 500; + public static int MAX_MESSAGE_LENGTH = 100; + public static int MESSAGE_PER_MS = 500; } } diff --git a/shared/src/main/java/kz/ilotterytea/frogartha/domain/events/ServerOptionsEvent.java b/shared/src/main/java/kz/ilotterytea/frogartha/domain/events/ServerOptionsEvent.java new file mode 100644 index 0000000..7393375 --- /dev/null +++ b/shared/src/main/java/kz/ilotterytea/frogartha/domain/events/ServerOptionsEvent.java @@ -0,0 +1,83 @@ +package kz.ilotterytea.frogartha.domain.events; + +import com.github.czyzby.websocket.serialization.SerializationException; +import com.github.czyzby.websocket.serialization.Transferable; +import com.github.czyzby.websocket.serialization.impl.Deserializer; +import com.github.czyzby.websocket.serialization.impl.Serializer; +import kz.ilotterytea.frogartha.FrogarthaConstants; + +public class ServerOptionsEvent extends Event implements Transferable<ServerOptionsEvent> { + private final int chatMaxMessageLength, chatMessagePerMilliseconds; + private final float playerMaxJumpStrength, playerMaxJumpHeight, playerJumpSpeed; + + public ServerOptionsEvent() { + this.chatMaxMessageLength = FrogarthaConstants.Chat.MAX_MESSAGE_LENGTH; + this.chatMessagePerMilliseconds = FrogarthaConstants.Chat.MESSAGE_PER_MS; + this.playerMaxJumpStrength = FrogarthaConstants.Player.MAX_JUMP_STRENGTH; + this.playerMaxJumpHeight = FrogarthaConstants.Player.MAX_JUMP_HEIGHT; + this.playerJumpSpeed = FrogarthaConstants.Player.JUMP_SPEED; + } + + public ServerOptionsEvent( + int chatMaxMessageLength, int chatMessagePerMilliseconds, + float playerMaxJumpStrength, float playerMaxJumpHeight, float playerJumpSpeed + ) { + this.chatMaxMessageLength = chatMaxMessageLength; + this.chatMessagePerMilliseconds = chatMessagePerMilliseconds; + this.playerMaxJumpStrength = playerMaxJumpStrength; + this.playerMaxJumpHeight = playerMaxJumpHeight; + this.playerJumpSpeed = playerJumpSpeed; + } + + public int getChatMaxMessageLength() { + return chatMaxMessageLength; + } + + public int getChatMessagePerMilliseconds() { + return chatMessagePerMilliseconds; + } + + public float getPlayerMaxJumpStrength() { + return playerMaxJumpStrength; + } + + public float getPlayerMaxJumpHeight() { + return playerMaxJumpHeight; + } + + public float getPlayerJumpSpeed() { + return playerJumpSpeed; + } + + @Override + public void serialize(Serializer serializer) throws SerializationException { + serializer + .serializeInt(chatMaxMessageLength) + .serializeInt(chatMessagePerMilliseconds) + .serializeFloat(playerMaxJumpStrength) + .serializeFloat(playerMaxJumpHeight) + .serializeFloat(playerJumpSpeed); + } + + @Override + public ServerOptionsEvent deserialize(Deserializer deserializer) throws SerializationException { + return new ServerOptionsEvent( + deserializer.deserializeInt(), + deserializer.deserializeInt(), + deserializer.deserializeFloat(), + deserializer.deserializeFloat(), + deserializer.deserializeFloat() + ); + } + + @Override + public String toString() { + return "ServerOptionsEvent{" + + "chatMaxMessageLength=" + chatMaxMessageLength + + ", chatMessagePerMilliseconds=" + chatMessagePerMilliseconds + + ", playerMaxJumpStrength=" + playerMaxJumpStrength + + ", playerMaxJumpHeight=" + playerMaxJumpHeight + + ", playerJumpSpeed=" + playerJumpSpeed + + '}'; + } +} diff --git a/shared/src/main/java/kz/ilotterytea/frogartha/utils/SerializerUtils.java b/shared/src/main/java/kz/ilotterytea/frogartha/utils/SerializerUtils.java index 2a22bcc..b269c2f 100644 --- a/shared/src/main/java/kz/ilotterytea/frogartha/utils/SerializerUtils.java +++ b/shared/src/main/java/kz/ilotterytea/frogartha/utils/SerializerUtils.java @@ -14,7 +14,7 @@ public class SerializerUtils { serializer.register(new PlayerJumpEvent()); serializer.register(new ChangedDirectionAction()); serializer.register(new ChangedDirectionEvent()); - + serializer.register(new IdentifiedEvent()); serializer.register(new IdentificationAction()); @@ -28,5 +28,7 @@ public class SerializerUtils { serializer.register(new ChatMessageAction()); serializer.register(new ChatMessageEvent()); + + serializer.register(new ServerOptionsEvent()); } } |
