@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
39 lines (30 loc) • 1.15 kB
JavaScript
import { BinaryClassSerializationAdapter } from "../../../ecs/storage/binary/BinaryClassSerializationAdapter.js";
import PathFollower from "./PathFollower.js";
export class PathFollowerSerializationAdapter extends BinaryClassSerializationAdapter {
klass = PathFollower;
version = 4;
/**
*
* @param {BinaryBuffer} buffer
* @param {PathFollower} value
*/
serialize(buffer, value) {
buffer.writeUint16(value.flags);
buffer.writeFloat32(value.speed.getValue());
buffer.writeFloat32(value.rotationSpeed.getValue());
buffer.writeFloat32(value.maxMoveDistance);
buffer.writeFloat32(value.position); // Serialize position
}
/**
*
* @param {BinaryBuffer} buffer
* @param {PathFollower} value
*/
deserialize(buffer, value) {
value.flags = buffer.readUint16();
value.speed.set(buffer.readFloat32());
value.rotationSpeed.set(buffer.readFloat32());
value.maxMoveDistance = buffer.readFloat32();
value.position = buffer.readFloat32(); // Deserialize position
}
}