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 { 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() ); } }