summaryrefslogtreecommitdiff
path: root/shared/src/main/java/kz
diff options
context:
space:
mode:
Diffstat (limited to 'shared/src/main/java/kz')
-rw-r--r--shared/src/main/java/kz/ilotterytea/frogartha/domain/PlayerData.java18
-rw-r--r--shared/src/main/java/kz/ilotterytea/frogartha/domain/events/SenderJoinedRoomEvent.java21
2 files changed, 22 insertions, 17 deletions
diff --git a/shared/src/main/java/kz/ilotterytea/frogartha/domain/PlayerData.java b/shared/src/main/java/kz/ilotterytea/frogartha/domain/PlayerData.java
index 2054e68..f30f0c2 100644
--- a/shared/src/main/java/kz/ilotterytea/frogartha/domain/PlayerData.java
+++ b/shared/src/main/java/kz/ilotterytea/frogartha/domain/PlayerData.java
@@ -6,17 +6,23 @@ import com.github.czyzby.websocket.serialization.impl.Deserializer;
import com.github.czyzby.websocket.serialization.impl.Serializer;
public class PlayerData implements Transferable<PlayerData> {
- private Identity identity;
- private PlayerState state;
+ protected int id;
+ protected Identity identity;
+ protected PlayerState state;
public PlayerData() {
}
- public PlayerData(Identity identity, PlayerState state) {
+ public PlayerData(int id, Identity identity, PlayerState state) {
+ this.id = id;
this.identity = identity;
this.state = state;
}
+ public int getId() {
+ return id;
+ }
+
public Identity getIdentity() {
return identity;
}
@@ -32,12 +38,16 @@ public class PlayerData implements Transferable<PlayerData> {
@Override
public void serialize(Serializer serializer) throws SerializationException {
- serializer.serializeTransferable(identity).serializeTransferable(state);
+ serializer
+ .serializeInt(id)
+ .serializeTransferable(identity)
+ .serializeTransferable(state);
}
@Override
public PlayerData deserialize(Deserializer deserializer) throws SerializationException {
return new PlayerData(
+ deserializer.deserializeInt(),
deserializer.deserializeTransferable(new Identity()),
deserializer.deserializeTransferable(new PlayerState())
);
diff --git a/shared/src/main/java/kz/ilotterytea/frogartha/domain/events/SenderJoinedRoomEvent.java b/shared/src/main/java/kz/ilotterytea/frogartha/domain/events/SenderJoinedRoomEvent.java
index b032c47..93caea0 100644
--- a/shared/src/main/java/kz/ilotterytea/frogartha/domain/events/SenderJoinedRoomEvent.java
+++ b/shared/src/main/java/kz/ilotterytea/frogartha/domain/events/SenderJoinedRoomEvent.java
@@ -9,23 +9,18 @@ import kz.ilotterytea.frogartha.domain.PlayerData;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import java.util.stream.Collectors;
public class SenderJoinedRoomEvent extends Event implements Transferable<SenderJoinedRoomEvent> {
- private List<Integer> ids;
private List<PlayerData> players;
+ private int playerCount;
public SenderJoinedRoomEvent() {
}
- public SenderJoinedRoomEvent(int playerId, List<Integer> ids, List<PlayerData> players) {
+ public SenderJoinedRoomEvent(int playerId, List<PlayerData> players) {
super(playerId);
- this.ids = ids;
this.players = players;
- }
-
- public List<Integer> getIds() {
- return ids;
+ this.playerCount = players.size();
}
public List<PlayerData> getPlayers() {
@@ -35,17 +30,17 @@ public class SenderJoinedRoomEvent extends Event implements Transferable<SenderJ
@Override
public void serialize(Serializer serializer) throws SerializationException {
serializer.serializeInt(playerId)
- .serializeIntArray(ids.stream().mapToInt(Integer::intValue).toArray())
+ .serializeInt(playerCount)
.serializeTransferableArray(players.toArray(new PlayerData[]{}));
}
@Override
public SenderJoinedRoomEvent deserialize(Deserializer deserializer) throws SerializationException {
- List<Integer> ids = Arrays.stream(deserializer.deserializeIntArray()).boxed().collect(Collectors.toList());
+ int id = deserializer.deserializeInt();
+ int playerCount = deserializer.deserializeInt();
return new SenderJoinedRoomEvent(
- deserializer.deserializeInt(),
- new ArrayList<>(ids),
- new ArrayList<>(Arrays.asList(deserializer.deserializeTransferableArray(new PlayerData(), size -> new PlayerData[ids.size()])))
+ id,
+ new ArrayList<>(Arrays.asList(deserializer.deserializeTransferableArray(new PlayerData(), size -> new PlayerData[playerCount])))
);
}
}