summaryrefslogtreecommitdiff
path: root/shared/src/main/java/kz/ilotterytea/frogartha/domain/actions
diff options
context:
space:
mode:
Diffstat (limited to 'shared/src/main/java/kz/ilotterytea/frogartha/domain/actions')
-rw-r--r--shared/src/main/java/kz/ilotterytea/frogartha/domain/actions/ChangedDirectionAction.java32
-rw-r--r--shared/src/main/java/kz/ilotterytea/frogartha/domain/actions/PlayerJumpAction.java32
2 files changed, 64 insertions, 0 deletions
diff --git a/shared/src/main/java/kz/ilotterytea/frogartha/domain/actions/ChangedDirectionAction.java b/shared/src/main/java/kz/ilotterytea/frogartha/domain/actions/ChangedDirectionAction.java
new file mode 100644
index 0000000..b3004ba
--- /dev/null
+++ b/shared/src/main/java/kz/ilotterytea/frogartha/domain/actions/ChangedDirectionAction.java
@@ -0,0 +1,32 @@
+package kz.ilotterytea.frogartha.domain.actions;
+
+import com.badlogic.gdx.math.Vector3;
+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 ChangedDirectionAction implements Transferable<ChangedDirectionAction> {
+ private Vector3 direction;
+
+ public ChangedDirectionAction() {
+ }
+
+ public ChangedDirectionAction(Vector3 direction) {
+ this.direction = direction;
+ }
+
+ public Vector3 getDirection() {
+ return direction;
+ }
+
+ @Override
+ public void serialize(Serializer serializer) throws SerializationException {
+ serializer.serializeFloatArray(new float[]{direction.x, direction.y, direction.z});
+ }
+
+ @Override
+ public ChangedDirectionAction deserialize(Deserializer deserializer) throws SerializationException {
+ return new ChangedDirectionAction(new Vector3(deserializer.deserializeFloatArray()));
+ }
+}
diff --git a/shared/src/main/java/kz/ilotterytea/frogartha/domain/actions/PlayerJumpAction.java b/shared/src/main/java/kz/ilotterytea/frogartha/domain/actions/PlayerJumpAction.java
new file mode 100644
index 0000000..9d150a4
--- /dev/null
+++ b/shared/src/main/java/kz/ilotterytea/frogartha/domain/actions/PlayerJumpAction.java
@@ -0,0 +1,32 @@
+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;
+import kz.ilotterytea.frogartha.FrogarthaConstants;
+
+public class PlayerJumpAction implements Transferable<PlayerJumpAction> {
+ private float jumpStrength;
+
+ public PlayerJumpAction() {
+ }
+
+ public PlayerJumpAction(Float jumpStrength) {
+ this.jumpStrength = Math.min(jumpStrength, FrogarthaConstants.Player.MAX_JUMP_STRENGTH);
+ }
+
+ public float getJumpStrength() {
+ return jumpStrength;
+ }
+
+ @Override
+ public void serialize(Serializer serializer) throws SerializationException {
+ serializer.serializeFloat(jumpStrength);
+ }
+
+ @Override
+ public PlayerJumpAction deserialize(Deserializer deserializer) throws SerializationException {
+ return new PlayerJumpAction(deserializer.deserializeFloat());
+ }
+}