diff options
Diffstat (limited to 'shared/src/main/java/kz/ilotterytea/frogartha/events/PlayerJumpEvent.java')
| -rw-r--r-- | shared/src/main/java/kz/ilotterytea/frogartha/events/PlayerJumpEvent.java | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/shared/src/main/java/kz/ilotterytea/frogartha/events/PlayerJumpEvent.java b/shared/src/main/java/kz/ilotterytea/frogartha/events/PlayerJumpEvent.java new file mode 100644 index 0000000..a084555 --- /dev/null +++ b/shared/src/main/java/kz/ilotterytea/frogartha/events/PlayerJumpEvent.java @@ -0,0 +1,58 @@ +package kz.ilotterytea.frogartha.events; + +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 PlayerJumpEvent extends Event implements Transferable<PlayerJumpEvent> { + private Vector3 startPosition, endPosition; + private float jumpStrength; + + public PlayerJumpEvent() { + super(); + } + + public PlayerJumpEvent(Integer playerId, Vector3 startPosition, Vector3 endPosition, Float jumpStrength) { + super(playerId); + this.startPosition = startPosition; + this.endPosition = endPosition; + this.jumpStrength = jumpStrength; + } + + public Vector3 getStartPosition() { + return startPosition; + } + + public Vector3 getEndPosition() { + return endPosition; + } + + public float getJumpStrength() { + return jumpStrength; + } + + @Override + public void serialize(Serializer serializer) throws SerializationException { + serializer + // id + .serializeInt(playerId) + // start position + .serializeFloatArray(new float[]{startPosition.x, startPosition.y, startPosition.z}) + // end position + .serializeFloatArray(new float[]{endPosition.x, endPosition.y, endPosition.z}) + // jump strength + .serializeFloat(jumpStrength); + } + + @Override + public PlayerJumpEvent deserialize(Deserializer deserializer) throws SerializationException { + return new PlayerJumpEvent( + deserializer.deserializeInt(), + new Vector3(deserializer.deserializeFloatArray()), + new Vector3(deserializer.deserializeFloatArray()), + deserializer.deserializeFloat() + ); + } +} |
