diff options
Diffstat (limited to 'shared/src/main/java/kz/ilotterytea/frogartha/domain')
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()); + } +} |
