UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

44 lines (37 loc) 1.11 kB
import { BinaryClassSerializationAdapter } from "../storage/binary/BinaryClassSerializationAdapter.js"; import Team from "./Team.js"; export class TeamSerializationAdapter extends BinaryClassSerializationAdapter { klass = Team; version = 0; /** * * @param {BinaryBuffer} buffer * @param {Team} value */ serialize(buffer, value) { const v = value.getValue(); if (v === Infinity) { buffer.writeInt32(2147483647); } else if (v === -Infinity) { buffer.writeInt32(-2147483648); } else { //TODO it's possible to write encoded Infinity values by accident buffer.writeInt32(v); } } /** * * @param {BinaryBuffer} buffer * @param {Team} value */ deserialize(buffer, value) { const v = buffer.readInt32(); if (v === 2147483647) { value.set(Infinity); } else if (v === -2147483648) { value.set(-Infinity); } else { value.set(v); } } }