summaryrefslogtreecommitdiff
path: root/shared/src/main/java/kz/ilotterytea/frogartha/domain/events
diff options
context:
space:
mode:
Diffstat (limited to 'shared/src/main/java/kz/ilotterytea/frogartha/domain/events')
-rw-r--r--shared/src/main/java/kz/ilotterytea/frogartha/domain/events/IdentifiedEvent.java25
-rw-r--r--shared/src/main/java/kz/ilotterytea/frogartha/domain/events/PlayerJoinedRoomEvent.java35
-rw-r--r--shared/src/main/java/kz/ilotterytea/frogartha/domain/events/PlayerLeftRoomEvent.java25
-rw-r--r--shared/src/main/java/kz/ilotterytea/frogartha/domain/events/SenderJoinedRoomEvent.java51
-rw-r--r--shared/src/main/java/kz/ilotterytea/frogartha/domain/events/SenderLeftRoomEvent.java25
5 files changed, 161 insertions, 0 deletions
diff --git a/shared/src/main/java/kz/ilotterytea/frogartha/domain/events/IdentifiedEvent.java b/shared/src/main/java/kz/ilotterytea/frogartha/domain/events/IdentifiedEvent.java
new file mode 100644
index 0000000..d2d9e1e
--- /dev/null
+++ b/shared/src/main/java/kz/ilotterytea/frogartha/domain/events/IdentifiedEvent.java
@@ -0,0 +1,25 @@
+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;
+
+public class IdentifiedEvent extends Event implements Transferable<IdentifiedEvent> {
+ public IdentifiedEvent() {
+ }
+
+ public IdentifiedEvent(int playerId) {
+ this.playerId = playerId;
+ }
+
+ @Override
+ public void serialize(Serializer serializer) throws SerializationException {
+ serializer.serializeInt(playerId);
+ }
+
+ @Override
+ public IdentifiedEvent deserialize(Deserializer deserializer) throws SerializationException {
+ return new IdentifiedEvent(deserializer.deserializeInt());
+ }
+}
diff --git a/shared/src/main/java/kz/ilotterytea/frogartha/domain/events/PlayerJoinedRoomEvent.java b/shared/src/main/java/kz/ilotterytea/frogartha/domain/events/PlayerJoinedRoomEvent.java
new file mode 100644
index 0000000..f9389a3
--- /dev/null
+++ b/shared/src/main/java/kz/ilotterytea/frogartha/domain/events/PlayerJoinedRoomEvent.java
@@ -0,0 +1,35 @@
+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.domain.PlayerData;
+
+public class PlayerJoinedRoomEvent extends Event implements Transferable<PlayerJoinedRoomEvent> {
+ private PlayerData data;
+
+ public PlayerJoinedRoomEvent() {
+ }
+
+ public PlayerJoinedRoomEvent(int playerId, PlayerData data) {
+ super(playerId);
+ this.data = data;
+ }
+
+ public PlayerData getData() {
+ return data;
+ }
+
+ @Override
+ public void serialize(Serializer serializer) throws SerializationException {
+ serializer
+ .serializeInt(playerId)
+ .serializeTransferable(data);
+ }
+
+ @Override
+ public PlayerJoinedRoomEvent deserialize(Deserializer deserializer) throws SerializationException {
+ return new PlayerJoinedRoomEvent(deserializer.deserializeInt(), deserializer.deserializeTransferable(new PlayerData()));
+ }
+}
diff --git a/shared/src/main/java/kz/ilotterytea/frogartha/domain/events/PlayerLeftRoomEvent.java b/shared/src/main/java/kz/ilotterytea/frogartha/domain/events/PlayerLeftRoomEvent.java
new file mode 100644
index 0000000..5472e95
--- /dev/null
+++ b/shared/src/main/java/kz/ilotterytea/frogartha/domain/events/PlayerLeftRoomEvent.java
@@ -0,0 +1,25 @@
+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;
+
+public class PlayerLeftRoomEvent extends Event implements Transferable<PlayerLeftRoomEvent> {
+ public PlayerLeftRoomEvent() {
+ }
+
+ public PlayerLeftRoomEvent(int playerId) {
+ super(playerId);
+ }
+
+ @Override
+ public void serialize(Serializer serializer) throws SerializationException {
+ serializer.serializeInt(playerId);
+ }
+
+ @Override
+ public PlayerLeftRoomEvent deserialize(Deserializer deserializer) throws SerializationException {
+ return new PlayerLeftRoomEvent(deserializer.deserializeInt());
+ }
+}
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
new file mode 100644
index 0000000..b032c47
--- /dev/null
+++ b/shared/src/main/java/kz/ilotterytea/frogartha/domain/events/SenderJoinedRoomEvent.java
@@ -0,0 +1,51 @@
+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.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;
+
+ public SenderJoinedRoomEvent() {
+ }
+
+ public SenderJoinedRoomEvent(int playerId, List<Integer> ids, List<PlayerData> players) {
+ super(playerId);
+ this.ids = ids;
+ this.players = players;
+ }
+
+ public List<Integer> getIds() {
+ return ids;
+ }
+
+ public List<PlayerData> getPlayers() {
+ return players;
+ }
+
+ @Override
+ public void serialize(Serializer serializer) throws SerializationException {
+ serializer.serializeInt(playerId)
+ .serializeIntArray(ids.stream().mapToInt(Integer::intValue).toArray())
+ .serializeTransferableArray(players.toArray(new PlayerData[]{}));
+ }
+
+ @Override
+ public SenderJoinedRoomEvent deserialize(Deserializer deserializer) throws SerializationException {
+ List<Integer> ids = Arrays.stream(deserializer.deserializeIntArray()).boxed().collect(Collectors.toList());
+ return new SenderJoinedRoomEvent(
+ deserializer.deserializeInt(),
+ new ArrayList<>(ids),
+ new ArrayList<>(Arrays.asList(deserializer.deserializeTransferableArray(new PlayerData(), size -> new PlayerData[ids.size()])))
+ );
+ }
+}
diff --git a/shared/src/main/java/kz/ilotterytea/frogartha/domain/events/SenderLeftRoomEvent.java b/shared/src/main/java/kz/ilotterytea/frogartha/domain/events/SenderLeftRoomEvent.java
new file mode 100644
index 0000000..2c2b35b
--- /dev/null
+++ b/shared/src/main/java/kz/ilotterytea/frogartha/domain/events/SenderLeftRoomEvent.java
@@ -0,0 +1,25 @@
+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;
+
+public class SenderLeftRoomEvent extends Event implements Transferable<SenderLeftRoomEvent> {
+ public SenderLeftRoomEvent() {
+ }
+
+ public SenderLeftRoomEvent(int playerId) {
+ super(playerId);
+ }
+
+ @Override
+ public void serialize(Serializer serializer) throws SerializationException {
+ serializer.serializeInt(playerId);
+ }
+
+ @Override
+ public SenderLeftRoomEvent deserialize(Deserializer deserializer) throws SerializationException {
+ return new SenderLeftRoomEvent(deserializer.deserializeInt());
+ }
+}