summaryrefslogtreecommitdiff
path: root/shared/src/main/java/kz/ilotterytea/frogartha/domain
diff options
context:
space:
mode:
Diffstat (limited to 'shared/src/main/java/kz/ilotterytea/frogartha/domain')
-rw-r--r--shared/src/main/java/kz/ilotterytea/frogartha/domain/PlayerState.java9
-rw-r--r--shared/src/main/java/kz/ilotterytea/frogartha/domain/actions/ChatMessageAction.java31
-rw-r--r--shared/src/main/java/kz/ilotterytea/frogartha/domain/events/ChatMessageEvent.java32
3 files changed, 72 insertions, 0 deletions
diff --git a/shared/src/main/java/kz/ilotterytea/frogartha/domain/PlayerState.java b/shared/src/main/java/kz/ilotterytea/frogartha/domain/PlayerState.java
index 0aa89c5..c3db5a8 100644
--- a/shared/src/main/java/kz/ilotterytea/frogartha/domain/PlayerState.java
+++ b/shared/src/main/java/kz/ilotterytea/frogartha/domain/PlayerState.java
@@ -11,6 +11,7 @@ public class PlayerState implements Transferable<PlayerState> {
private final Vector3 position;
private final Vector2 direction;
private float nextJumpTimestamp;
+ private long lastMessageTimestamp;
public PlayerState() {
this(new Vector3(), new Vector2());
@@ -42,6 +43,14 @@ public class PlayerState implements Transferable<PlayerState> {
this.nextJumpTimestamp = nextJumpTimestamp;
}
+ public long getLastMessageTimestamp() {
+ return lastMessageTimestamp;
+ }
+
+ public void setLastMessageTimestamp(long lastMessageTimestamp) {
+ this.lastMessageTimestamp = lastMessageTimestamp;
+ }
+
public void setDirection(float x, float z) {
this.direction.set(x, z);
}
diff --git a/shared/src/main/java/kz/ilotterytea/frogartha/domain/actions/ChatMessageAction.java b/shared/src/main/java/kz/ilotterytea/frogartha/domain/actions/ChatMessageAction.java
new file mode 100644
index 0000000..465238a
--- /dev/null
+++ b/shared/src/main/java/kz/ilotterytea/frogartha/domain/actions/ChatMessageAction.java
@@ -0,0 +1,31 @@
+package kz.ilotterytea.frogartha.domain.actions;
+
+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 ChatMessageAction implements Transferable<ChatMessageAction> {
+ private String message;
+
+ public ChatMessageAction() {
+ }
+
+ public ChatMessageAction(String message) {
+ this.message = message;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ @Override
+ public void serialize(Serializer serializer) throws SerializationException {
+ serializer.serializeString(message);
+ }
+
+ @Override
+ public ChatMessageAction deserialize(Deserializer deserializer) throws SerializationException {
+ return new ChatMessageAction(deserializer.deserializeString());
+ }
+}
diff --git a/shared/src/main/java/kz/ilotterytea/frogartha/domain/events/ChatMessageEvent.java b/shared/src/main/java/kz/ilotterytea/frogartha/domain/events/ChatMessageEvent.java
new file mode 100644
index 0000000..7bd395e
--- /dev/null
+++ b/shared/src/main/java/kz/ilotterytea/frogartha/domain/events/ChatMessageEvent.java
@@ -0,0 +1,32 @@
+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 ChatMessageEvent extends Event implements Transferable<ChatMessageEvent> {
+ private String message;
+
+ public ChatMessageEvent() {
+ }
+
+ public ChatMessageEvent(int playerId, String message) {
+ super(playerId);
+ this.message = message;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ @Override
+ public void serialize(Serializer serializer) throws SerializationException {
+ serializer.serializeInt(playerId).serializeString(message);
+ }
+
+ @Override
+ public ChatMessageEvent deserialize(Deserializer deserializer) throws SerializationException {
+ return new ChatMessageEvent(deserializer.deserializeInt(), deserializer.deserializeString());
+ }
+}